Emilie Laffray a écrit : > > > 2009/12/16 Etienne Chové <ch...@crans.org <mailto:ch...@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 _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr