[OSM-dev-fr] Re : [info - LibOsm] Etat d'avancement de "ma" libosm (C++)
Marc Sibert
marc at sibert.fr
Lun 13 Sep 23:07:17 BST 2010
Le 13/09/2010 18:30, THEVENON Julien a écrit :
> Bonjour,
>
> >>>> *De :* Marc SIBERT <marc at sibert.fr>
> **
> >>>> Bonjour,
>
> >>>> Certains le savent peut-être, je développe à temps perdu une
> librairie d'objets (C++) permettant de manipuler les éléments de OSM
> V0.6. Cela inclus en particulier un parser XML pour les fichiers OSM,
> et OSM DIFF, et une interface vers une base de données SQLite3 /
> Spatialite.
>
> En jetant un coup d oeuil sur ton github il ne me semble avoir vu que
> du code source.
> est ce que t as un document un peu general qui explique qu elle est la
> structure de ta table SQLite ? ou alors tu as directement repris le
> schema .xml et un type d objet donne une table dont chaque colonne
> correspond a un champ ?
Effectivement, je n'ai décrit le modèle des données. Je suis parti du
modèle théorique de la base Postgresql originale :
http://wiki.openstreetmap.org/wiki/Database_schema
où j'ai conservé uniquement les tables "current", à savoir :
Changesets, Nodes, Ways, Way_nodes, Relations et Relation_Members
De plus, j'ai "factorisé" les tags : j'ai une table unique Tag (id, key,
value) puis des tables intermédiaires Node/Tags, Way/Tags, Relation/Tags
et Changeset/Tags. J'ai aussi sorti les noms d'utilisateurs et conservé
uniquement les UID dans les tables. J'ai alors une table d'utilisateurs.
>
> >>>> Après une semaine de parsing, j'ai analysé et stocké dans une BDD
> un planet complet et depuis je joue des diffs pour arriver à un
> répliqua local à J-1 (voir moins car je parse aussi les hourly-diff et
> pourquoi pas les minutes, mais cela n'est pas encore testé ni
> automatisé). Cela tourne sur un "simple" PC de bureau Core i5 / 3.2
> GHz avec 1 DD standard de 1 To (le goulot d'étranglement, c'est le DD).
>
> Donc si je comprends bien le parsing prend une semaine mais pour la
> suite as tu une estimation de la vitesse de traitement sur les diffs ?
> les diffs d une journee mettent combien de temps a etre traites ?
> pour ce qui est de la performance tu envoies les transactions une par
> une ou tu fais des "bursts" ? ( je me rappelle plus le terme exact de
> SQLite )
Les daily diff prennent environ 1h a être intégrés (ça dépend de leurs
taille).
>
> >>>> Le code est disponible en licence LGPL sur GitHub
> (http://github.com/Marcussacapuces91/LibOsm). Il a été développé sur
> plateforme WinTel avec l'environnement Code-Blocks
> (http://www.codeblocks.org/) et compilé avec GCC. Ce code est
> normalement portable sur d'autres plateforme (ouverte par exemple).
>
>
> >>>> Pour rappel, Spatialite offre des fonctionnalités de reprojection
> et de manipulations spatiales grâce aux librairies Proj4 et Geos qui
> sont liées.
>
> >>>> To do : ajouter une interface vers les API OSM (normale & étendue)
> live qui permette des manipulations directes sur la base mondiale.
>
> Julien
>
--
Marc Sibert
marc at sibert.fr
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/dev-fr/attachments/20100914/504c5962/attachment.html>
More information about the dev-fr
mailing list