[OSM-talk-fr] Du bitume au kilomètre
Etienne Chové
chove at crans.org
Mer 16 Déc 15:23:32 UTC 2009
Emilie Laffray a écrit :
>
>
> 2009/12/16 Etienne Chové <chove at crans.org <mailto:chove at crans.org>>
>
> Le 16/12/2009 14:53, Emilie Laffray a écrit :
> > ST_Length ne retourne que des valeurs dans l'unite de la
> projection sauf
> > si tu precises un spheroid. A noter qu'il faut Postgis 1.5 (en
> cours de
> > development) pour avoir le support geodesique.
> >
> http://postgis.refractions.net/documentation/manual-svn/ST_Length.html
> > pour la version sur svn
> >
> > Documentation actuelle.
> > http://postgis.refractions.net/documentation/manual-1.3/ch06.html
> > ST_Length_spheroid
> >
> > Si tu veux une distance en metres, il me semble que tu dois pouvoir
> > faire une projection dans une zone UTM. Si tu fais la
> retroprojection a
> > chaque calcul ca va etre tres lent evidemment
> > http://trac.osgeo.org/postgis/wiki/UsersWikiNewbieMeasurementInMeters
>
> Si je copie cette doc pour la projection UTM, ça donne :
>
> SELECT route.highway,
> floor(
> sum(
> st_length(
> st_transform(
> st_intersection(zone.way, route.way),
> 2163
> )
> )
> )
> ) AS distance
> FROM
> (SELECT highway, way FROM france_line WHERE highway<>'') AS route,
> (SELECT way FROM france_polygon WHERE name='Nantes') AS zone
> WHERE
> zone.way && route.way AND
> st_intersects(zone.way, route.way)
> GROUP BY
> route.highway;
>
>
> 2163 est une zone pour les USA. Ça ne marchera pas pour Nantes. Tu es
> obligée d'utiliser la fonction que tu trouves sur la page suivante:
> http://trac.osgeo.org/postgis/wiki/UsersWikiplpgsqlfunctionsDistance
>
> Sinon ça ne marchera pas. Tu obtiendras une valeur erronée. La zone UTM
> depend de l'endroit ou se trouve la géométrie. Une zone UTM ne couvre
> que 6 degrés, et donc ca implique qu'il y a des "déformations" vers les
> bords de la zone. C'est problématique pour les objets qui sont très
> longs. Seul un vrai support géodésique résoudra ce problème. Ce support
> géodésique va venir avec Postgis 1.5 mais ce n'est pas encore tout a
> fait la.
Bon alors, wait and see.
--
Etienne
Plus d'informations sur la liste de diffusion Talk-fr