Pour ceux que ça intéresse...

Le fichier pour Étienne : http://arduinodezero.hautetfort.com/files/results.zip

Pour information... Ca peux vous donner des ordres d'idées sur les données et vous aider à préparer des programmes, ...

Donc j'ai relancé une extraction depuis le fichier France disponible aujourd'hui sur Geofabrik ici : http://download.geofabrik.de/osm/europe/ . Dézippé le fichier France.osm fait 8 095 744 000 octets (les Go varient selon les systèmes).

Sur ma machine d'hypermarché à 180€ (Athlon 64 x2 5000+ 2,6 GHz), en temps de traitements ça donne :

* PREFILTER and SPLIT - computed in 0:6:33 *
> 6m33 pour filtrer et séparer les nodes/ways/relations
en trois fichiers à partir du fichier source France de 8 Go.
> L'application dans son ensemble utilise 7Mo de mémoire.


* EXTRACT NOT TAGGED NODES - start at 02:16:32 *
17339081 not tagged nodes collected.
* EXTRACT NOT TAGGED NODES - computed in 0:1:37 *

> 1m37 pour extraire du fichier nodes filtrés (2 Go) les noeuds sans tags.
>
Utilise 7Mo de mémoire.
> j'obtiens 17 339 081 nodes sans tags dans un fichier qui pèse moins d'1 Go


* LOAD UID NODES'S LIST IN MEMORY - start at 02:18:09 *
17339081 uid loaded.
* LOAD UID NODES'S LIST IN MEMORY - computed in 0:0:34 *

> 34 secondes pour charger cette liste en mémoire triée et indexées sur les n° de ligne
> Il y a
17 339 081 de noeuds sans tags significatifs en France
> Utilise maintenant environ 150 Mo de mémoire

* LOAD UID WAYS'S NODES LIST IN MEMORY - computed in 0:2:20 *

> 2m20 pour charger en mémoire la liste triée des UID des nodes référencés dans le fichier ways qui pèse environ 1,3 Go
> on monte à 1,12 Go de mémoire utilisée c'est le max ensuite ça descend trop vite pour que je note


* SUPRESS NODES REFERENCED BY WAYS - computed in 0:1:48 *
> 1m48 pour supprimer de la liste des noeuds vierges ceux référencés par des ways
> à la fin il ne reste que
6 936 noeuds vierges en liste

* LOAD UID RELATIONS'S NODES LIST IN MEMORY - computed in 0:0:1 *
> 1 seconde pour charger en mémoire la liste des noeuds référencés par des relations
> il ne doit pas il y en avoir beaucoup... et le fichier ne pèse "que" 54 Mo
> ou j'ai une erreur dans le code :)

* SUPRESS NODES REFERENCED BY RELATIONS - start at 02:22:54 *
6865 now in nodes list.
* SUPRESS NODES REFERENCED BY RELATIONS - computed in 0:0:0 *

> moins d'une seconde pour enlever de la liste des noeuds vierges ceux référencés par des relations
> à l'issue du traitement il reste 6 865 noeuds "orphelins"
> la suppression de l'import Roman à bien enlevé environ 35 000 noeuds orphelins.


* XML RESULTS EXPORT - computed in 0:0:10 *
> 10 secondes pour à partir des 6 865 uid des nodes constituer le fichier d'export au format pratique pour Etienne. C'est à dire aller retrouver les informations lat et lon des noeuds, à partir de leur UIDs, dans le fichier xml des 17 millions de noeuds vierges.
> je l'ai mis pour vous donner une idée des pbs... Au départ j'avais traité le pb comme je fais d'habitude en 1/4 d'heure. Mais au bout de 2 heures, l'export n'en était qu'au tiers pour 7 000 noeuds ! Une astuce et ça passe à 10 secondes.


Il faut, au total, à l'application : 13m03s pour obtenir la liste dans les conditions évoquées. Sachant que la partie filtrage et partage qui consomme à elle seule la moitiée du temps n'est pas nécessairement à répéter pour chaque traitement.

Pour ma part je pense qu'il est souvent inutile de se trainer l'ensemble des tags pour tous les éléments, je réduis les noeuds à uid/lat/lon considérant que je peux retrouver l'info complète par la suite. A ce propos j'émets l'hypothèse que ce filtrage et séparation en fichier des éléments permet de travailler mieux et plus vite (même en restant ou surtout en restant en XML) et que même pour l'import en base on y gagne au final. Mais voilà ni Julien ni moi même n'avons fait l'essai avec une base. Ca reste donc théorique ! Si quelqu'un à des élément à ce sujet... nous sommes preneurs. Ensuite, je verrai à convertir le fichier noeuds en binaire pour attaquer ce genre de traitement sur un planet mais déjà ça fonctionne aux dimensions de la France.

Benoît R.




_______________________________________________
Talk-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à