我想.tiff
从.png
文件创建地理参考文件。因此,我.tiff
使用以下命令行将.png转换为普通文件:
convert image.png image.tiff
在这里,一切正常,我有一个有效的.tiff
文件,显示正常。然后,我想在其中添加一些地理配准数据。为此,我找到了一个名为的工具tiff2geotiff
,我正在这样使用它:
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
这给了我黑色图像,该图像在QGis中导入,在适当的地方显示良好,除了在各处都是黑色(证明已正确添加了地理参考数据)。
因此,当我这样做时:
gdalinfo georeferenced.tiff
我得到:
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
我认为第一个警告可能是问题所在...
是否有人知道这样做的原因或其他方法?我在命令行或中寻找解决方案PHP
。
谢谢 !
解
我发现gdal_translate
可以在.tiff
图像中添加地理配准数据,因此这是从png转换并添加地理配准数据的命令行(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
关于您的问题,如果有gdal php绑定,则GDAL / OGR当前不正确支持PHP。 trac.osgeo.org/gdal/wiki/GdalOgrInPhp
—
尼克斯2012年