Tôi muốn tạo một .tifftệp tham chiếu địa lý từ một .pngtệp. Vì vậy, tôi chuyển đổi .png thành một .tifftệ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 .tifftậ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_translatecó thể thêm dữ liệu hội nghị địa lý vào .tiffhì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