gpt4 book ai didi

python - 将 Sentinel-1 SAR 图像的像素位置转换为地理坐标(纬度、经度)

转载 作者:行者123 更新时间:2023-12-01 09:18:06 25 4
gpt4 key购买 nike

如何从 Sentinel-1 合成孔径雷达 (SAR) 卫星图像中的 x,y 位置获取地理坐标

例如,我可以访问下载的图像信息 sg 作为

from snappy import ProductIO
from snappy import PixelPos
path='path_name'
product = ProductIO.readProduct(path)
sg = product.getSceneGeoCoding()

但是如何使用 ESA's snap engine within Python 获取 sg 中所需点 (x, y) 的纬度经度

最佳答案

使用下面的自定义函数,我们可以轻松地将图像sg内的任何点转换为其坐标(纬度,经度):

def LatLon_from_XY(ProductSceneGeoCoding, x, y):
#From x,y position in satellite image (SAR), get the Latitude and Longitude
geopos = ProductSceneGeoCoding.getGeoPos(PixelPos(x, y), None)
latitude = geopos.getLat()
longitude = geopos.getLon()
return latitude, longitude

更新:由于各种snap版本更新,上述功能可能无法正常使用。下面的功能应该在大多数情况下都可以工作。

def LatLon_from_XY(product, x, y):
geoPosType = jpy.get_type('org.esa.snap.core.datamodel.GeoPos')
geocoding = product.getSceneGeoCoding()
geo_pos = geocoding.getGeoPos(snappy.PixelPos(x, y), geoPosType())
if str(geo_pos.lat)=='nan':
raise ValueError('x, y pixel coordinates not in this product')
else:
return geo_pos.lat, geo_pos.lon

例如对于给定的sg产品,我们可以获得像素坐标(x=12000,y=2000)为

latitude, longitude = LatLon_from_XY(sg, 12000, 2000)

关于python - 将 Sentinel-1 SAR 图像的像素位置转换为地理坐标(纬度、经度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51046217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com