#1 Tue 13 November 2018 16:11
- heloise-pag
- Juste Inscrit !
- Date d'inscription: 3 Sep 2018
- Messages: 9
osm2pgsql : type "geometry" does not exit
Bonjour !
Je tente d'importer les données OSM dans une base PostGIS avec osm2pgsql.
J'ai essayé sur Windows 7 avec postgreSQL 11 / Postgis 2.5 et sur Ubuntu 18.04 avec postgreSQL 10 / PostGIS 2.4 et j'obtiens le même résultat.
En entrée :
Code:
osm2pgsql -s -c -W -U postgres -d osm3 -H localhost -P 5432 -S default.style guyane-latest.osm.pbf
En sortie :
Code:
Using built-in tag processing pipeline Using projection SRS 3857 (Spherical Mercator) Setting up table: planet_osm_point Osm2pgsql failed due to ERROR: CREATE UNLOGGED TABLE planet_osm_point (osm_id in t8,"access" text,"addr:housename" text,"addr:housenumber" text,"addr:interpolati on" text,"admin_level" text,"aerialway" text,"aeroway" text,"amenity" text,"area " text,"barrier" text,"bicycle" text,"brand" text,"bridge" text,"boundary" text, "building" text,"capital" text,"construction" text,"covered" text,"culvert" text ,"cutting" text,"denomination" text,"disused" text,"ele" text,"embankment" text, "foot" text,"generator:source" text,"harbour" text,"highway" text,"historic" tex t,"horse" text,"intermittent" text,"junction" text,"landuse" text,"layer" text," leisure" text,"lock" text,"man_made" text,"military" text,"motorcar" text,"name" text,"natural" text,"office" text,"oneway" text,"operator" text,"place" text,"p oi" text,"population" text,"power" text,"power_source" text,"public_transport" t ext,"railway" text,"ref" text,"religion" text,"route" text,"service" text,"shop" text,"sport" text,"surface" text,"toll" text,"tourism" text,"tower:type" text," tunnel" text,"water" text,"waterway" text,"wetland" text,"width" text,"wood" tex t,"z_order" int4,way geometry(POINT,3857) ) WITH ( autovacuum_enabled = FALSE ) failed: ERREUR: le type « geometry » n'existe pas LINE 1: ... text,"width" text,"wood" text,"z_order" int4,way geometry(P...
Des idées pour résoudre ce problème ?
Merci !
Hors ligne
#2 Tue 13 November 2018 16:25
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: osm2pgsql : type "geometry" does not exit
Premièrement, êtes vous sur que l'extension Postgis est installée dans votre base ?
Connectez vous à votre base et lancez :
Code:
SELECT * FROM pg_extension;
Vous devriez trouver une ligne contenant "postgis".
Sinon vous pouvez l'installer en lançant:
Code:
CREATE EXTENSION postgis;
Dernière modification par tumasgiu (Tue 13 November 2018 16:27)
Hors ligne
#3 Tue 13 November 2018 16:30
- heloise-pag
- Juste Inscrit !
- Date d'inscription: 3 Sep 2018
- Messages: 9
Re: osm2pgsql : type "geometry" does not exit
Premièrement, êtes vous sur que l'extension Postgis est installée dans votre base ?
Connectez vous à votre base et lancez :Code:
SELECT * FROM pg_extension;Vous devriez trouver une ligne contenant "postgis".
Sinon vous pouvez l'installer en lançant:Code:
CREATE EXTENSION postgis;
Oui, oui, j'ai bien l'extension PostGIS d'installée.
Dernière modification par heloise-pag (Tue 13 November 2018 16:31)
Hors ligne
#4 Tue 13 November 2018 16:47
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: osm2pgsql : type "geometry" does not exit
Ok, et si vous lancez dans pgAdmin une requête du style :
Code:
SELECT NULL::geometry(POINT);
Avez vous la même erreur ?
Dernière modification par tumasgiu (Tue 13 November 2018 16:53)
Hors ligne
#5 Tue 13 November 2018 18:01
- heloise-pag
- Juste Inscrit !
- Date d'inscription: 3 Sep 2018
- Messages: 9
Re: osm2pgsql : type "geometry" does not exit
Ok, et si vous lancez dans pgAdmin une requête du style :
Code:
SELECT NULL::geometry(POINT);Avez vous la même erreur ?
Non, pas d'erreur lors de l'exécution de cette requête.
Hors ligne
#6 Tue 13 November 2018 18:09
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: osm2pgsql : type "geometry" does not exit
D'accord,
qu'est ce que donne
show search_path ;
Hors ligne
#7 Tue 13 November 2018 18:14
- heloise-pag
- Juste Inscrit !
- Date d'inscription: 3 Sep 2018
- Messages: 9
Re: osm2pgsql : type "geometry" does not exit
D'accord,
qu'est ce que donneshow search_path ;
J'ai déjà testé de changer le search_path comme vu sur plusieurs forums.
Ça me renvoie public,postgis.
J'ai fait des tests avec d'autres bd qui me renvoyaient aussi "$user", ou encore lookup en plus... Mais ça ne change rien. Toujours la même erreur...
En tout cas, merci de t'intéresser à mon problème !
Hors ligne
#8 Wed 14 November 2018 09:59
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1159
Re: osm2pgsql : type "geometry" does not exit
J'ai testé, osm2psql fonctionne avec postgis installée dans un schema autre que public,
pourvu que le schema d’installation soit dans le search_path.
Est ce que le show search path a bien été lancé avec le même utilisateur
que celui utilisé dans osm2psql ?
A tout hasard vous pouvez essayer de redéfinir search_path
Code:
ALTER ROLE postgres SET SEARCH_PATH TO public, postgis;
Hors ligne
#9 Wed 14 November 2018 12:52
- heloise-pag
- Juste Inscrit !
- Date d'inscription: 3 Sep 2018
- Messages: 9
Re: osm2pgsql : type "geometry" does not exit
Ça y est ça fonctionne ! C'était tout bête... (comme souvent)
Je n'avais pas créé le schéma postgis. J'avais directement créé les extensions postgis et hstore sur le schéma public, au lieu de le faire sur le schéma postgis puisqu'il n'existait pas.
Voici les étapes sous windows, si ça peut servir à d'autres :
1. Création d'une bd nommée osm
2. Création dans cette bd d'un schéma postgis
3. Création des extensions postgis et hstore dans le schéma postgis
4. Modification du SEARCH_PATH :
Code:
SET search_path=public,postgis;
5. Dans une invite de commande windows, changer de répertoire pour aller dans le répertoire où se trouve le fichier .style et le fichier .osm.pbf. Par exemple :
Code:
cd C:\osm2pgsql
6. Toujours dans l'invite de commande windows :
Code:
osm2pgsql –c -W -U postgres –d osm -H localhost -P 5433 –S default.style guyane-latest.osm.pbf
Merci tumasgiu !!!
Hors ligne
#10 Wed 14 November 2018 13:06
- heloise-pag
- Juste Inscrit !
- Date d'inscription: 3 Sep 2018
- Messages: 9
Re: osm2pgsql : type "geometry" does not exit
Ça y est ça fonctionne ! C'était tout bête... (comme souvent)
Je n'avais pas créé le schéma postgis. J'avais directement créé les extensions postgis et hstore sur le schéma public, au lieu de le faire sur le schéma postgis puisqu'il n'existait pas.
Voici les étapes sous windows, si ça peut servir à d'autres :
1. Création d'une bd nommée osm
2. Création dans cette bd d'un schéma postgis
3. Création des extensions postgis et hstore dans le schéma postgis
4. Modification du SEARCH_PATH :
Code:
SET search_path=public,postgis;
5. Dans une invite de commande windows, changer de répertoire pour aller dans le répertoire où se trouve le fichier .style et le fichier .osm.pbf. Par exemple :
Code:
cd C:\osm2pgsql
6. Toujours dans l'invite de commande windows :
Code:
osm2pgsql –c -W -U postgres –d osm -H localhost -P 5433 –S default.style guyane-latest.osm.pbf
Merci tumasgiu !!!
Hors ligne