#1 Thu 15 March 2012 09:39
[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 .
Merci d'avance
Hors ligne
#2 Thu 15 March 2012 10:06
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
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 .
Dernière modification par BaLiSTiK (Thu 15 March 2012 11:25)
Hors ligne
#4 Thu 15 March 2012 11:58
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