Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !

10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …

Faire un don 

Retrouver nos membres bienfaiteurs

#1 Tue 16 July 2019 18:43

Hopla
Juste Inscrit !
Date d'inscription: 16 Jul 2019
Messages: 2

Import OSM - osm2pgsql

Bonjour,

Je tente d'importer des données OSM dans une base PostgreSQL/PostGIS mais je rencontre quelques difficultés ...
J'ai bien entendu lu les autres post du forum à ce propos, et farfouillé sur le net à la recherche d'une solution. Mais rien de bien probant pour le moment.

Je suis sur Ubuntu (18.04), j'utilise la dernière version de PostgreSQL (11) ainsi que PostGIS (2.5) et la version 0.94.0 de osm2pgsql.
Le fichier OSM (monfichier.osm.pbf) vient de Geofabrik (téléchargement la semaine dernière) et fait 300Mo.
Le pc que j'utilise à une config largement suffisante pour supporter cet import, pas de problème provenant de là.

Concernant la manière de procéder :

Code:

sudo su postgres

puis

Code:

osm2pgsql -c -d osm -U postgres -W -H localhost -P 5432 /Documents/osm/monfichier.osm.pbf

Lorsque je lance la commande précédente, le password de postgres est demandé, jusque là tout est normal.
Puis je rencontre le message d'erreur suivant :

Code:

osm2pgsql version 0.94.0 (64 bit id space)

Password:
Using built-in tag processing pipeline
Using projection SRS 3857 (Spherical Mercator)
Setting up table: planet_osm_point
Setting up table: planet_osm_line
Setting up table: planet_osm_polygon
Setting up table: planet_osm_roads
Allocating memory for dense node cache
Allocating dense node cache in one big chunk
Allocating memory for sparse node cache
Sharing dense sparse
Node-cache: cache=800MB, maxblocks=12800*65536, allocation method=3

Reading in file: /Documents/osm/monfichier.osm.pbf
Using PBF parser.
node cache: stored: 0(-nan%), storage efficiency: -nan% (dense blocks: 0, sparse nodes: 0), hit rate: -nan%
Osm2pgsql failed due to ERROR: Open failed for '/Documents/osm/monfichier.osm.pbf': No such file or directory

J'ai conservé, par défaut,comme indiqué dans la documentation (https://www.volkerschatz.com/net/osm/os … usage.html)

-S|--style /path/to/style
    Location of the osm2pgsql style file. This specifies which tags from the data get imported into database columns and which tags are dropped. Defaults to /usr/share/osm2pgsql/default.style.


Je ne comprends pas ce message d'erreur qui m'indique que osm2pgsql n'arrive pas à trouver monfichier.osm.pbf. Hors le chemin d'accès est correct et le fichier s'y trouve bien.
Je suppose qu'il me manque un petit quelque chose, mais je ne vois pas ...

Quelqu'un a-il un début de solution a m'apporter ?
Merci d'avance,
Bien cordialement.

La question concernant OSM et postgreSQL je n'ai pas su quel section du forum choisir (Géolibre VS GéoBD). En cas de mauvaise section, un admin peut-il déplacer ce message dans la bonne section ?

Hors ligne

 

#2 Tue 16 July 2019 19:53

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: Import OSM - osm2pgsql

Salut, et bienvenu sur georezo.

êtes vous sur du chemin absolu vers votre fichier pbf ?
il ne se situerait pas plutôt dans /home/hopla/Documents/osm/monfichier.osm.pbf ?

La version chemin relatif

Code:

osm2pgsql -c -d osm -U postgres -W -H localhost -P 5432 ~/Documents/osm/monfichier.osm.pbf

Si çà n'est pas çà, certainement un problème de droit d’accès ! smile
Un petit coup de

Code:

ls -l /Documents

pour voir les droits.

Si c'est toujours pas çà, les chemins d'accès posix sont sensibles à la casse,
c'est peut être çà.

chemins absolus vs. chemins relatifs :
http://casteyde.christian.free.fr/syste … x3198.html

Dernière modification par tumasgiu (Wed 17 July 2019 10:38)

Hors ligne

 

#3 Wed 17 July 2019 10:20

Hopla
Juste Inscrit !
Date d'inscription: 16 Jul 2019
Messages: 2

Re: Import OSM - osm2pgsql

Bonjour,

Merci Tumasgiu pour ces informations.

Il semble effectivement que mon erreur provienne du chemin renseigné...
Qui se situe en effet, comme vous l'avez remarqué, dans

/home/hopla/Documents/osm/monfichier.osm.pbf


Une belle erreur de débutant...

Il suffit de renseigner correctement le chemin et il semble que ça fonctionne.

Code:

osm2pgsql -c -d osm -U postgres -W -H localhost -P 5432 /home/hopla/Documents/osm/monfichier.osm.pbf

La donnée est présente dans postgreSQL :
- planet_osm_line
- planet_osm_point
- planet_osm_polygon
- planet_osm_roads

Pour autant, si la donnée est bien importée, osm2pgsql remonte une erreur à la fin de la procédure :

Code:

Osm2pgsql failed due to ERROR: Connection to database failed: FATAL:  désolé, trop de clients sont déjà connectés
FATAL:  désolé, trop de clients sont déjà connectés

En ajoutant l'option --slim c'est ok, par contre la procédure en prend un sacré coup en terme de temps ...
Je regarde du côté des options --cache et --number-processes pour voir s'il est possible d'accélérer l'import.

Si quelqu'un a une solution ou des conseils concernant l'import d'OSM dans postgreSQL, je suis preneur.

Hors ligne

 

#4 Wed 17 July 2019 10:34

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: Import OSM - osm2pgsql

Une belle erreur de débutant...


Même Torvalds a été un débutant un jour,
tout le monde fait ce genre d'erreur à un moment donné.

En ajoutant l'option --slim c'est ok, par contre la procédure en prend un sacré coup en terme de temps ...
Je regarde du côté des options --cache et --number-processes pour voir s'il est possible d'accélérer l'import.

Si quelqu'un a une solution ou des conseils concernant l'import d'OSM dans postgreSQL, je suis preneur.


Jamais utilisé l'outil, mais vous pouvez modifier le nombre de connexions maximum dans le fichier postgresql.conf,
qui est par défaut à 100 (l'option est max_connections).

Mais bon je suis surpris qu'il doive démarrer plus de 100 connexions pour travailler...
Vérifiez qu'il n'y a pas de connexions en attente inutiles à votre base de données.

Dernière modification par tumasgiu (Wed 17 July 2019 11:36)

Hors ligne

 

Pied de page des forums

Powered by FluxBB