<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Pour ceux que ça intéresse...<br>
<br>
Le fichier pour Étienne : <a
 href="http://arduinodezero.hautetfort.com/files/results.zip">http://arduinodezero.hautetfort.com/files/results.zip<br>
</a><br>
Pour information... Ca peux vous donner des ordres d'idées sur les
données et vous aider à préparer des programmes, ...<br>
<br>
Donc j'ai relancé une extraction depuis le fichier France disponible
aujourd'hui sur Geofabrik ici : <a
 href="http://download.geofabrik.de/osm/europe/">http://download.geofabrik.de/osm/europe/</a>
. Dézippé le fichier France.osm fait 8 095 744 000 octets (les Go
varient selon les systèmes).<br>
<br>
Sur ma machine d'hypermarché à 180€ (Athlon 64 x2 5000+ 2,6 GHz), en
temps de traitements ça donne :<br>
<br>
<big><tt><small><font color="#990000">* PREFILTER and SPLIT - computed
in 0:6:33 *</font><br>
</small></tt><small>> 6m33 pour filtrer et séparer les
nodes/ways/relations<br>
en trois fichiers à partir du fichier source France de 8 Go.<br>
> L'application dans son ensemble utilise 7Mo de mémoire.</small><tt><small><br>
<br>
<font color="#990000">* EXTRACT NOT TAGGED NODES - start at 02:16:32 *<br>
17339081 not tagged nodes collected.<br>
* EXTRACT NOT TAGGED NODES - computed in 0:1:37 *</font><br>
</small></tt><small>> 1m37 pour extraire du fichier nodes filtrés (2
Go) les noeuds sans tags.<br>
> </small></big><big><small>Utilise 7Mo de mémoire.<br>
> j'obtiens 17 339 081 nodes sans tags dans un fichier qui pèse
moins d'1 Go</small><tt><small><br>
</small></tt></big><big><tt><small><font color="#990000"><br>
* LOAD UID NODES'S LIST IN MEMORY - start at 02:18:09 *<br>
17339081 uid loaded.<br>
* LOAD UID NODES'S LIST IN MEMORY - computed in 0:0:34 *</font><br>
</small></tt><small>> 34 secondes pour charger cette liste en
mémoire triée et indexées sur les n° de ligne<br>
> Il y a </small></big><big><small>17 339 081 de noeuds sans tags
significatifs en France</small></big><br>
<big><small>> Utilise maintenant environ 150 Mo de mémoire</small><tt><small><br>
<font color="#990000"><br>
* LOAD UID WAYS'S NODES LIST IN MEMORY - computed in 0:2:20 *</font><br>
</small></tt><small>> 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 <br>
> on monte à 1,12 Go de mémoire utilisée c'est le max ensuite ça
descend trop vite pour que je note</small><tt><small><br>
</small></tt></big><big><tt><small><br>
<font color="#990000">* SUPRESS NODES REFERENCED BY WAYS - computed in
0:1:48 *</font><br>
</small></tt><small>> 1m48 pour supprimer de la liste des noeuds
vierges ceux référencés par des ways<br>
> à la fin il ne reste que </small></big><big><small>6 936 noeuds
vierges en liste</small><tt><small><br>
</small></tt></big><big><tt><small><br>
<font color="#990000">* LOAD UID RELATIONS'S NODES LIST IN MEMORY -
computed in 0:0:1 *</font><br>
</small></tt><small>> 1 seconde pour charger en mémoire la liste des
noeuds référencés par des relations<br>
> il ne doit pas il y en avoir beaucoup... et le fichier ne pèse
"que" 54 Mo<br>
> ou j'ai une erreur dans le code :)<br>
</small><tt><small><br>
<font color="#990000">* SUPRESS NODES REFERENCED BY RELATIONS - start
at 02:22:54 *<br>
6865 now in nodes list.<br>
* SUPRESS NODES REFERENCED BY RELATIONS - computed in 0:0:0 *</font><br>
</small></tt><small>> moins d'une seconde pour enlever de la liste
des noeuds vierges ceux référencés par des relations<br>
> à l'issue du traitement il reste 6 865 noeuds "orphelins"<br>
> la suppression de l'import Roman à bien enlevé environ 35 000
noeuds orphelins.</small><tt><small><br>
<br>
<font color="#990000">* XML RESULTS EXPORT - computed in 0:0:10 *</font><br>
</small></tt><small>> 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.<br>
> 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.</small><tt><small><br>
</small></tt></big><br>
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.<br>
<br>
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.<br>
<br>
Benoît R.<br>
<br>
<br>
<br>
<br>
</body>
</html>