Hi everybody,

I'm pleased to announce that you can now do intersections between rasters and 
geometries very much like you used to do geometry/geometry intersections in 
PostGIS. For this, PostGIS WKT Raster introduces two new functions to PostGIS: 
ST_Intersects(geometry, raster, band) and ST_Intersection(geometry, raster, 
band).

As its geometry/geometry sister, ST_Intersects(geometry, raster, band) returns 
TRUE if the withvalue area of a raster or a raster tile (nodata value are 
ignored) intersects a geometry and ST_Intersection(geometry, raster, band) 
returns the geometry/value set of geometries representing the intersection 
between the geometry and each polygonized group of pixel sharing a same value 
from the raster and its associated value. Example:

SELECT polyid,
       (ST_Intersection(the_geom, rast)).geom,
       (ST_Intersection(the_geom, rast)).val
FROM my_polygons, srtm_tiled
WHERE ST_Intersects(rast, the_geom)

or, a bit more complex, but much faster and returning the same result:

SELECT polyid, (gv).geom, (gv).val
FROM (SELECT polyid, ST_Intersection(the_geom, rast, 1) AS gv
     FROM my_polygons, srtm_tiled
     WHERE ST_Intersects(rast, the_geom)) foo

These functions works with any kind of geometry so you can intersect any road, 
river, polygons or point layer with your favorite elevation or land cover 
raster of any resolution and any size. You can also load any number of raster 
in the database with one command line to constitute a unique table raster 
coverage of any shape (no matter if your group of raster do not form a 
rectangular coverage).

You will find a complete tutorial on how to use those two new functions here: 
http://trac.osgeo.org/postgis/wiki/WKTRasterTutorial01. A reference is 
available here: 
http://postgis.refractions.net/documentation/manual-svn/RT_reference.html and 
chapter 13 of "PostGIS in Action" is also a very good introduction to WKT 
Raster.

Compilation and installation info are available in the project home page: 
http://trac.osgeo.org/postgis/wiki/WKTRaster

These features are the result of two years of collaboration between many people 
and companies interested in bringing raster into PostGIS. I would like to 
thanks particularly Steve Cumming who initially made all this possible, Sandro 
Santilli who wrote the base code, Mateusz Loskot who wrote the Python loader, 
Jorge Arevalo who wrote the GDAL driver and ST_DumpAsPolygons(), Regina and Leo 
Obe who are doing so many things and believed in the project from the beginning 
by adding a chapter about WKT Raster in "PostGIS in Action" and also David 
Zwarg who wrote most of the setter functions.

This is the first step toward a first complete raster/vector analysis and 
manipulation SQL API. We hope to make of PostGIS with WKT Raster the most 
powerful and complete GIS analysis and manipulation high level language ever 
(!!!). WKT Raster should normally be totally integrated into PostGIS in PostGIS 
release 2.0. Upcoming functions should include ST_Reclass, ST_Clip, 
ST_AsRaster, ST_Resample.

Let us know your need and your experience with WKT Raster.

Thanks,

Pierre Racine

_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to