[OSM-dev-fr] [SQL] calcul de surface

sly (sylvain letuffe) sylvain at letuffe.org
Mer 6 Oct 15:35:14 BST 2010


On mercredi 6 octobre 2010, Vincent Pottier wrote:
> Bonjour,
> 
> Pour calculer la surface couverte en landuse, j'utilise :
> 
> SELECT count(*), SUM(ST_area( way)) AS area
> FROM france_polygon
> WHERE landuse LIKE '%'
> 
> Ce qui donne :
> 205217    44.5064532891517
> 
> Mais je n'ai aucune idée de l'unité du résultat. 

Vu la valeur, je parierais pour des degrés carrés, donc pas vraiment d'unité.
pour le confirmer il faut trouver le SRID de la géométrie way
select srid(way) from france_polygon limit 1;

Ce que je fais d'habitude, j'utilise :st_transform(way,2154) à la place de way
(2154 -> srid d'une projection en Lambert je sais plus laquelle qui fait qu'en 
france ça colle assez précisément)

Devient complètement faux en antarctique

> De même :
> SELECT osm_id, name, ROUND(ST_area( way))/1000000 AS area
> FROM france_polygon
> WHERE admin_level='2'
> 
> me retourne systématiquement 0 pour les surfaces. 

T'es sûr que tu as quelque chose dans ta base ?
select count(*) from france_polygon where admin_level='2' ?




-- 
sly





More information about the dev-fr mailing list