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

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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: 1129

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

tumasgiu a écrit:

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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Tue 13 November 2018 16:47

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

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

tumasgiu a écrit:

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: 1129

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

tumasgiu a écrit:

D'accord,
qu'est ce que donne

show 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: 1129

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

 

Pied de page des forums

Powered by FluxBB