Ich möchte eine georeferenzierte .tiff
Datei aus einer .png
Datei erstellen. Also konvertiere ich die .png .tiff
mit der folgenden Befehlszeile in eine normale Datei:
convert image.png image.tiff
Hier funktioniert alles gut, ich habe eine gültige .tiff
Datei, die gut angezeigt wird. Dann möchte ich einige Georeferenzierungsdaten hinzufügen. Dazu habe ich ein Tool namens gefunden tiff2geotiff
, das ich folgendermaßen verwende:
tiff2geotiff -4 "+proj=latlong +ellps=WGS84 +datum=WGS84 +no_defs" -c none -n "-122.5575664 38.5818201 -122.5449425 38.5896175" notgeoreferenced.tiff georeferenced.tiff
Dies gibt mir ein schwarzes Bild , das in QGis importiert wird und an der richtigen Stelle gut angezeigt wird, außer dass es überall schwarz ist (ein Beweis dafür, dass die georeferenzierten Daten gut hinzugefügt wurden ).
Deshalb, wenn ich es tue:
gdalinfo georeferenced.tiff
Ich erhalte:
Warning 1: TIFFReadDirectory:Bogus "StripByteCounts" field, ignoring and calculating from imagelength
Driver: GTiff/GeoTIFF
Files: araujo_tmp.tiff
Size is 1585, 979
Coordinate System is:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
Origin = (-122.557563781738281,38.589618682861328)
Pixel Size = (0.000007966552118,-0.000007972639275)
Metadata:
AREA_OR_POINT=Area
TIFFTAG_DOCUMENTNAME=georeferenced.tiff
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left (-122.5575638, 38.5896187) (122d33'27.23"W, 38d35'22.63"N)
Lower Left (-122.5575638, 38.5818135) (122d33'27.23"W, 38d34'54.53"N)
Upper Right (-122.5449368, 38.5896187) (122d32'41.77"W, 38d35'22.63"N)
Lower Right (-122.5449368, 38.5818135) (122d32'41.77"W, 38d34'54.53"N)
Center (-122.5512503, 38.5857161) (122d33' 4.50"W, 38d35' 8.58"N)
Band 1 Block=1585x1 Type=Byte, ColorInterp=Red
Band 2 Block=1585x1 Type=Byte, ColorInterp=Green
Band 3 Block=1585x1 Type=Byte, ColorInterp=Blue
Ich denke, die erste Warnung könnte das Problem sein ...
Gibt es jemanden, der weiß warum oder auf andere Weise? Ich suche nach Lösungen in der Kommandozeile oder in PHP
.
Vielen Dank !
Lösung
Ich habe herausgefunden, gdal_translate
dass Georeferenzierungsdaten zu .tiff
Bildern hinzugefügt werden können. Hier ist die Befehlszeile, die aus PNG konvertiert und Georeferenzierungsdaten hinzufügt (Sie müssen llx ury urx lly
natürlich die Extents ( ) ersetzen ):
gdal_translate -a_nodata 0 -of GTiff -a_srs EPSG:4326 -a_ullr llx ury urx lly pngfile.png tifffile.tiff
quelle
Antworten:
Anstatt mit
convert
, könnten Sie zu verwenden versuchen ,gdal_translate
die png zu TIFF konvertieren und dann gdal_warp mit Georeferenzierung (vorausgesetzt , Sie eine tfw - Datei für das TIFF erstellt haben)?quelle
gdal_translate -scale pngfile.png tifffile.tiff
Kennen Sie den Umfang des Bildes? Wenn Sie die Begrenzungskoordinaten des Bildes kennen, können Sie uns mit -a_srs (dies weist die Projektion zu) und -a_ullr (dies sind die Begrenzungskoordinaten) gdal_translate. Ich habe dies verwendet, um .jpg von Sonarbildern von einer kostengünstigen Angelsonareinheit in Geotiffs umzuwandeln.
quelle