Re: [OSM-talk-fr] {Spam?} Re: outils pour tra iter les CLC non importés (fusion/découpage)

2010-02-19 Par sujet Cedric Dumez-Viou
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)

2010-02-18 Par sujet Cedric Dumez-Viou
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)

2010-02-18 Par sujet Christophe Merlet (RedFox)
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)

2010-02-06 Par sujet Cedric Dumez-Viou
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