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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 15 March 2012 09:39

BaLiSTiK
Participant occasionnel
Date d'inscription: 24 Jul 2008
Messages: 11
Site web

[ogr2ogr] Import de la géometrie uniquement

Bonjour,

Je souhaite faire un import d'un fichier MIF/MID vers ma base de données PostgreSQL (8.3 / PostGis 1.4.2) dans une table "temporaire" via la commande ogr2ogr mais je suis confronté à deux difficultés.
Vu que je développe sur un outil générique d'import, je ne connais pas forcement toutes les données ma couche MIF/MID. Pour cela, je n'ai besoin de récupérer uniquement le champ contenant la géométrie.
Apparemment, il n'est pas possible de placer  un "select wkb_geometry from ma_couche" dans le ogr2ogr, à moins que je me trompe.

Deuxièmement, j'ai un soucis concernant l'encodage. En effet, si une couche est en Latin1 et contient des caractères spéciaux, mon import ne passe pas, ma BD étant en UTF-8. En recherchant, j'ai vu que je pouvais placer dans le ogr2ogr cette option : options='-c client_encoding=utf-8'. Mais ça ne réglait pas ce soucis.

Si il est possible de n'importer que la géométrie, le soucis qui concerne l'encodage n'aura pas lieu d'être smile.

Merci d'avance wink

Hors ligne

 

#2 Thu 15 March 2012 10:06

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [ogr2ogr] Import de la géometrie uniquement

Bonjour,

1) L'option -select field_list: avec field_list à vide peut être ?

2) L'option client_encoding définir l'encodage du client donc il faut utiliser latin1 et pas UTF8.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Thu 15 March 2012 11:20

BaLiSTiK
Participant occasionnel
Date d'inscription: 24 Jul 2008
Messages: 11
Site web

Re: [ogr2ogr] Import de la géometrie uniquement

Merci de votre réponse.
1/ Je ne vois pas trop comment l'intégrer, voilà comment je le fait :

Code:

ogr2ogr -f Postgresql "PG: host=localhost port=5132 dbname=ma_bd user=user password=password"  "mon_fichier.MIF" -select field_list:'' -nln _import_table -lco PRECISION=NO

EDIT : En y réfléchissant, je peux essayer d'ajouter dans la commande l'option : "-sql select * from mon_fichier"

2/ Concernant l'encodage, peut importe que l'option "options='-c client_encoding=latin1'" soit présente ou pas, ça ne passe pas.
En amont et aval du ogr2ogr, j'ai également essayé avec :

Code:

$this->Model->query("SET CLIENT_ENCODING TO 'latin1';");
$cmd = "ogr2ogr...";
//Traitement du ogr2ogr...

$this->Model->query('RESET CLIENT_ENCODING;');

Mais que je passe 'latin1', 'Win1252', 'UTF8', 'SQL_ASCII'...y'a RIEN qui passe hmm.

Dernière modification par BaLiSTiK (Thu 15 March 2012 11:25)

Hors ligne

 

#4 Thu 15 March 2012 11:58

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [ogr2ogr] Import de la géometrie uniquement

bonjour,

1) plutôt : -select ""

2) soit l'encodage de la source de données n'est pas celle que tu penses être, soit le setting n'est pas pris en compte.

Tu peux vérifier en ouvrant ton jeu de données avec QGIS (tu peux lui définir l'encodage lors de l'ouverture).

Code:

ogr2ogr -f Postgresql "PG: host=localhost port=5132 dbname=ma_bd user=user password=password"  "mon_fichier.MIF" -select '' -nln _import_table -lco PRECISION=NO -lco "client_encoding=latin1"

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#5 Thu 15 March 2012 14:18

BaLiSTiK
Participant occasionnel
Date d'inscription: 24 Jul 2008
Messages: 11
Site web

Re: [ogr2ogr] Import de la géometrie uniquement

Le -select "" a réglé mon soucis d'import.
Merci beaucoup wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB