#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
En ligne
#2 Mon 08 June 2009 21:40
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
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)
En ligne