使用GDAL进行简单的坐标系转换

20 篇文章 7 订阅

使用GDAL进行简单的坐标系转换

使用python GDAL进行简单的坐标系转换,暂时不考虑不同基准坐标系转换的精度问题。

安装环境

使用Ubuntu+Anaconda python 环境
conda install gdal

定义坐标系

from osgeo import gdal
from osgeo import osr
srs_wgs84 = osr.SpatialReference()
srs_wgs84.ImportFromEPSG(4326)


srs_beijing = osr.SpatialReference()
srs_beijing.ImportFromEPSG(2418)
print(srs_wgs84)

在这里插入图片描述

print(srs_beijing)

在这里插入图片描述

定义坐标转换Transform

xmin=42386600
ymin=4663300
xmax=42393800
ymax=4670900

ct = osr.CoordinateTransformation(srs_beijing, srs_wgs84)
min_coords = ct.TransformPoint(ymin, xmin)
print(min_coords)

max_coords = ct.TransformPoint(ymax, xmax)
print(max_coords)

在这里插入图片描述

参考

1、https://blog.csdn.net/mrbaolong/article/details/104212918

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用GDAL库来实现坐标系转换,需要先安装GDAL库,并在代码中引用相关的头文件和库文件。以下是一个简单的C++代码示例,演示了如何使用GDAL库来实现坐标系转换: ```c++ #include "gdal_priv.h" #include "ogr_spatialref.h" int main() { // 创建源坐标系 OGRSpatialReference srcSRS; srcSRS.SetWellKnownGeogCS("WGS84"); // 创建目标坐标系 OGRSpatialReference dstSRS; dstSRS.SetWellKnownGeogCS("NAD83"); // 创建坐标转换器 OGRCoordinateTransformation* transform = OGRCreateCoordinateTransformation(&srcSRS, &dstSRS); if (transform == NULL) { // 坐标转换器创建失败 return -1; } // 定义源坐标点 double srcX = 116.403963; double srcY = 39.915119; // 定义目标坐标点 double dstX, dstY; // 进行坐标转换 transform->Transform(1, &srcX, &srcY, &dstX, &dstY); // 输出转换结果 printf("Source: %lf, %lf\n", srcX, srcY); printf("Destination: %lf, %lf\n", dstX, dstY); // 释放坐标转换器 OGRCoordinateTransformation::DestroyCT(transform); return 0; } ``` 在这个示例中,我们首先创建了源坐标系和目标坐标系,然后使用OGRCreateCoordinateTransformation函数创建了一个坐标转换器。接着,我们定义了源坐标点的坐标值,然后使用Transform函数进行坐标转换,将源坐标点转换为目标坐标系中的点。最后,我们输出了转换结果,并释放了坐标转换器。 需要注意的是,这个示例中仅演示了如何进行基本的坐标转换,如果需要进行其他类型的坐标转换,例如投影坐标系之间的转换,需要进行更复杂的计算和处理。此时,我们可以使用GDAL库提供的其他函数和类来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值