Re: [OSM-talk-fr] MemoryError avec pyosm
julien balas a écrit : Rodolphe Quiedeville wrote: Yann Coupin a écrit : A vue de nez, ça monte le fichier sous forme d’arbre en mémoire. Donc ça peut prendre beaucoup de mémoire si le fichier est gros (le stockage ne doit pas en plus être optimisé pour être compact). Tout ça pour dire qu’à part recoder pyosm pour utiliser un cache disque (pas regardé le code pour savoir la meilleure façon de faire) ou ajouter de la RAM dans ta machine (je pense en même temps que 3Go c’est déjà bien), il n’y a pas vraiment d’autres solution. Il est peut-être temps de te monter un postgresql et d’utiliser osm2pgsql en premier ? Salut, J'ai déjà des pg qui tournent mais je pensais tout de même ne pas avoir besoin d'en arriver là juste pour parser des fichiers xml. Information de pro qui m'intéresse c'est pourquoi osm2pgsql s'en sortirait lui avec de si gros fichiers ? Il doit utiliser un parser SAX plutôt qu'un parseur DOM. Et puis il ne garde pas les infos en mémoire, il sauve les éléments en base au fur et a mesure. J'ai solutionné mon problème en utilisant osm2pgsql, mais juste pour info pyosm utilise aussi un parser SAX ;-) ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] MemoryError avec pyosm
Rodolphe Quiedeville wrote: Yann Coupin a écrit : A vue de nez, ça monte le fichier sous forme d’arbre en mémoire. Donc ça peut prendre beaucoup de mémoire si le fichier est gros (le stockage ne doit pas en plus être optimisé pour être compact). Tout ça pour dire qu’à part recoder pyosm pour utiliser un cache disque (pas regardé le code pour savoir la meilleure façon de faire) ou ajouter de la RAM dans ta machine (je pense en même temps que 3Go c’est déjà bien), il n’y a pas vraiment d’autres solution. Il est peut-être temps de te monter un postgresql et d’utiliser osm2pgsql en premier ? Salut, J'ai déjà des pg qui tournent mais je pensais tout de même ne pas avoir besoin d'en arriver là juste pour parser des fichiers xml. Information de pro qui m'intéresse c'est pourquoi osm2pgsql s'en sortirait lui avec de si gros fichiers ? Il doit utiliser un parser SAX plutôt qu'un parseur DOM. Et puis il ne garde pas les infos en mémoire, il sauve les éléments en base au fur et a mesure. -- JB ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
[OSM-talk-fr] MemoryError avec pyosm
Salut, Sur mon laptop tout de même équipé de 3G de RAM et un peu de swap je n'arrive plus à parser des les fichiers genre bretagne.osm, j'ai systématiquement un MemoryError Traceback (most recent call last): File /usr/lib/python2.5/xml/sax/expatreader.py, line 301, in start_element self._cont_handler.startElement(name, AttributesImpl(attrs)) File /home/rodo/doc/osm/olap/pyosm.py, line 85, in startElement self.curr_way.nodes.append(NodePlaceHolder(id=attrs['ref'])) File /home/rodo/doc/osm/olap/pyosm.py, line 33, in __init__ self.id = id MemoryError Je suis en Debian/Squeeze et la version de python Python 2.5.5 (r255:77872, Apr 21 2010, 08:44:16) [GCC 4.4.3] on linux2 C'est un peu une bouée que je jette à la mer ici, mais si vous aviez des idées de pistes ou chercher. Merci à tous ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] MemoryError avec pyosm
A vue de nez, ça monte le fichier sous forme d’arbre en mémoire. Donc ça peut prendre beaucoup de mémoire si le fichier est gros (le stockage ne doit pas en plus être optimisé pour être compact). Tout ça pour dire qu’à part recoder pyosm pour utiliser un cache disque (pas regardé le code pour savoir la meilleure façon de faire) ou ajouter de la RAM dans ta machine (je pense en même temps que 3Go c’est déjà bien), il n’y a pas vraiment d’autres solution. Il est peut-être temps de te monter un postgresql et d’utiliser osm2pgsql en premier ? Yann Le 28 avr. 2010 à 22:04, Rodolphe Quiedeville a écrit : Salut, Sur mon laptop tout de même équipé de 3G de RAM et un peu de swap je n'arrive plus à parser des les fichiers genre bretagne.osm, j'ai systématiquement un MemoryError Traceback (most recent call last): File /usr/lib/python2.5/xml/sax/expatreader.py, line 301, in start_element self._cont_handler.startElement(name, AttributesImpl(attrs)) File /home/rodo/doc/osm/olap/pyosm.py, line 85, in startElement self.curr_way.nodes.append(NodePlaceHolder(id=attrs['ref'])) File /home/rodo/doc/osm/olap/pyosm.py, line 33, in __init__ self.id = id MemoryError Je suis en Debian/Squeeze et la version de python Python 2.5.5 (r255:77872, Apr 21 2010, 08:44:16) [GCC 4.4.3] on linux2 C'est un peu une bouée que je jette à la mer ici, mais si vous aviez des idées de pistes ou chercher. Merci à tous ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr