[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