从 GeoTIFF 文件获取纬度和经度
在Python中使用GDAL,如何获取GeoTIFF文件的纬度和经度?
GeoTIFF 似乎不存储任何坐标信息。相反,它们存储 XY 原点坐标。但是,XY 坐标不提供左上角和左下角的纬度和经度。
看来我需要做一些数学来解决这个问题,但我不知道从哪里开始。
执行此操作需要什么程序?
我知道 GetGeoTransform()
方法对此很重要,但是,我不知道如何处理它。
Using GDAL in Python, how do you get the latitude and longitude of a GeoTIFF file?
GeoTIFF's do not appear to store any coordinate information. Instead, they store the XY Origin coordinates. However, the XY coordinates do not provide the latitude and longitude of the top left corner and bottom left corner.
It appears I will need to do some math to solve this problem, but I don't have a clue on where to start.
What procedure is required to have this performed?
I know that the GetGeoTransform()
method is important for this, however, I don't know what to do with it from there.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要获取 geotiff 角点的坐标,请执行以下操作:
但是,这些坐标可能不是纬度/经度格式。正如 Justin 指出的,您的 geotiff 将使用某种坐标系存储。如果您不知道它是什么坐标系,您可以通过运行
gdalinfo
来查找:Whichoutputs:
此输出可能就是您所需要的。但是,如果您想在 python 中以编程方式执行此操作,这就是您获取相同信息的方式。
如果坐标系是一个
PROJCS
(如上面的示例),那么您正在处理投影坐标系。投影坐标系统是表示球形地球表面,但被压平并扭曲到平面上。如果需要纬度和经度,则需要将坐标转换为所需的地理坐标系。遗憾的是,并非所有纬度/经度对都是平等的,因为它们基于不同的地球球体模型。在此示例中,我将转换为 WGS84,这是 GPS 中青睐的地理坐标系,所有人都在使用流行的网络地图网站。坐标系由明确定义的字符串定义。它们的目录可以从 spatial ref 获得,例如参见 WGS84。
希望这能达到你想要的效果。
To get the coordinates of the corners of your geotiff do the following:
However, these might not be in latitude/longitude format. As Justin noted, your geotiff will be stored with some kind of coordinate system. If you don't know what coordinate system it is, you can find out by running
gdalinfo
:Which outputs:
This output may be all you need. If you want to do this programmaticly in python however, this is how you get the same info.
If the coordinate system is a
PROJCS
like the example above you are dealing with a projected coordinate system. A projected coordiante system is a representation of the spheroidal earth's surface, but flattened and distorted onto a plane. If you want the latitude and longitude, you need to convert the coordinates to the geographic coordinate system that you want.Sadly, not all latitude/longitude pairs are created equal, being based upon different spheroidal models of the earth. In this example, I am converting to WGS84, the geographic coordinate system favoured in GPSs and used by all the popular web mapping sites. The coordinate system is defined by a well defined string. A catalogue of them is available from spatial ref, see for example WGS84.
Hopefully this will do what you want.
我不知道这是否是完整的答案,但此网站说:
所以它们实际上可能是经度和纬度。
I don't know if this is a full answer, but this site says:
so they may actually be longitude and latitude.