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é ?

#1 Mon 08 June 2009 09:08

damien_boilley
Participant assidu
Lieu: Grenoble
Date d'inscription: 16 Apr 2009
Messages: 223

Couleur d'un MIF-MID avec GDAL/OGR

Bonjour,

Je souhaite récupérer une information de couleur présente dans un MIF-MID de polygones : en effet cette information est présente dans le MIF avec les coordonnées, sous la forme Brush (2,16763904,16777215) par exemple. Mais elle n'est pas dans le MID avec les autres attributs.

Le problème est que je n'ai pas MapInfo, mais GéoConcept, qui importe les MIF-MID mais ne prend pas en compte l'"habillage" comme la couleur. Et je n'ai pas trouvé de moyen de transférer la couleur dans un champ attributaire classique avec l'outil de conversion GDAL/OGR : quelqu'un aurait-il une idée de la méthode à suivre ?

Merci d'avance !

Damien Boilley

Hors ligne

 

#2 Mon 08 June 2009 21:40

rouault
Participant assidu
Date d'inscription: 26 Apr 2009
Messages: 166

Re: Couleur d'un MIF-MID avec GDAL/OGR

Au niveau de l'API C++/C : OGRFeature::GetStyleString() / OGR_F_GetStyleString

Le style peut également s'obtenir comme un champ spécial d'un "feature", appelé "OGR_STYLE".
Par ex : ogr2ogr small.shp ../autotest/ogr/data/small.mif -sql "select *, OGR_STYLE from small"

Cf http://gdal.org/ogr/ogr_sql.html

Hors ligne

 

#3 Tue 09 June 2009 09:19

damien_boilley
Participant assidu
Lieu: Grenoble
Date d'inscription: 16 Apr 2009
Messages: 223

Re: Couleur d'un MIF-MID avec GDAL/OGR

Merci beaucoup ! C'est ce pseudo-attribut OGR_STYLE que je cherchais. Pour mémoire, voici comment j'ai procédé :
Pour récupérer la liste des styles distincts utilisés, un petit coup de :

Code:

ogrinfo -sql "SELECT DISTINCT OGR_STYLE FROM bati_prive_final" bati_prive_final.MIF

Je note les valeurs des couleurs de "brush" obtenues en hexadécimal, puis pour chaque couleur je fais :

Code:

ogr2ogr -where "OGR_STYLE LIKE '%ffcc00%'" -t_srs "EPSG:2154" -s_srs "EPSG:27562" bati_prive_ffcc00.shp bati_prive_final.MIF
ogr2ogr -where "OGR_STYLE LIKE '%ff0000%'" -t_srs "EPSG:2154" -s_srs "EPSG:27562" bati_prive_ff0000.shp bati_prive_final.MIF
etc.

Et j'obtiens un fichier shape par style, il ne me reste plus qu'à les importer dans ma carte GéoConcept ! (Vous noterez que j'en ai profité pour reprojeter les données en Lambert 93)

Dernière modification par damien_boilley (Tue 09 June 2009 09:20)

Hors ligne

 

Pied de page des forums

Powered by FluxBB