Quiero crear un .tiff
archivo georreferenciado a partir de un .png
archivo. Así que convierto el .png en un .tiff
archivo normal usando la siguiente línea de comando:
convert image.png image.tiff
Aquí, todo funciona bien, tengo un .tiff
archivo válido , que se muestra bien. Entonces, quiero agregar algunos datos de georreferenciación en él. Para hacerlo, encontré una herramienta llamada tiff2geotiff
, la estoy usando así:
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
Esto me da una imagen en negro que, importada en QGis, se muestra bien en el buen lugar, excepto que es negra en todas partes (prueba de que los datos georreferenciados se han agregado bien ).
Por lo tanto, cuando hago:
gdalinfo georeferenced.tiff
Yo obtengo :
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
Creo que la primera advertencia puede ser el problema ...
¿Hay alguien que sepa por qué u otra forma de hacer esto? Estoy buscando soluciones en línea de comando o en PHP
.
Gracias !
Solución
Descubrí que gdal_translate
puede agregar datos de georreferenciación en .tiff
imágenes , así que aquí está la línea de comando que convierte de png y agrega datos de georreferenciación (debe reemplazar las extensiones ( llx ury urx lly
), por supuesto):
gdal_translate -a_nodata 0 -of GTiff -a_srs EPSG:4326 -a_ullr llx ury urx lly pngfile.png tifffile.tiff
fuente
Respuestas:
En lugar de usar
convert
, ¿podría intentar usargdal_translate
para convertir png a tiff y luego georreferenciarlo usando gdal_warp (suponiendo que haya creado un archivo tfw para el tiff)?fuente
gdal_translate -scale pngfile.png tifffile.tiff
¿Conoces la extensión de la imagen? Si conoce las coordenadas delimitadoras de la imagen, puede usar gdal_translate con -a_srs (esto asigna la proyección) y -a_ullr (estas son las coordenadas delimitadoras). He usado esto para convertir .jpg de imágenes de sonda de una unidad de sonda de pesca de bajo costo a geotiffs.
fuente