On mercredi 31 mars 2010, ubu...@kagou.fr wrote:
> Bonjour :)
> 
> Est il possible de calculer le nombre de kilomètres de routes/chemins d'une
> commune ? 

Ma démarche va être pragmatique, Émilie cherche peut-être une précision en 
centimètres et cherche donc les super plugins top moumoute, mais ce que je 
vais faire, c'est juste un test tout con. Je suis pas convaincu que ce que je 
fais soit juste (même plutôt non !), mais je fais mon test sur une rue que je 
connais bien, je compare à une mesure faite sur google earth par exemple et 
si ça semble pas trop pourri, c'est que ça doit être pas trop mal pour le 
besoin exprimé :

C'est parti :

- mesure sur google earth de la rue test : "Rue du Chardonet" 148m (de milieu 
de route à milieu de route)

- p'tit coup d'oeil à la doc postgis, on m'informe de st_length( )
clair, ça ne doit pas tenir compte bien fort de la rotondité de la terre, mais 
pour une commune, ça devrait aller

- J'ai une base avec des coordonnées en merkator

- je tente un coup, erreur d'un facteur 2, bon, ça doit pas le faire pour 
conserver les distances

- prenons un truc de français, la projection lambert, j'ai ça dans ma table 
des projections : "RGF93 / Lambert-93" (srid 2154)

- on tente (elle est en deux morceaux dans osm) :
# select st_length(st_transform(way,2154)),name,osm_id from planet_osm_line 
where osm_id=21818269 or osm_id=37417102;
    st_length     |       name       |  osm_id
------------------+------------------+----------
 60.0128023671594 | Rue du Chardonet | 21818269
  88.936417938514 | Rue du Chardonet | 37417102

putain con ! j'ai pas fais exprès : 149m, on va pas se plaindre ;-)

Y'a pu qu'a :

# select 
sum(st_length(st_transform(rues.way,2154)))/1000 as longueur_totale,
commune.name 
from 
planet_osm_line as rues, planet_osm_polygon as commune 
where 
rues.highway is not null and rues.way && commune.way 
and ST_Contains(commune.way, rues.way) 
and commune.osm_id=-74386 group by commune.name;
 longueur_totale  |   name
------------------+----------
 213.543132378272 | Chambéry
(1 row)

213km pour la commune de chambéry

Pas de doute, il doit m'en manquer parce que certaines rue sont à cheval, des 
nationale ne font que traverser, ma technique doit être approximative, mais 
ça flaire la bonne approximation

Si quelqu'un veut me donner l'id osm pour tester une rue qu'il a mesuré, on 
peut voir déjà si les résultats on un semblant de cohérence


-- 
sly
Sylvain Letuffe sylv...@letuffe.org
qui suis-je : http://slyserv.dyndns.org




_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à