Le 31/03/10 17:16, sly (sylvain letuffe) a écrit :
> 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
>
>

Peux tu faire un essai avec la commune de "Saint Christol les Alès" 
30380 ? D'après un de leurs techniciens, on est dans les 80 km

Merci

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

Répondre à