Le 10 février 2015 21:30, Frédéric Rodrigo <fred.rodr...@gmail.com> a écrit
:

> Le 10/02/2015 19:27, Vincent Frison a écrit :
>
>> Le 7 février 2015 15:59, Frédéric Rodrigo <fred.rodr...@gmail.com
>> Revoici la façon dont fonctionne mon programme qui est vraiment simpliste
>> :
>>
>> 1) Pour chaque immeuble de la base à importer je calcule l'osmId du
>> building correspondant à la position géographique de l'immeuble (grâce à
>> une base PostGIS en local contenant les données OSM de toute la France
>> et avec le schéma osm2pgsql, très rapide puisqu'il y a une indexation
>> spatiale).
>>
>
> Tu n'a pas l'air de t'assurer que c'est le bon bâtiment, non ?


Je ne me base que sur les coordonnées géographiques.. mais à vrai dire je
ne vois sur quoi d'autres je pourrais me baser, éventuellement le nom mais
cet attribut est rarement renseigné dans OSM.. et il ne l'est jamais sous
OpenDataParis ! Par contre dans PSS et OpenDataParis il y a pour chaque
bâtiment les coordonnées du point qui est grosso modo le milieu du
bâtiment. J'ai l'impression que cela suffit, en tout cas j'ai pu récupérer
les bons bâtiments d'OSM.sur les quelques tests que j'ai fait jusqu'à
présent. Sinon pour info il y a aussi dans OpenDataParis la géométrie du
bâtiment, contrairement à PSS qui n'a donc que les coordonnées du centre..

Après il y a aussi la question des "sous-bâtiments" (ceux avec le tag
building:part) et là ça devient un peu plus complexe. Ou le fait que le
découpage des bâtiments d'OpenDataParis par ex. peut-être plus précis que
celui d'OSM (c'est à dire celui du cadastre en gros). Du coup je peux me
retrouver avec plusieurs valeurs de hauteurs/étages pour un même bâtiment
OSM. Mais je lancerai un nouveau sujet pour toutes ces questions, pour
l'instant j'essaye juste de savoir comment faire pour avoir un
environnement de test adéquat.

2) Si un ID de building est trouvé je télécharge l'élément correspondant
>> depuis l'API d'OSM et si le way ne contient pas d'informations sur la
>> hauteur ou sur le nombre d'étages alors je les renseigne (mais si ces
>> données présentes alors je ne fais rien, histoire d'être sûr de ne pas
>> abîmer le travail qu'aurait pu des contributeurs).
>> 3) Je met à jour l'élément dans la foulée, il y a donc très peu de
>> chance d'avoir des accès concurrents puisque le délai entre le read et
>> le write n'est de quelques millisecondes.
>>
>
> Les objets on des versions. Que tu doit renvoyer à l'API. Elle va refuser
> la modification si la version a changé. C'est une façon bien plus efficace
> de faire.


Tout à fait, même que ça s'incrémente tout seul... vive le verrouillage
optimiste ! ;)
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à