我有一张没有地理数据的TIFF格式图像(地图)。
我需要从我的图像获得GeoTIFF文件。我有我的地图每个角落的纬度和经度信息。如何将我的地理数据添加到我的图像中,并使用Google空间参考获取Geotiff?我知道GDAL可以帮助我完成这个操作。有人可以帮我构建一个命令吗?
我有一张没有地理数据的TIFF格式图像(地图)。
我需要从我的图像获得GeoTIFF文件。我有我的地图每个角落的纬度和经度信息。如何将我的地理数据添加到我的图像中,并使用Google空间参考获取Geotiff?我知道GDAL可以帮助我完成这个操作。有人可以帮我构建一个命令吗?
你的回答有些正确,但请允许我扩展一下。你是对的,你需要使用gdal_translate工具来设置地面控制点(gcps)以进行图像地理参考。但命令行参数应该按照以下方式设置:
gdal_translate -of GTiff -a_srs EPSG:4326 -gcp [pixel line easting northing] -gcp [pixel line easting northing] -gcp [pixel line easting northing] sourcefile outpulfile
你不一定需要输出到 VRT 文件,如果你想对文件执行其他算法、向其中添加更多数据集或最终将其输出为 KML 等等(你可以在这里阅读更多信息:http://www.gdal.org/gdal_vrttut.html),VRT 文件就会很有用。但是出于这个目的,将 -of
设置为 GTiff 是理想的选择。
-a_srs EPSG:4326
接下来,在空间参考中,你是正确的,应该使用谷歌地球使用的WGS84作为参考坐标系。但是我们使用EPSG:4326
进行指定——这只是测绘委员会达成一致以标识全球坐标系的编码方案(http://www.epsg.org/)。
-gcp [pixel line easting northing]
地面控制点可能是命令行参数中最棘手的部分。前两个数字表示您实际图像的像素和线坐标,例如(0,0)代表您的图像左上角。接下来应该跟随的第二组数字是您的图像应参照的相应纬度/经度坐标。现在,您只需要3个这样的-gcps
,因为如果您的图像是正方形/矩形,第四个点将被确定。
sourcefile outputfile
这部分应该是不言自明的,只需记住它们都是*.tif文件。
现在,还有一件事情需要完成才能完成任务。您将需要实际将图像投影到坐标系统中以使其对齐。这是使用gdalwarp
命令完成的(http://www.gdal.org/gdalwarp.html)。
gdalwarp -t_srs EPSG:4326 sourcefile outputfile
如果您需要除GeoTiff之外的其他输出文件格式,您需要指定一个-of
(输出文件格式)参数 - 但默认格式为GTiff,因此您不需要指定。
gdalwarp
的 sourcefile
是你从 gdal_translate
工具中获得的 outputfile
。 - Suvi Vignarajahgdal_translate -of VRT -a_srs WGS84 -a_ullr 55.7254060 37.5516230 55.7248920 37.5569120 source image destination image
gdal_translate -of VRT -a_srs "spacial reference" -a_ullr "left top lat/long" "right bottom lat/long" source image destination image