Re: [OSM-talk-fr] {Spam?} Re: outils pour tra iter les CLC non importés (fusion/découpage)
Le vendredi 19 février 2010 à 01:58 +0100, Christophe Merlet (RedFox) a écrit : 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. Est-ce que Octave (alternative libre à matlab) est capable de faire ce que tu as fait avec matlab ? Je vais vérifier le code mais je ne pense utiliser aucune fonction très spécifique à matlab à part pour faire des affichages. Les fonctions de parsing et de traitement sont faites à la main. Ça pourrait être du C ou du python mais comme j'utilise matlab tous les jours au boulot, j'y suis juste plus habitué. J'essaye de faire tourner les scripts sous Octave3.2 . 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
[OSM-talk-fr] {Spam?} Re: outils pour tra iter les CLC non importés (fusion/découpage)
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 ~4 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
Re: [OSM-talk-fr] {Spam?} Re: outils pour tra iter les CLC non importés (fusion/découpage)
Le jeudi 18 février 2010 à 21:50 +0100, Cedric Dumez-Viou a écrit : 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). whaouu, matlab sait faire ça ??!! 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. Est-ce que Octave (alternative libre à matlab) est capable de faire ce que tu as fait avec matlab ? 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, \o/ J'ai hâte de voir le résultat \o/ Librement, -- Christophe Merlet (RedFox) 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
[OSM-talk-fr] {Spam?} Re: outils pour tra iter les CLC non importés (fusion/découpage)
Bonjour, Je me suis remis cette semaine à regarder l'utilisation de acd2d_gui (http://masc.cs.gmu.edu/wiki/ACD , http://masc.cs.gmu.edu/wiki/acd2d_binary_version_0.5.tar.bz2), un soft qui implémente des travaux sur la décomposition de polygones. J'arrive à découper correctement des polygones simples mais j'ai des plantages sur des polygones issus de CLC. J'ai contacté l'auteur pour avoir accès aux sources (qui se vante d'être GNU GPL) mais silence radio... Difficile de débugger et d'exporter le résultat... Même si cette méthode marchait, elle a pour inconvénient de supprimer les inners pour les remplacer par un bout d'outer qui fait un aller-retour jusqu'au trou (comme décrit dans http://wiki.openstreetmap.org/wiki/FR:Elements fin de la section Zone (Area)). J'ai aussi tenté de chercher la position des étranglements sur l'outer mais il y a tellement de faux positifs que ce n'est pas trop utilisable tel quel. Si il y a des gens intéressés à travailler ce sujet, je suis partant. Ça me changera des imports de communes... Cedric Le samedi 06 février 2010 à 20:10 +0100, Bohlmann a écrit : Bonjour, quelqu'un as-il (ou elle) trouvé(e) une solution pour découper les énormes polygones non importés? ce serait vraiment dommage de les laisser traîner sans les utiliser. manuellement, je n'ai pas réussi de les découper dans les étranglements avec JOSM. J'ai trop de problèmes avec les inner/outer. cantece 2009/11/4 ..cant...@web.de Salut, j'ai jeté un coup d'oeil au polygones énormes: * FR-96080 * FR-73751 * FR-6749 * FR-246825 * FR-202617 * FR-21767 * ... Est-il possible de les découper en petits morceaux? Ceci faciliterait l'import. Ces polygones complexes ont des endroits avec un étrangelement de la surface donne une marque pour une coupure. Ce découpage ne ferait pas seulement des polygones plus petits, mais aussi plus facilement attribuables.Éventuellement certains des composants pourrait etres importés automatiquement, car le critère de rejet (recouvrement) ne les toucherait plus. Mais: comment faire un découpage/partage automatique? Comment trouver les goulet/étranglement qui facilitent la découpe? Peut on utiliser des limites administratives ou des routes croiseantes pour découper? Découper automatiquement est relativement facile si tu fais un damier. Trouver un goulet/un étranglement qui facilite la découpe, ça devient beaucoup beaucoup plus dire. Utiliser des limites administratives pour couper est très facile. Utiliser une route sera dur car il faut être sur que la route traverse entièrement le polygone. Ça implique alors de fusionner les différents ways qui font partie de cette route, ce qui est déjà beaucoup moins simple. ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr 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