python gdal 影像坐标转换
时间: 2023-07-09 19:23:23 浏览: 104
你可以使用 GDAL 库中的 Python 绑定来进行影像坐标转换。下面是一个简单的例子:
```python
from osgeo import gdal, osr
# 打开影像文件
ds = gdal.Open('input.tif')
# 获取源影像的投影信息和地理信息
src_proj = osr.SpatialReference()
src_proj.ImportFromWkt(ds.GetProjectionRef())
src_geo = ds.GetGeoTransform()
# 定义目标投影
dst_proj = osr.SpatialReference()
dst_proj.SetWellKnownGeogCS('WGS84') # 例如,设置目标坐标系为 WGS84
# 创建坐标转换对象
coord_trans = osr.CoordinateTransformation(src_proj, dst_proj)
# 获取影像的宽度和高度
width = ds.RasterXSize
height = ds.RasterYSize
# 计算转换后的坐标
ulx, uly, _ = coord_trans.TransformPoint(src_geo[0], src_geo[3])
lrx, lry, _ = coord_trans.TransformPoint(src_geo[0] + src_geo[1] * width, src_geo[3] + src_geo[5] * height)
# 输出转换后的坐标范围
print('Upper Left: ({}, {})'.format(ulx, uly))
print('Lower Right: ({}, {})'.format(lrx, lry))
# 关闭影像文件
ds = None
```
在上面的例子中,我们打开了一个名为 `input.tif` 的影像文件,并获取了其投影信息和地理信息。然后,我们定义了一个名为 `dst_proj` 的目标投影,创建了一个名为 `coord_trans` 的坐标转换对象,并使用 `coord_trans.TransformPoint` 方法计算了转换后的坐标范围。最后,我们输出了转换后的坐标范围,并关闭了影像文件。
阅读全文