export GDMS vers SHP

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

export GDMS vers SHP

Frederic Rousseaux
This post was updated on .
Bonjour,

j'ai le message suivant lorsque je souhaite exporter une base GDMS en SHP :

"Impossible de créer la datasource Caused by: Shapefiles need a specific geometry type".

Dans le fichier GDMS, j'ai bien une colonne "THE_GEOM" en multipolygone.

Je ne vois pas ou (ni comment) je spécifie la géométrie de mon shape lors de l'export.
OrbisGIS ne me demande qu'un type de fichier (je prend shp) et un nom.

any ideas ?

Frederic

Version OrbisGIS V4.0 Beta
edit : ortho
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Gwendall Petit
Administrator
Bonjour Frédéric,

Est-ce que par hasard ta couche ne comporterait pas des GeometryCollections ou bien des lignes ou des points ?
Pour vérifier cela, tu peux utiliser la fonction ST_Dimension qui permet de faire un filtrage sur les types de géométries.

Si c'est le cas, ça pose effectivement problème car le shape n'accepte qu'un seul type de géométrie par couche.

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Frederic Rousseaux
Bonjour Gwendall,


merci pour ta réponse,
je n'ai que des géométries de type multipolygone. La fonction me sort bien (2).
J'en ai profité pour vérifier si la géométrie était valide, ce qui est le cas.

je vais chercher...il doit y effectivement y avoir une incompréhension du coté de la géométrie...
merci encore

Frederic


Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Gwendall Petit
Administrator
Au pire, si jamais ton fichier n'est pas confidentiel et pas trop gros, peut-être peux-tu nous l'envoyer afin qu'on regarde ça de plus près ?

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Frederic Rousseaux
c'est le fameux initialdatabase.gdms !

vous l'avez ou vous voulez que je vous le renvoie ?

Frederic

Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Antoine Gourlay
In reply to this post by Gwendall Petit
Bonjour Frédéric,

Le plus probable est que tes multipolygons sont stockés dans une colonne
de type GeometryCollection, même si en pratique les seules collections
que tu as dedans sont des MultiPolygons.

Tu peux voir le type de la colonne dans OrbisGIS en faisant clique droit
sur la colonne dans la table d'attribut, il doit y avoir un menu "Infos
sur la colonne" ou quelque chose comme ça.

Tu peux toujours forcer le type de la colonne en faisant un cast:

CREATE TABLE toto AS SELECT the_geom :: multipolygon, * EXCEPT the_geom
FROM initialdatabase;

Et ensuite tu peux exporter 'toto' en shapefile.

Je ne sais pas comment initialdatabase avait été construit à l'époque,
mais je crois que depuis on est devenu plus exigeant sur les types des
colonnes (i.e. on force l'utilisateur à avoir le bon plutôt que de
prendre le risque d'écrire des shapefile invalides), d'où l'erreur.

Cordialement
-- Antoine
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

ebocher
Administrator
Fred,

si tu confirmes le pb, peux-tu soumettre une issue sur la plate-forme ici :

https://github.com/irstv/orbisgis/issues


++


Erwan

Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Frederic Rousseaux
In reply to this post by Antoine Gourlay
Bonsoir Antoine,

Merci pour ta réponse,
il semble que le type ne soit pas une GeometryCollection :

Nom de la colonne : the_geom
Type de colonne : geometry
Constraintes:
 Geometry type: MultiPolygon
 3D Dimension: 2,5D

Je comprend d'autant moins le problème que j'ai déjà pu exporter de GDMS vers Shape les résultats d'USM qui sont basés sur exactement les mêmes données (avec le même environnement et la même version).

By the way, je ne suis plus bloqué pour ce que j'avais à faire, mais si vous le souhaitez, je peux soit rapporter une issue comme le propose Erwan, soit creuser sur qq tests...

Fred
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

KatiaC
Bonjour, je cherche aussi à exporter un fichier gdms en shp. Contrairement à Frédéric, il semblerait que mon fichier comporte différentes géométries: polygon et multipolygon. Qu'elle est alors la solution pour transformer mon fichier (issu de différentes requêtes sql) dans un format que des collègues qui n'utilisent pas OrbisGIS pourront lire? Merci de votre aide Katia
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Alexis.G
Bonjour Katia,

les fichiers shape ne peuvent contenir qu'un type de geometry. Techniquement, shapefile supporte trois types de géométrie : ponctuel, linéaire, surfacique. Autrement dit, on peut mettre des polygones et des multipolygones dans un même fichier shape. Par contre, on ne pourra pas mettre un point et une ligne dans le même fichier. C'est une limitation du format. Dans ton cas, si tu n'as ni ligne ni point dans ta table, je pense que ça devrait marcher. Tu peux exporter ton ficheir via OrbisGIS, par exemple en faisant un clic-droit sur le nom de ta table dans le GeoCatalog, puis en faisant "Sauver" -> "Fichier", puis en choisissant le format de sortie dans la fenêtre qui s'afficher.

N'hésite pas si tu as d'autres questions.

Alexis.
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Gwendall Petit
Administrator
In reply to this post by KatiaC
Bonjour Katia,

Peux-tu nous préciser la version d'OrbisGIS que tu utilises ? Tu es sur la V3.0.2 ?
Par ailleurs, es-tu certaine de n'avoir que des (multi)polygones ?

Pour t'en assurer, peux-tu tester ce script ?
SELECT Count(*) as nb_geom FROM mytable;
SELECT Count(*) as nb_polygone FROM mytable WHERE ST_DIMENSION(the_geom) =2;
Si tu obtiens deux fois la même valeur, alors cela signifie que tu n'as que des polygones.

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

KatiaC
Alexis, je pense en effet avoir fait comme il fallait mais voici ce qu'il m'indique: No geometry type in the metadata. Will take the type of the first geometry et lorsque j'essaie de l'ouvrir en shp sous un autre SIG, ça ne marche pas. Je n'ai qu'une ligne (j'ai essayé avec différentes projections) Gwendall, j'ai la version Barcelon 3.0 (!) j'ai bien deux fois la même valeur avec les deux commandes indiquées: 10548. Merci de votre aide. Katia
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

KatiaC
Voici à quoi ressemle le fichier...

Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

Gwendall Petit
Administrator
In reply to this post by KatiaC
KatiaC wrote
No geometry type in the metadata.
ça c'est normal.
Par contre il semble ne pas aimer le fait que tu ais à la fois des polygones et des multipolygones.
Afin d'isoler le problème, pourrait tu tenter d'exporter en shape le résultat de l'explosion de ta table "ocs_2004_full" (la requête suivante) ?
CREATE TABLE ocs_2004_full_explod AS SELECT ST_EXPLODE(the_geom) FROM ocs_2004_full;
Cette instruction va supprimer les multipolygones en de simples polygones. Si jamais tu as plusieurs polygones dans un multipolygone alors ils auront le même "explod_id".

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: export GDMS vers SHP

KatiaC
Ok, ça a marché!

Merci beaucoup

Katia