Suite

Osm2pgsql Façons d'importer très lentement dans .pbf, beaucoup plus lentement que .osm

Osm2pgsql Façons d'importer très lentement dans .pbf, beaucoup plus lentement que .osm


J'importe actuellement le fichier planet-latest.osm.pbf que j'ai téléchargé depuis ftp://ftp.spline.de/pub/openstreetmap/pbf/planet-latest.osm.pbf la semaine dernière. Je l'importe à l'aide de la commande suivante :

nohup osm2pgsql -l -U gis -c -v -r pbf --unlogged --drop -s data/planet-latest.osm.pbf &

Mon problème est que les moyens sont importés très lentement et en fonction de la vitesse actuelle (0,04k/s) et des statistiques OSM, il faudra 86 jours pour tous les importer. En revanche, les nœuds importés à 151,3k/s. Même si j'attendais 86 jours pour les moyens d'importer (je ne le ferai pas), je devrais alors importer les relations et passer tout le post-traitement.

J'ai récemment importé un autre fichier de planète dans.osmformat en utilisant les mêmes arguments de ligne de commande et, bien qu'il ait finalement échoué en raison d'une erreur d'analyse, il se déplaçait à un beaucoup vitesse plus rapide.

D'après ce que je peux voir dans les documents, j'ai fait tout mon possible pour améliorer la vitesse d'importation.

Quelqu'un peut-il me dire pourquoi l'importation du format .pbf se déplace beaucoup plus lentement que le format .osm ?

J'utilise PostGIS 9.4 et osm2pgsql 0.88.1. Les disques sont sur un SAN rapide, la machine a un seul processeur Intel Xeon @ 2,67 GHz et 4 Go de mémoire. Le système d'exploitation est le serveur Ubuntu 14.04.


J'essaye de vim /etc/postgresql/9.3/main/postgresql.conf

shared_buffer=4GB work_men=521M maintenance_work_mem = 4GB checkpoint_segment=20 autovacuum=off effective_cache=16GB

La vitesse du nœud est de 1,3k


La seule façon d'importer avec succès était d'augmenter l'espace disque (à 1 To) et d'utiliser la commande suivante

osm2pgsql -l -U gis -c -r pbf -v -C 30000 --slim --drop --unlogged planet-latest.osm.pbf


J'ai un ordinateur, la machine a un seul processeur Intel Xeon @ 2,39 GHz (16 cpus) et 64 Go de mémoire. Le système d'exploitation est le serveur Ubuntu 14.04. mais j'utilise la commande suivante :

osm2pgsql -a -s -C 4096 --number-processes 16 -S vector-datasource/osm2pgsql.style -j europe/south-america-latest.osm.pbf -d osm -H localhost

osm2pgsql version 0.91.0-dev (espace d'identification 64 bits)

Utilisation du pipeline de traitement des balises intégré Utilisation de la projection SRS 3857 (Mercator sphérique) Configuration de la table : planet_osm_point Configuration de la table : planet_osm_line Configuration de la table : planet_osm_polygon Configuration de la table : planet_osm_roads Allocation de mémoire pour le cache de nœuds dense memory for sparse node cache Partage dense sparse Node-cache : cache=4096MB, maxblocks=65536*65536, allocation method=11 Mid : pgsql, scale=100 cache=4096 Configuration de la table : planet_osm_nodes Configuration de la table : planet_osm_ways Configuration de la table : planet_osm_rels

Lecture dans le fichier : europe/south-america-latest.osm.pbf Utilisation de l'analyseur PBF. Traitement : nœud(1220k 1.3k/s) Voie(0k 0.00k/s) Relation(0 0.00/s)

La vitesse est de 1,3


Voir la vidéo: OpenStreetMap + PostgreSQLHow to load OpenStreetMap data into a PostgreSQL Database