Conversion MIF/Mid > SHP

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

Conversion MIF/Mid > SHP

Guillaume
Bonjour, (clavier qwerty)

J'aimerais savoir s'il est possible de convertir un fichier MIF/Mid vers un fichier de format SHP a l'aide d'OrbisGIS. La version 4 ne me permettant pas d'ouvrir un fichier MIF/Mid, j'ai donc opte pour une version anterieure (3.0.2) qui offre cette possibilite.
Neanmoins, un clic droit > exporter dans un fichier > shp depuis le geocatalog provoque l'erreur suivante :

This value is not double: 0(string)
Caused by: This value is not double: 0(string)

L'export est alors bloque.
Si je regarde les informations de la colonne concernee, j'obtiens :

Nom de la colonne : IDOBJ
Type de colonne : int
Constraintes : (pas de contraintes)

Paradoxalement, le probleme semble etre lie au type de l'info contenue dans ce champ attributaire. Le message d'erreur me suggere que le type est une chaine de caracteres alors que la visualisation de la table attributaire me donne des valeurs alignees a droite et sur un fond gris fonce (il s'agirait de numeric ?) en plus d'un type de colonne evalue comme etant int.

Quelqu'un aurait-il deja rencontre cette erreur ?
Je suis preneur de tout avis ou suggestion a ce sujet.

M'excusant de l'absence d'accents dans ce message,
Guillaume
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Gwendall Petit
Administrator
Bonjour Guillaume et bienvenu sur cette mailing liste.

Il y a probablement un problème lié à l'encodage des valeurs dans ta table.

Avant d'aller plus loin, as-tu testé de faire une copie de ta table en .gdms puis de l'exporter en .shp ?

ça donnerait quelque chose comme ça :
CREATE TABLE my_table_in_gdms AS SELECT * FROM my_table_in_mif;
EXECUTE Export(my_table_in_gdms, '/home/myuser/my_table_in_shp.shp')
Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Guillaume
Merci pour cette reponse.
Je ne l'avais pas essayee.
Ceci dit, sur ma version 3.0.2, la table gdms est correctement creee mais l'export est sujet a probleme :

Cannot parse script
Caused by: Encountered " "(" "("" at line 2, column 15.
Was expecting:
"union" ...

J'ai essaye de l'exporter "a la main" via l'outil d'export du geocatalog mais je rencontre exactement le meme message d'erreur que precedemment.
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Gwendall Petit
Administrator
Ok
Peux-tu ouvrir la table du fichier gdms ? (si oui pourrais-tu nous faire un screenshot des premières lignes / avec le nom des champs).
Peux-tu également afficher la donnée dans la carte ?

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Guillaume
Voici,
Le passage a gdms ne semble pas poser de soucis, la table attributaire et la visualisation donnent des resultats equivalents en apparence au fichier MIF/Mid d'origine.
Aperçu de la table resultant de la conversion de MIF/Mid a GDMS

Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Gwendall Petit
Administrator
Petite remarque à propos de l'export. J'avais oublié que tu étais sur la V3.0.2. Aussi la syntaxe pour l'export est légèrement différente (cf. ICI) :
 select Export(‘myTable’, ‘/home/myuser/myFile.shp’)
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Guillaume
En voici le resultat :
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Gwendall Petit
Administrator
Oui là c'est normal, tu as oublié de spécifier ton fichier .shp dans ton url.
SELECT EXPORT ('my_table_in_gdms', 'C:\Users\Guillaume\Documents\__ECN__\STAGES\Données\my_table_in_shp.shp');
Au passage, je ne suis pas certain que les accents dans les url soient bien acceptés --> à tester
Reply | Threaded
Open this post in threaded view
|

Re: Conversion MIF/Mid > SHP

Guillaume
Mea Culpa.
Une fois ces erreurs corrigees, j'obtiens le message evoque plus haut :

This value is not double: 0(string)
Caused by: This value is not double: 0(string)