1.安装GDAL包

建议https://www.lfd.uci.edu/~gohlke/pythonlibs/#_gdal找对应的python版本下载之后安装

pip install GDAL‑3.4.2‑cp37‑cp37m‑win_amd64.whl

然后就是要设置一下环境变量


重启计算机之后再进行一些函数的调用就可以了

2.投影以及坐标转换等

def getSRSPair(dataset):'''获得给定数据的投影参考系和地理参考系:param dataset: GDAL地理数据:return: 投影参考系和地理参考系'''prosrs = osr.SpatialReference()prosrs.ImportFromWkt(dataset.GetProjection())geosrs = prosrs.CloneGeogCS()return prosrs, geosrsdef geo2lonlat(dataset, x, y):'''将投影坐标转为经纬度坐标(具体的投影坐标系由给定数据确定):param dataset: GDAL地理数据:param x: 投影坐标x:param y: 投影坐标y:return: 投影坐标(x, y)对应的经纬度坐标(lon, lat)'''prosrs, geosrs = getSRSPair(dataset)ct = osr.CoordinateTransformation(prosrs, geosrs)coords = ct.TransformPoint(x, y)return coords[:2]def lonlat2geo(dataset, lon, lat):'''将经纬度坐标转为投影坐标(具体的投影坐标系由给定数据确定):param dataset: GDAL地理数据:param lon: 地理坐标lon经度:param lat: 地理坐标lat纬度:return: 经纬度坐标(lon, lat)对应的投影坐标'''prosrs, geosrs = getSRSPair(dataset)ct = osr.CoordinateTransformation(geosrs, prosrs)coords = ct.TransformPoint(lon, lat)return coords[:2]def imagexy2geo(dataset, row, col):'''根据GDAL的六参数模型将影像图上坐标(⾏列号)转为投影坐标或地理坐标(根据具体数据的坐标系统转换):param dataset: GDAL地理数据:param row: 像素的⾏号:param col: 像素的列号:return: ⾏列号(row, col)对应的投影坐标或地理坐标(x, y)'''trans = dataset.GetGeoTransform()px = trans[0] + col * trans[1] + row * trans[2]py = trans[3] + col * trans[4] + row * trans[5]return px, pydef geo2imagexy(dataset, x, y):'''根据GDAL的六 参数模型将给定的投影或地理坐标转为影像图上坐标(⾏列号):param dataset: GDAL地理数据:param x: 投影或地理坐标x:param y: 投影或地理坐标y:param y: 投影或地理坐标y:return: 影坐标或地理坐标(x, y)对应的影像图上⾏列号(row, col)'''trans = dataset.GetGeoTransform()a = np.array([[trans[1], trans[2]], [trans[4], trans[5]]])b = np.array([x - trans[0], y - trans[3]])return np.linalg.solve(a, b) # 使用numpy的linalg.solve进行二元一次方程的求解if __name__ == '__main__':gdal.AllRegister()dataset = gdal.Open(r"E:\\1207\\input\\L17.tif")print('数据投影:')print(dataset.GetProjection())print('数据的大小(行,列):')print('(%s %s)' % (dataset.RasterYSize, dataset.RasterXSize))x = 464201y = 5818760lon = 122.47242lat = 52.51778row = 2399col = 3751print('投影坐标 -> 经纬度:')coords = geo2lonlat(dataset, x, y)print('(%s, %s)->(%s, %s)' % (x, y, coords[0], coords[1]))print('经纬度 -> 投影坐标:')coords = lonlat2geo(dataset, lon, lat)print('(%s, %s)->(%s, %s)' % (lon, lat, coords[0], coords[1]))print('图上坐标 -> 投影坐标:')coords = imagexy2geo(dataset, row, col)print('(%s, %s)->(%s, %s)' % (row, col, coords[0], coords[1]))print('投影坐标 -> 图上坐标:')coords = geo2imagexy(dataset, x, y)print('(%s, %s)->(%s, %s)' % (x, y, coords[0], coords[1]))

当然这也是copy网上一位的,很有用以后方便找就传了
侵删

