Eu quero criar um .tiff
arquivo georreferenciado a partir de um .png
arquivo. Então, eu converto o .png em um .tiff
arquivo normal usando a seguinte linha de comando:
convert image.png image.tiff
Aqui, tudo funciona bem, eu tenho um .tiff
arquivo válido , que exibe bem. Quero adicionar alguns dados de georreferenciamento. Para fazer isso, encontrei uma ferramenta chamada tiff2geotiff
, estou usando-a assim:
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
Isso me dá uma imagem em preto que, importada no QGis, é exibida em boas condições, exceto que é preta em todos os lugares (prova de que os dados georreferenciados foram bem adicionados ).
Portanto, quando eu faço:
gdalinfo georeferenced.tiff
Eu obtenho :
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
Eu acho que o primeiro aviso pode ser o problema ...
Existe alguém que sabe por que ou outra maneira de fazer isso? Estou procurando soluções em linha de comando ou em PHP
.
Obrigado !
Solução
Descobri que gdal_translate
pode adicionar dados de georreferenciamento em .tiff
imagens , então aqui está a linha de comando que converte de png e adiciona dados de georreferenciamento (é necessário substituir as extensões ( llx ury urx lly
), é claro):
gdal_translate -a_nodata 0 -of GTiff -a_srs EPSG:4326 -a_ullr llx ury urx lly pngfile.png tifffile.tiff
fonte
Respostas:
Em vez de usar
convert
, você poderia tentargdal_translate
converter o png em tiff e georreferenciar usando gdal_warp (supondo que você tenha criado um arquivo tfw para o tiff)?fonte
gdal_translate -scale pngfile.png tifffile.tiff
Você conhece a extensão da imagem? Se você conhece as coordenadas delimitadoras da imagem, pode-se gdal_translate com -a_srs (isso atribui a projeção) e -a_ullr (estas são as coordenadas delimitadoras). Eu usei isso para converter .jpg de imagens de sonar de uma unidade de sonar de pesca de baixo custo em geotiffs.
fonte