[OSM-talk-fr] MemoryError avec pyosm

Yann Coupin yann at coupin.net
Mer 28 Avr 20:27:18 UTC 2010


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 at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-fr
> 





Plus d'informations sur la liste de diffusion Talk-fr