![]() |
|||||||||||
| |||||||||||
![]() |
|
|
Outils de la discussion | Rechercher | Modes d'affichage |
|
(#1)
|
|
||||
|
Une partie des infos est traduite depuis la page officielle des FWTools du site de Maptools, qui recense des outils gratuits open source notamment.
FWTools: Kit SIG Open source pour Windows et Linux FWTools est un set d'outils Open source pour les systems windows (Win32) et Linux(x86 32bit) créé par Frank Warmerdam (d'où la mention FW...). C'est un kit très simple sans code source à bidouiller ni rien à compiler. Le package Linux est agnostique, c'est à dire qu'il ne tourne pas sous un system en particulier. Installation sous Windows très simple : * On télécharge le package ici On double clique et l'install se lance. * Il va créer un répertoire avec notamment un fichier appellé openev.bat. C'est celui là qui va lancer le logiciel OpenEV qui gère les autres composants. Voici à quoi ca doit ressembler quand on double clique sur openev.bat : ![]() FWTools contient les outils (=tools) suivants : # MapServer : soft de cartographie web. # GDAL/OGR: une librairie et un utilitaire de lignes de commandes pour lire et écrire des formats raster (gdal) et vecteur (ogr). # PROJ.4 : une librairie de projections internationales avec un utilitaire de lignes de commandes. C'est le même package qu'on peut retrouver dans GRASS par exemple. # OGDI: un utilitaire de lecture de nombreux formats raster et vecteurs, notamment sur les formats militaires. Par exemple : VPF (ie. VMAP, VITD), RPF (ie. CADRG, CIB), et ADRG. # Python: un langage de scripts, qui permet de lancer des batch, (commandes répétitives) et quelques composants supplémentaires. A suivre... |
|
(#2)
|
|
(#3)
|
|
(#4)
|
|
||||
|
GDAL (dans le pack FWTools) Option PCT2RGB/RGB2PCT : un exemple d'utilisation
(inspiré de la réponse de HotShot dans ce topic) Problème : lors de l'assemblage de TIFF (dalles de SCAN25 IGN) avec gdal_merge on obtient un résultat aux couleurs incertaines et floues. Explication : certaines dalles n'ont pas la même palette, par exemple le noir est affublé du code "0" dans une dalle, il a le code "42" dans une autre, alors qu'elles semblent avoir exactement les mêmes couleurs. Dire à gdal_merge d'utiliser la palette de la première image (le "- pct") pour toutes les autres, ça donne des pixels avec la mauvaise couleur, sur certaines dalles. Solution : 1. Utilisation de PCT2RGB Convertir toutes les dalles en couleurs "non-palette", donc codées en valeurs de RougeVertBleu, donc 3*8=24 bits avec l'outil "pct2rgb" de FWTools. On récupère autant de dalles, mais en mode "millions de couleurs", et chacune trois fois plus lourde. Ensuite, on utilise gdal_merge (sans l'option "-pct" cette fois, bien sûr), et on récupèrera un assemblage -lourd- en millions de couleurs. 2. Utilisation de RGB2PCT On peut ramene à un assemblage plus léger en mode "palette" grace à l'utilitaire inverse, "rgb2pct". En quelques lignes de commandes, il y a moyen d'automatiser l'opération. Attention :Là où ça coince, c'est que si l'opération pct2rgb se fait sans perte (les couleurs ne changent pas), l'opération inverse rgb2pct devra probablement "faire des choix" pas toujours parfaits, pour ramener tout ça à une palette de 256 couleurs maxi. Et il y a donc un risque que les couleurs finales ne soient pas exactement identiques à celles des dalles d'origine fournies par l'IGN. Donc à chacun de voir si cette dégradation éventuelle est gênante. -> Une autre option est d'attribuer dès le départ une "même" palette (= mêmes couleurs avec les mêmes codes dans le même ordre) à toutes les dalles IGN ; par exemple sous Photoshop ou tout autre logiciel de traitement d'images. Ensuite, et pour peu qu'on ait pris soin de sauver les infos de géoréférencement (génération des .tfw avant de retoucher l'image) pas de souci pour assembler. |
|
(#5)
|
|
||||
|
Perso, je suis sous Windows et n'utilise pas OpenEV - l'interface est pas géniale, et n'a pas vraiment d'utilité si on souhaite juste manipuler des données (assembler, reprojeter, modifier des métadonnées...)
Petit topo vite fait sur les divers outils disponibles dans FWTools... ● gdal_translate : - convertir entre formats : jpg vers tif, png vers ecw, etc.Tout ça peut être combiné en une seule et même opération. ● gdalwarp : - reprojeter un raster : Lambert II vers Lambert 93, p.ex.Tout ça peut être combiné en une seule et même opération. ● gdal_merge : - assembler des fichiers : tout comme gdalwarp, plus rapide mais moins d'optionsCommode si on est dans un cas de figure "idéal" : par exemple 50 dalles déjà correctement référencées, toutes à la même résolution, avec une même palette de couleurs. Ou encore, 7 bandes spectrales Landsat séparées à réunir dans un même fichier. ● rgb2pct et rgb2pct : - transformer un raster 256 couleurs en 24 bits... et réciproquement.Sachant que l'opération rgb2pct peut induire une perte de qualité ("chausse-pied" un peu bourrin pour ramener des millions de couleurs à seulement 256...) ● gdalinfo : - obtenir des infos sur GDAL : version, formats disponibles... Autres choses à savoir : - en interne, gdal utilise souvent le format GeoTiff, en raison de sa puissance et de sa versatilité pour tout ce qui touche aux SIG. Il est souple et gère bien les métadonnées géographiques ou non. Si on ne précise pas, celui-ci sera utilisé par défaut. Cela impose quelques limitations inhérentes au format tiff : pas plus de 4 Go de données etc. Heureusement il est possible de ruser ou employer un autre format non limité en taille, tel que le hfa d'Erdas Imagine, ou bil+hdr de chez ENVI - certains formats ne peuvent pas être écrits directement, pour des raisons spécifiques d'accès lecture/écriture. Notamment les formats compressés. Ainsi pour reprojeter des dalles et les enregistrer en ecw, il faudra générer un GeoTiff (gdalwarp) avant de le convertir en ecw (gdal_translate). - l'accès aux données se fait en mode "direct" donc on peut traiter des fichiers énormes de plusieurs dizaines de Go (ou plusieurs milliers de fichiers) en une seule opération, même avec peu de RAM, et très rapidement. - on est parfois limité par le fonctionnement en ligne de commandes "MS-DOS" : il est bon de savoir un minimum se débrouiller, se déplacer dans les répertoires, penser à indiquer les noms de fichiers longs entre guillemets, etc. Par ailleurs il y a une limite au nombre d'options et/ou de noms de fichiers qu'on peut entrer en une seule fois (~100, de mémoire) - ça peut être gênant pour mosaïquer 5000 fichiers... D'autant que la plupart des utilitaires gdal ne supportent pas les caractères génériques du style "*.tif" Heureusement il y a diverses astuces possibles... =) Quelques exemples de commandes : ● Reprojeter une vieille orthophoto dans le nouveau système Lambert 93: Code:
gdalwarp -s_srs EPSG:27572 -t_srs EPSG:2154 -tps -rc -tr 0.5 0.5 -of GTiff -co COMPRESS=DEFLATE "E:\Mes vieilles orthophotos\OrthoLambert2.ecw" "C:\Bureau\OrthoLambert93.tif" Options dans l'ordre : ● Reconvertir cette orthophoto en ECW correctement géoréférencé : Code:
gdal_translate -of ECW -co TARGET=90 "C:\Bureau\OrthoLambert93.tif" "C:\Bureau\OrthoLambert93Compressée.ecw" Options dans l'ordre (voir l'exemple précédent...) ● Géoréférencer un fichier quelconque : Bien sûr il vaut mieux utiliser un format capable de stocker ce géoréférencement ! geotiff, ecw, jpeg2000, ... 1er cas, avec un worldfile existant Code:
gdal_translate -of GTiff -a_srs EPSG:4326 Source.jpg Destination.tif Ici, on part d'un .jpg et d'un .wld pour réclamer la création d'un fichier geotiff en WGS84 (le code epsg). 2eme cas, en précisant l'extension géographique, c-à-d. les latitudes et longitudes min/max Code:
gdal_translate -a_srs ESPG:4326 -a_ullr "-5.0" 50.0 5.0 40.0 Source.jpg Destination.tif On indique grâce à l'option -a_ullr les coordonnées x et y des deux coins haut-gauche et bas-droit (upper left, lower right) de notre fichier. 3eme cas en entrant des points de contrôle/d'amer (GCPs) Code:
gdal_translate -gcp 5 100 "-4.3245" 45.50 -gcp 900 555 1.33 44.05 -gcp 201 300 0.00 44.98 Source.jpg SourceAvecGCPs.tif Via la répétition de l'option -gcp x y X Y on a inclus trois points de contrôle (GCPs) dans notre fichier tiff résultant. Code:
gcps2wld SourceAvecGCPs.tif >SourceAvecGCPs.tfw Maintenant on dit à GDAL de créer un worldfile dérivé des GCPs de notre tiff Code:
gdal_translate -of GTiff -a_srs EPSG:4326 SourceAvecGCPs.tif DestinationRéférencée.tif ... et pour finir on réintègre (automatiquement) les infos du worldfile dans un nouveau geotiff... en n'oubliant pas d'indiquer la projection de notre fichier, cette fois.N.B. Il est également possible de nourrir gdalwarp avec notre "geotiff+gcps", si on souhaite redimensionner/reprojeter dans la foulée... |
|
(#6)
|
|
||||
|
D'autres outils disponibles dans FWTools
● gdaladdo : - ajouter des 'overviews' à un fichierCe sont des sortes de vignettes de dimensions réduites, incluses dans le fichier (si son format l'autorise, p.ex. GeoTiff) ou externes (extension .ovr ou .rrd) Pour les tiff uniquement, l'utilitaire addtiffo (librairie libtiff) est également utile. ● gdal_rasterize : - rasteriser un fichier vectoriel et l'ajouter à un raster existantPar exemple, on peut ajouter le contour d'une commune (format .shp) à une orthophoto, et masquer en blanc toutes les communes alentour. Attention cet outil ne fonctionne qu'en mode "surimposition" sur un raster existant. ● gdaltindex : - créer un catalogue (format shapefile) de rastersCommode pour gérer ses dalles, et les importer par la suite sous son SIG (attribut 'location' du shp). Le catalogue peut être complété en plusieurs fois. ● gdal_contour : - à partir d'un MNT, créer des lignes de niveau en format vectoriel ● listgeo : - afficher le référencement d'un GeoTiff ● testepsg : - convertir un code EPSG en .prj, .wkt ou paramètres 'proj4'Pour consulter vite fait ce à quoi correspond précisément un code, ses paramètres etc. ● autres scripts à lancer via python (inclus) : - gcps2wld, pour calculer un worldfile à partir de points d'amer ('GCPs')-- Outils vectoriels (librairie OGR) ● ogrinfo : - afficher des informations sur un fichier vecteur (projection etc.)C'est un peu l'équivalent de gdalinfo pour tout ce qui est vectoriel ● ogr2ogr : - convertir entre formats vectorielsLe cousin vectoriel de gdal_translate et gdalwarp, en somme. ● sortshp : - trier un fichier shape d'après un attribut du dbf correspondant ● autres scripts à lancer via python (inclus) : - gcps2vec, pour convertir des points d'amer en fichier vectoriel-- Les projections avec GDAL/FWTools GDAL gère les projections (en attribuer, reprojeter...) grâce à plusieurs systèmes - chacun ayant ses forces et ses faiblesses. Certains formats ont leur propre façon de faire, et seront plus ou moins bien interprétés par GDAL/OGR, p.ex. les projections des .tab de MapInfo. Il peut traduire de façon plus ou moins fiable entre les diverses mises en forme... ● Codes EPSG Le plus simple à utiliser, si on a besoin de projections courantes. Il suffit de taper "EPSG:" suivi du code. On peut personnaliser *en local* la liste de projections, des plages de codes sont réservées pour ça. Cette liste est juste une grosse bdd. ● Projections Proj4 Une simple suite de paramètres obscurs, entre guillemets. Cela veut dire qu'on peut définir soi-même sa propre projection perso, ajuster certains paramètres etc. ● OGC Well-Known-Text (WKT) C'est une façon assez puissante d'écrire les projections "lisiblement". Un simple assemblage de paramètres plus ou moins imbriqués, dont on renseigne les valeurs... ça ressemble vaguement à du XML. Eventuellement, on peut préciser l'équivalence en code EPSG de chaque paramètre. ● Fichiers ESRI .prj En fait, c'est tout simplement une version allégée (ou "dégénérée") de WKT ! avec quelques différences mineures au niveau des abréviations employées. ● Projections style ERMapper Les logiciels de Earth Resource Inc. utilisent une simple suite de caractères ("LM2FRANC", "NTFPARIS"). Tout ce qui suit est équivalent (assigne "Lambert-93/RGF93" à un raster) code EPSG: Code:
-a_srs EPSG:2154 Code:
-a_srs "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs" Code:
PROJCS["RGF93 / Lambert-93",
GEOGCS["RGF93",
DATUM["Reseau_Geodesique_Francais_1993",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6171"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4171"]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",49],
PARAMETER["standard_parallel_2",44],
PARAMETER["latitude_of_origin",46.5],
PARAMETER["central_meridian",3],
PARAMETER["false_easting",700000],
PARAMETER["false_northing",6600000],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","2154"]]
Code:
PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",44],PARAMETER["latitude_of_origin",46.5],PARAMETER["central_meridian",3],PARAMETER["false_easting",700000],PARAMETER["false_northing",6600000],UNIT["Meter",1]] Code:
-co PROJ=LMFRAN93 -co DATUM=RGF93 |
|
(#7)
|
|
(#8)
|
|
(#9)
|
|
(#10)
|
|
(#11)
|
|
(#12)
|
|
(#13)
|
|
(#14)
|
|
||||
|
Merci
T'en fais pas Yves, c'était juste un ptit up de derrière les fagots...Infos sur la release gdal 1.4.1 |
|
(#15)
|
|
||||
|
Bonjour,
Citation:
Y. |
![]() |
| Outils de la discussion | Rechercher |
| Modes d'affichage | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| [Access 2003] Modification valeur table dans vue requête | Dready | Assistance et Programmation | 11 | 28/11/2006 15h31 |
| [ArcView 3.x] Souci de projection | jeff13 | Assistance Technique | 12 | 07/09/2006 16h19 |
| [3D] Vue des façades d'une rue | Ste1000 | Théorie des SIG - Géomatique | 7 | 06/05/2005 10h14 |
| [ArcView 3.x] Faire pivoter une vue dans une mise en page | Micka | Assistance Technique | 4 | 18/10/2004 15h31 |