Python 基于GDAL包的一些地理坐标投影转换 包括GDAL的安装以及环境配置设置相关推荐

  1. python基于pingouin包进行统计分析:使用ancova函数执行协方差分析、covar参数设置单个协方差变量、以dataframe的形式输出分析结果(包含SS、自由度、F值、p值、np2等)

    python基于pingouin包进行统计分析:使用ancova函数执行协方差分析.covar参数设置单个协方差变量.以dataframe的形式输出分析结果(包含SS.自由度.F值.p值.np2等) ...

  2. Python基于statsmodels包构建多元线性回归模型:模型构建、模型解析、模型推理预测

    Python基于statsmodels包构建多元线性回归模型:模型构建.模型解析.模型推理预测 目录

  3. python基于pingouin包进行统计分析:使用pairwise_tukey函数执行Tukey检验进行事后分析(Pairwise Tukey post-hocs)

    python基于pingouin包进行统计分析:使用pairwise_tukey函数执行Tukey检验进行事后分析(Pairwise Tukey post-hocs) 目录

  4. python基于pingouin包进行统计分析:使用tost函数执行独立双样本双单侧检验(TOST)、以dataframe的形式输出分析结果(包含p值、自由度、bound等)

    python基于pingouin包进行统计分析:使用tost函数执行独立双样本双单侧检验(TOST).以dataframe的形式输出分析结果(包含p值.自由度.bound等) 目录

  5. python基于pingouin包进行统计分析:使用tost函数执行单样本的双单侧检验(TOST)、以dataframe的形式输出分析结果(包含p值、自由度、bound等)

    python基于pingouin包进行统计分析:使用tost函数执行单样本的双单侧检验(TOST).以dataframe的形式输出分析结果(包含p值.自由度.bound等) 目录

  6. python基于pingouin包进行统计分析:使用tost函数执行配对的双单侧检验(TOST)、以dataframe的形式输出分析结果(包含p值、自由度、bound等)

    python基于pingouin包进行统计分析:使用tost函数执行配对的双单侧检验(TOST).以dataframe的形式输出分析结果(包含p值.自由度.bound等) 目录

  7. python基于pingouin包进行统计分析:使用mediation_analysis函数构建包含协变量的mediation analysis(中介分析)模型、covar参数指定协变量

    python基于pingouin包进行统计分析:使用mediation_analysis函数构建包含协变量的mediation analysis(中介分析)模型.covar参数指定协变量.以dataf ...

  8. python基于pingouin包进行统计分析:使用partial_corr函数执行两个变量之间的半相关性检验、x_covar参数指定对应的协变量(多个)、以dataframe的形式返回结果

    python基于pingouin包进行统计分析:使用partial_corr函数执行两个变量之间的半相关性检验.x_covar参数指定对应的协变量(多个).以dataframe的形式返回结果(包含p值 ...

  9. python基于pingouin包进行统计分析:使用partial_corr函数执行两个变量之间的偏相关性检验、covar参数指定对应的协变量(多个)、method参数指定相关性分析方法

    python基于pingouin包进行统计分析:使用partial_corr函数执行两个变量之间的偏相关性检验.covar参数指定对应的协变量(多个).method参数指定相关性分析方法.altern ...

最新文章

  1. Android 使用adb 命令截图 的方法
  2. 全局声明宏定义_Rust语言:元编程,强大的宏系统,菜鸟到高手进阶的必经之路...
  3. shell脚本不暂停进程,暂停几秒执行下一条shell命令
  4. HelloWorld程序的代码编写
  5. Java 8 日期和时间解读
  6. 三国佚事——巴蜀之危【递推】
  7. python redis pipeline使用方法_Redis中的管道Pipeline操作
  8. Python批量生成垃圾邮件内容
  9. 转行学编程,女孩子适合web前端还是Java?
  10. 如何选择Spark Streaming 的Reveiver和Direct模式
  11. idea 项目启动报错:Missing artifact com.oracle:ojdbc7:jar:12.1.0.1的处理方式
  12. java 验证码识别_java验证码识别
  13. 远区场matlab仿真,matlab结题报告(电偶极子的辐射场)博客_0.doc
  14. 店铺流量突然下滑是怎么回事,我们应该从哪些角度来分析?
  15. 计算机监控系统在地铁中的应用有哪些,地铁综合监控
  16. java实现海盗比酒量
  17. 美团2023届笔试题解
  18. shell语法(2)
  19. google play 此应用使用的结算功能版本已不能受支持。
  20. EAS的WEB开发入门

热门文章

  1. 项目管理-会议运作机制
  2. 触发器+日志+备份与恢复
  3. 阿里云/腾讯云服务器上部署Nginx,域名,SSL证书
  4. 发那科机器人override指令_【发那科】机器人控制指令介绍(二)
  5. 鞋子色差检测用电脑色差仪
  6. 最新AUTO病毒变种(Win32.Troj.AutoRun.te.v)的分析和解决方案
  7. 对比学习中的4种经典训练模式
  8. LayUI中的基本元素之 日期和时间组件文档
  9. 教师一定要看的15部电影
  10. python快速实现2048小游戏