Tôi muốn tạo một .tiff
tệp tham chiếu địa lý từ một .png
tệp. Vì vậy, tôi chuyển đổi .png thành một .tiff
tệp bình thường bằng dòng lệnh sau:
convert image.png image.tiff
Ở đây, tất cả đều hoạt động tốt, tôi có một .tiff
tập tin hợp lệ , hiển thị tốt. Sau đó, tôi muốn thêm một số dữ liệu hội nghị địa lý trong đó. Để làm như vậy, tôi tìm thấy một công cụ có tên tiff2geotiff
, tôi đang sử dụng nó như thế này:
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
Điều này mang lại cho tôi một hình ảnh màu đen , được nhập vào QGis, hiển thị tốt ở vị trí tốt, ngoại trừ màu đen ở mọi nơi (bằng chứng là dữ liệu tham chiếu địa lý đã được thêm vào ).
Vì vậy, khi tôi làm:
gdalinfo georeferenced.tiff
Tôi có được :
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
Tôi nghĩ rằng cảnh báo đầu tiên có thể là vấn đề ...
Có ai đó biết tại sao hoặc cách khác để làm điều này? Tôi đang tìm giải pháp trong dòng lệnh hoặc trong PHP
.
Cảm ơn bạn !
Giải pháp
Tôi phát hiện ra gdal_translate
có thể thêm dữ liệu hội nghị địa lý vào .tiff
hình ảnh , vì vậy đây là dòng lệnh chuyển đổi từ png và thêm dữ liệu hội nghị địa lý (tất nhiên bạn phải thay thế phạm vi ( llx ury urx lly
)):
gdal_translate -a_nodata 0 -of GTiff -a_srs EPSG:4326 -a_ullr llx ury urx lly pngfile.png tifffile.tiff