#1 Fri 20 January 2012 15:53
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
QGIS : lire tif + tfw
Bonjour
Je dispose d'un raster en tif et de son associé tfw que je veux lire sous Qgis (même répertoie, même nom, que l'extension qui change)
Comment lire le .tif avec Qgis en lui associant le tfw ?
quand j'ouvre le tiff, les points sont situés à quelques 8 000 km de sa position normale : j'en conclue que QGIS n'utilise pas le tfw.
J'essaye la conversion (gdal_translate) : même résultat !
Quelqu'un aurait il une piste pour un newbiz ?
merci d'avance
Hors ligne
#2 Fri 20 January 2012 17:45
- phil008
- Participant occasionnel
- Date d'inscription: 10 Sep 2011
- Messages: 23
Re: QGIS : lire tif + tfw
Salut,
Qgis sait parfaitement lire les tif avec tfw. Je pense que si l'image est décalée de plusieurs milliers de km de tes autres couches, c'est parce que l'image utilise une projection différente de tes autres couches. Il faut que tu saches quelle est la projection exacte de ton tif et celle de tes autres couches. Après tu pourras convertir ton tif dans la même projection que tes autres couches, grâce à gdal_translate.
Si tu ne sais pas la projection de ton tif, copie-colle le contenu de ton tfw, et dis nous sur quel pays concerne ton tif. On peut toujours essayer de le deviner.
Phil
Dernière modification par phil008 (Fri 20 January 2012 18:16)
Hors ligne
#3 Sat 21 January 2012 11:54
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
Re: QGIS : lire tif + tfw
Merci pour cette piste.
Mon projet s'ouvre par défaut en RGF93 (EPSG:2154).
Ma couche de référence REF est d'origine en RGF93.
J'utilise gdal_translate pour créer un fichier NEW à partir du fichier OLD en spécifiant bien que la nouvelle projection doit être RGF93 (-a_srs EPSG:2154).
Le fichier NEW est bien créé avec la projection RGF93 (Propriété du fichier).
Mais le fichier NEW s'affiche toujours 4 000 km trop au sud de REF ("projection à la volée" est cochée - mais idem si pas cochée).
Je ne suis pas sûr que se soit un problème de projection mais plutôt une erreur de définition du point de départ du raster (point haut à gauche ?).
Qu'en pensez vous ?
Hors ligne
#4 Sat 21 January 2012 12:21
- JRM
- Participant assidu
- Lieu: Arras
- Date d'inscription: 15 Apr 2009
- Messages: 521
Re: QGIS : lire tif + tfw
Une première chose, assurez-vous de ne pas avoir confondu le système géodésique RGF93 (EPSG:6171) avec la projection RGF93-Lambert 93 (EPSG:2154 ou IGNF:LAMB93).
Hors ligne
#5 Sat 21 January 2012 13:20
- phil008
- Participant occasionnel
- Date d'inscription: 10 Sep 2011
- Messages: 23
Re: QGIS : lire tif + tfw
Autre piste: gdal_translate ne convertit pas la projection, il définit juste la projection du raster, pour renseigner les métadonnées du fichier. Donc tu crois que ton raster est en EPSG 2154, parceque tu l'as indiqué dans la commande, mais en fait il ne l'est pas (probablement). D'où la confusion.
La véritable commande pour convertir la projection d'un raster c'est gdalwarp: il faut définir la projection en entrée (obligatoire pour un TIF avec TFW) et la projection en sortie. Exemple:
Code:
gdalwarp -rc -s_srs "EPSG:4326" -t_srs "EPSG:2154" entree.tif sortie.tif
C'est pour ça qu'il faut que tu renseignes à la source, pour savoir la projection de ton tif. Après tu pourras le convertir en RGF93.
Hors ligne
#6 Sat 21 January 2012 13:22
Re: QGIS : lire tif + tfw
Bonjour,
Une deuxième est d'utiliser la bonne option : t_srs au lieu de a_srs. à
comme assign t comme target
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
#7 Sat 21 January 2012 16:49
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
Re: QGIS : lire tif + tfw
JRM :
pas de souci, je suis bien en 2154 et pas en 6171;
phil008 :
j'ai essayé gdalwarp;
résultat : message d'erreur :
Warning 1: TIFFFetchNormalTag:ASCII value for tag "GeoASCIIParams" does not end in null byte
ERROR 1: Too many points (14161 out of 14161) failed to transform, unable to compute output bounds.
autres informations :
EPSG de la couche incriminé, récupéré via Propriétés du fichier :
"EPSG:4030 - Unknown datum based upon the WGS 84 ellipsoid"
contenu du fichier .tfw :
30.00000000000000
0.00000000000000
0.00000000000000
-30.00000000000000
47620.19529999887200
2444888.88310000160000
si vous avez d'autres pistes je suis preneur
Fanchec
Hors ligne
#8 Sat 21 January 2012 17:32
- phil008
- Participant occasionnel
- Date d'inscription: 10 Sep 2011
- Messages: 23
Re: QGIS : lire tif + tfw
EDIT: ce serait pas en Bretagne par hasard ton raster? Si c'est le cas il est projeté en NTF Lambert Zone II (EPSG: 27572)
Pour le convertir en RGF93, il faut faire:
Code:
gdalwarp -rc -s_srs "EPSG:27572" -t_srs "EPSG:2154" entree.tif sortie.tif
Dernière modification par phil008 (Sat 21 January 2012 18:12)
Hors ligne
#9 Sun 22 January 2012 10:38
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
Re: QGIS : lire tif + tfw
YES !!
la projection d'origine était bien du Lambert II !!
mon problème était bien dû à une transformation de projection dont je ne connaissais pas la projection d'origine;
merci à tous pour votre réactivité
bravo à Phil008 qui a gagné un voyage en terre de gwen a du
bien cordialement
Hors ligne
#10 Sun 22 January 2012 12:00
- JRM
- Participant assidu
- Lieu: Arras
- Date d'inscription: 15 Apr 2009
- Messages: 521
Re: QGIS : lire tif + tfw
Pour passer du Lambert 2 au Lambert 93, il est plus intéressant d'utiliser les registres IGNF afin de bénéficier de la grille de transformation centimétrique.
Hors ligne
#11 Thu 09 February 2012 12:42
- aquila96
- Participant occasionnel
- Lieu: Turku
- Date d'inscription: 11 Dec 2009
- Messages: 21
Re: QGIS : lire tif + tfw
Bonjour,
Je reviens à la charge avec ce qui semble être un problème similaire. Je travaille en Finlande et j'ai récupéré une image raster d'occupation des sols (un GTiff + .tfw + .tab). La projection est censée être en KKJ (système finlandais, EPSG:2393) et j'aimerais reprojeter ce fichier dans d'autres systèmes (pour les importer ensuite sous GRASS et travailler dessus).
Premier constat: je ne sais pas trop où QGis prend en compte les tfw, parce que dans les propriétés de ce raster une fois ouvert sous QGis, c'est du WGS84 de base et si j'utilise une projection à la volée, ça reste du WGS84 qui se retrouvent bien loin des nichoirs de ma zone d'étude.
Je me suis dit que j'allais utilisé gdalwarp pour assigner à mon raster le bon EPSG avec
Code:
gdalwarp -t_srs EPSG:2393E:/Boulot/Spatial/Kauhava/LandUseSurvey/mp23n.tif E:/Boulot/Spatial/Kauhava/LandUseSurvey/LandUse1997_2393.tif
Si je l'envoie comme ça, sans préciser -s_srs, j'ai comme message
Code:
ERROR 1: No PROJ.4 translation for source SRS, coordinate transformation initialization has failed. Processing input file E:/Boulot/Spatial/Kauhava/LandUseSurvey/mp23n.tif. 0...10...20...30...40...50...60...70...80...90...100 - done.
Je trouve ça un peu étrange (j'aurais pensé que GDAL trouverait tout seul comme un grand le système de projection du fichier source) mais bon, admettons. Je recommence la même chose en spécifiant -s_srs EPSG:2393 et là pas de problème, j'ai mon beau fichier. Je l'ouvre avec QGis, définis le système de projection du projet, coche projection à la volée et ouvre un .shp où sont stockées les coordonnées des nichoirs. Perfecto, tout roule, les nichoirs sont bien placés.
Je veux donc reprojeter ce fichier (EPSG:2393) en UTM34N (EPSG:32624) et en ETRS-TM35FIN (un autre système finlandais EPSG:3067).
Je lance donc
Code:
gdalwarp -t_srs EPSG:3067 -s_srs EPSG:2393 E:/Boulot/Spatial/Kauhava/LandUseSurvey/LandUse1997_2393.tif E:/Boulot/Spatial/Kauhava/LandUseSurvey/LandUse1997_3067.tif
Une fois ouvert sous QGis, si le syst de coordonnées est bien EPSG:3067 dans les propriétés du raster, l'étendue de la couche raster est exactement la même qu'en EPSG:2393 et si j'ouvre les deux fichiers sous le même projet, ils se superposent parfaitement (laissant penser qu'il n'y a point eu de reprojections).
Ca doit faire 3 heures que j'essaye de retourner le problème dans tous les sens mais je ne vois pas... et comme je suis un peu fatigué, je dois passer à côté d'un truc évident...
Les fichiers originaux sont disponibles ici ( http://dl.free.fr/oQQ3JvMGV ) et toute aide d'une âme charitable sera la bienvenue...
Cordialement
Alexandre Villers, Postdoc researcher
Spatial ecologly and population dynamics
Section Ecology, University of Turku, 20014 Turku
Hors ligne
#12 Fri 10 February 2012 10:40
- freesnowpetrel
- Participant assidu
- Lieu: Pretoria, Afrique du Sud
- Date d'inscription: 1 Mar 2007
- Messages: 222
Re: QGIS : lire tif + tfw
Salut Alex,
Merci pour les fichiers ça aide !
Dans le tab tu trouves les infos de projections suivantes non prises en compte par gdal (If no georeferencing information is available in the TIFF file itself, GDAL will also check for, ... as well as a MapInfo .tab file (only control points used, Coordsys ignored):
CoordSys Earth Projection No,datum,units,central meridian,origin latitude,scale factor,false easting,false northing
Soit dans ton cas
CoordSys Earth Projection 24,1016,"m",27,0,1,3500000,0
qui est bien EPSG:2393
Pour assigner le bon système de coordonnées à ton raster, utilises la commande suivante :
Code:
gdal_translate -a_srs EPSG:2393 mp23n.tif mp2393.tif
Penses à utiliser gdalinfo pour vérifier le système de coordonnées.
Code:
gdalinfo mp2393.tif
Driver: GTiff/GeoTIFF
Files: mp2393.tif
Size is 3201, 3201
Coordinate System is:
PROJCS["KKJ / Finland Uniform Coordinate System",
GEOGCS["KKJ",
DATUM["Kartastokoordinaattijarjestelma_1966",
SPHEROID["International 1924",6378388,297.0000000000014,
AUTHORITY["EPSG","7022"]],
AUTHORITY["EPSG","6123"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4123"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",27],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",3500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","2393"]]
Origin = (3259987.500000000000000,7040012.500000000000000)
Pixel Size = (25.000000000000000,-25.000000000000000)
Metadata:
TIFFTAG_SOFTWARE=Arc/Info
TIFFTAG_XRESOLUTION=0.039999999
TIFFTAG_YRESOLUTION=0.039999999
TIFFTAG_RESOLUTIONUNIT=1 (unitless)
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 3259987.500, 7040012.500) ( 22d11'51.82"E, 63d22'51.22"N)
Lower Left ( 3259987.500, 6959987.500) ( 22d18'51.17"E, 62d39'55.54"N)
Upper Right ( 3340012.500, 7040012.500) ( 23d47'42.54"E, 63d25'32.57"N)
Lower Right ( 3340012.500, 6959987.500) ( 23d52'23.10"E, 62d42'32.00"N)
Center ( 3300000.000, 7000000.000) ( 23d 2'42.15"E, 63d 2'50.81"N)
Band 1 Block=3201x2 Type=Byte, ColorInterp=Palette
Color Table (RGB with 256 entries)...
Puis il te suffit de reprojeter ton nouveau raster :
Code:
gdalwarp -t_srs EPSG:3067 mp2393.tif mp3067.tif
Pas de soucis sous QGIS, les 2 ne se superposent pas !
Tu peux aussi directement reprojeter ton raster d'origine en assignant la projection de la source comme tu l'a fait, mais je comprend pas ton soucis, chez moi ça marche...
Par contre pour l'autre système de coordonnées que tu souhaites utiliser, j'ai une erreur de gdal...
Code:
gdalwarp -t_srs EPSG:32624 mp2393.tif mp32624.tif
Copying color table from mp2393.tif to new file.
ERROR 1: latitude or longitude exceeded limits
ERROR 1: Too many points (4225 out of 4225) failed to transform,
unable to compute output bounds.
A+
Rodolphe
Dernière modification par freesnowpetrel (Fri 10 February 2012 10:43)
Hors ligne
#13 Fri 10 February 2012 10:49
- aquila96
- Participant occasionnel
- Lieu: Turku
- Date d'inscription: 11 Dec 2009
- Messages: 21
Re: QGIS : lire tif + tfw
En lisant attentitvement un des messages précédents de ce fil, j'aurais pu comprendre que
gdal_translate ne convertit pas la projection, il définit juste la projection du raster, pour renseigner les métadonnées du fichier
, ce que je n'avais pas saisi à ma première lecture !
Merci Rodolphe pour le coup de main...
Alexandre Villers, Postdoc researcher
Spatial ecologly and population dynamics
Section Ecology, University of Turku, 20014 Turku
Hors ligne