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
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev