[OSGeo-qc] Fwd: [postgis-users] Raster/vector intersections with PostGIS WKT Raster

Yves Moisan yves.moisan at boreal-is.com
Mar 29 Juin 15:06:53 EDT 2010

Bonjour Liste,

Désolé de faire du X-posting délibéré, mais cette annonce est trop 
importante pour la passer sous silence :

  *** le département de foresterie de l'Université Laval met du code 
dans PostGIS !!! ***

Mille bravos à Pierre Racine (que j'ai temporairement pris pour un autre 
Racine qui était au département de géographie de Laval lorsque j'y étais 
...) pour avoir convaincu ses collègues d'embarquer dans la déferlante 
collaborative qui se prépare !!!

Reste à embarquer les autres départements et universités ;-)


-------- Message original --------
Sujet: 	[postgis-users] Raster/vector intersections with PostGIS WKT Raster
Date : 	Tue, 29 Jun 2010 11:29:56 -0400
De : 	Pierre Racine <Pierre.Racine at sbf.ulaval.ca>
Répondre à : 	PostGIS Users Discussion 
<postgis-users at postgis.refractions.net>
Pour : 	PostGIS Users Discussion <postgis-users at postgis.refractions.net>

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.


Pierre Racine

postgis-users mailing list
postgis-users at postgis.refractions.net

-------------- section suivante --------------
Une pièce jointe HTML a été enlevée...
URL: http://lists.osgeo.org/pipermail/quebec/attachments/20100629/a2fb817a/attachment.html

Plus d'informations sur la liste de diffusion Quebec