Bonjour, J'ai écrit un script matlab qui lit un fichier osm téléchargé sur clc.osm.fr pour le découper (http://clc.openstreetmap.fr/cgi-bin/get-osm.sh%3FFR-73751 par exemple).
Je ne traite pour le moment que l'outer. Les étranglements sont localisés et le way de l'outer est découpé en polygones indépendants. L'outer de l'exemple fait ~40000 nœuds. Il est découpé en 63 sous-polygones dont la majorité fait ~200 nœuds. 3 polygones restent à 1500, 2500 et 3000 nœuds. La répartition est donné en http://cedric.dumez-viou.fr/hist.pdf . Le résultat est visible ici: http://cedric.dumez-viou.fr/FR-73751.pdf Les scripts sont ici http://cedric.dumez-viou.fr/scrips_m.zip La détection et la construction des découpages à effectuer est assez rapide (15-20s). Par contre, le parsing de l'xml/osm est loin d'être parfait (sensible aux ' et " mais celui trouvé sur le forum de mathworks était trop lent) et la soustraction de polygones est aussi lente (2min pour 62 soustractions). C'est grandement expliqué par le fait que c'est moi qui codé les routines sans avoir ce genre d'expérience... Et encore, le polygone présenté est loin d'être parmi les plus grands. Il faut encore que j'exporte le résultat ce qui implique associer les inners aux bons sous-polygones, vérifier qu'ils ne s'intersectent pas et générer un bon fichier osm avec une relation correcte. Les polygones qui restent "gros" doivent être découpés différemment (c'est le cas à la base pour FR-21767 et FR-256837) . Il n'y a plus ou peu d'excroissances connectées par des étranglements. Je pensais joindre judicieusement des inners à l'outer pour diviser le polygone en 2, 4, ... Notez que je n'ajoute pas de nouveaux nœuds. Je souhaite porter le code existant en python pour me libérer un peu de matlab et j'espère que des routines un peu plus optimisées accélèreront la mise au point. Je voulais savoir si vous aviez des modules python à me conseiller et des exemples de code pour manipuler des polygones (découpage, opérations logiques, ...) . J'ai jeté un œil à pyosm.py pour parser un osm/xml mais j'avoue être un peu largué par le format des données retourné... Mais si le nombre de polygones à traiter ne dépassent pas les 7 présents sur http://wiki.openstreetmap.org/wiki/WikiProject_France/Corine_Land_Cover/Op%C3%A9rations_post-import , je peux fignoler mes scripts matlab et simplement mettre les résultats à disposition. Cordialement, Cedric
signature.asc
Description: Ceci est une partie de message numériquement signée
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr