PostGIS 2 : Altitude moyenne des communes de l'Hérault

Comment calculer l'altitude moyenne des communes héraultaises ?

Données utilisées

  • l'altitude mondiale fournie par WorldClim : http://biogeo.ucdavis.edu/data/climate/worldclim/1_4/grid/cur/alt_30s_bil.zip
  • la couche vecteur des communes de l'IGN (geofla) : http://professionnels.ign.fr/geofla

Outils utilisés

Quantum Gis et GdalTools

→pour le découpage du ratser mondial :

 gdal_translate -projwin -5.27 51.50 9.84 41.26 -of GTiff ~/Documents/tp_postgis_raster/alt_30s_bil/alt.bil ~/Documents/tp_postgis_raster/alt_fr

PostGIS 2

→chargement du raster dans postgis

 /usr/pgsql-9.2/bin/raster2pgsql -s 4326 -t 5x5 -I ~/Documents/tp_postgis_raster/alt_fr.tif alt_5x5|psql -h localhost -U dba fmin206

→chargement du shape des communes dans postgis

 shp2pgsql -d -s 2154 -g the_geom -W LATIN1 -I ~/Documents/tp_postgis_raster/GEOFLA/COMMUNE.SHP communes|psql -h localhost -U dba fmin206

Requête finale

 WITH altitudes AS (SELECT insee_com, nom_comm, (ST_intersection(rast, st_transform(the_geom, 4326))).val::INTEGER AS altitude FROM alt_5x5, communes WHERE ST_Intersects(st_transform(the_geom, 4326), rast) AND insee_com LIKE '34%') SELECT insee_com, nom_comm, avg(altitude) AS altitude_moyenne FROM altitudes GROUP BY insee_com, nom_comm

Tags: 

Les contenus des sites sig.cenlr.org et si.cenlr.org sont mis à disposition selon
les termes de la licence Creative Commons Attribution 3.0 France

Licence Creative Commons