版权声明:转载请注明作者(独孤尚良dugushangliang)出处: https://blog.csdn.net/dugushangliang/article/details/89377625

右键“此电脑”打开电脑属性,高级系统设置,环境变量,直接设置GDAL_DATA环境变量,如下图所示。

附注:本机是Anaconda通过pip安装的gdal。用GDAL/OGR的时候发现坐标系有问题,参照这个帖子https://blog.csdn.net/csdn_xuebing/article/details/88421708,下了gata-data.rar这个包并放在Anaconda的相关路径下。这个包的来源https://github.com/wudawxb1995/ForLearn。

——*——*——*——*——*——*——*——*——*——*——*——*——*——*——手动分割线

以下是详情。

我是通过在cmd(命令提示符)窗口输入以下代码安装python的GDAL库的。可参阅:https://pypi.org/project/GDAL/

pip install GDAL

执行后可以使用ogr创建shp文件,但用ArcGIS打开被提示没有坐标信息,可是我明明在创建shp文件的时候制定了坐标系了的,为什么会这样呢?

我是在Spyder中直接执行的,没有任何报错。代码来源于ogr网页一个示例,网址为http://pcjericks.github.io/py-gdalogr-cookbook/index.html,代码如下:

import osgeo.osr as osrsrs = osr.SpatialReference()
aa=srs.ImportFromEPSG(4326)
#print(aa,srs)

我看了这个网址https://www.programcreek.com/python/example/58591/osgeo.osr.SpatialReference,再次证实代码没有问题。

在我继续寻找问题的解决办法时候,看到了这个地方。网址https://www.gdal.org/classOGRSpatialReference.html#a8a5b8c9a205eedc6b88a14aa0c219969

我试着输出了下返回值aa和srs的各个属性项,Spyder反馈给我如下。

发现aa的值似乎不对,srs的属性也输出不了。我无意间使用cmd执行这代码的时候发现了问题所在。

cmd提示我:

ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA
environment variable to point to the directory containing EPSG csv files.

看来这就是环境变量的问题了。问题的症结所在终于浮出水面:osr试图通过GDAL_DATA这个环境变量寻找相应的包,但没有这个环境变量,所以找不到相应的包,我们需要指定这个环境变量,也要保证这个环境变量指向的是osr所需要的东西。

仔细看OGRErr OGRSpatialReference::importFromEPSG    (    int     nCode    )    的内容,即上文的截图所示。看不懂英文可以看下图的翻译。

所以本文开篇即点明,需要下载gata-data.rar这个包。

那么gcs.csv是什么东西呢?是各坐标系的各参数。

我们再运行那三行代码,即成功设定了坐标系了。

独孤尚良dugushangliang——著

python使用GDAL/OGR/OSR时设置GDAL_DATA环境变量相关推荐

  1. python cx_oracle配置_用Python设置cx_Oracle环境变量

    cx_Oracle for Python要求在适当的位置设置某些环境变量,以便正确导入和工作.我不想用bash脚本来包装我的应用程序,我以前也做过这样的工作,我只想用Python来设置变量. 下面是我 ...

  2. python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别

    玩蛇网推荐图文教程:python 列表 要想修改Linux环境变量有两种方法可以实现,但是关于Linux环境变量export方法与修改文件方法的区别你又了解多少呢?设置 Linux 环境变量可以通过 ...

  3. python需要配置环境变量吗_python需要设置哪些环境变量?我只知道一个PYTHONHOME指向安装目录。(python详细安装教程 path)...

    怎么把Python文件夹添加进Path中 "我的电脑"点右键,"属性" "高级","环境变量","系统变量&q ...

  4. 设置PATH 环境变量、pyw格式、命令行运行python程序与多重剪贴板

    pyw格式简介: 与py类似,我认为他们俩卫衣的不同就是前者运行时候不显示终端窗口,后者显示 命令行运行python程序: 在我学习python的过程中我通常使用IDLE来运行程序,这一步骤太过繁琐( ...

  5. linux环境oracle环境变量,Linux下设置oracle环境变量

    Linux设置Oracle环境变量 方法一:直接运行export命令定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新s ...

  6. python的path是什么意思_pythonpath_windows pythonpath_pythonpath环境变量 - 云+社区 - 腾讯云...

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我这里变量的值是d:pythonlib,就是告诉解释器要去d盘下的python目 ...

  7. linux php和java环境变量配置_Linux设置PHP环境变量

    区分 环境变量从时间上可分为临时性和永久性,这里只说明永久性的设置 操作 PHP 安装目录 找到PHP的安装目录:我这里是/phpstudy/server/php 其bin目录为:/phpstudy/ ...

  8. Go 学习笔记(44)— Go 标准库之 os(获取文件状态、获取/修改文件权限、创建、删除目录和文件、获取进程ID、设置获取环境变量)

    1. 概述 os 包提供了操作系统函数的不依赖平台的接口.失败的调用会返回错误值而非错误码.通常错误值里包含更多信息.例如,如果某个使用一个文件名的调用(如Open.Stat)失败了,打印错误时会包含 ...

  9. 为什么要设置java环境变量_为什么要配置JDK环境变量?

    因为电脑不知道javac这个命令是在C:\Program Files\Java\jdk1.8.0_65\bin\的这个路径下面,所以我们要设置好环境变量,来让电脑知道其路径. 1. path(环境变量 ...

最新文章

  1. arcgis flex aqi 3大util
  2. 水晶报表自定义函数(替换并截取特殊字符后内容)
  3. OpenCV学习(二十二) :反向投影:calcBackProject(),mixChannels()
  4. Windows驱动程序开发语言
  5. 基础编程题之牛客网星际密码
  6. 使用Flask-Migrate进行管理数据库升级
  7. UVA12545_Bits Equalizer
  8. Keil安装使用基础篇
  9. Solidworks装配体教程:善用连接重组
  10. 手游用户数据分析平台
  11. 火狐 全屏_如何禁用Firefox的全屏警告消息
  12. 电路原理图(SCH)相关知识详解
  13. TCP协议全面实验分析详解
  14. 开源星空照片_如何拍摄星空的好照片
  15. MYSQL ‘S APPLY
  16. js 判断字符串是否为数字(正整数)
  17. 远程桌面电脑连接设置
  18. (栈帧和函数调用一)栈帧,函数调用与栈的关系
  19. 无法启动计算机丢失s7EPAAPI,200smart编程软件无法启动提示s7epaapi.dll丢失。-工业支持中心-西门子中国...
  20. 万用表检测驻极体话筒好坏

热门文章

  1. POJ1036 Gangsters
  2. 云和恩墨携手华为:让数据成就价值
  3. 计算机原理-计算机为什么采用二进制
  4. 【蓝桥杯——单片机学习笔记】十二.LCD1602(STC15F2K60S2)
  5. 20190324游戏场景百度地图150次联网耗电
  6. 制作ghost的linux系统安装方法,(转)linux系统GHOST备份方案
  7. chm文件的文件格式 (chm format)
  8. 大数据时代,企业如何进行有效的信息资源整合?
  9. Linux API 网址转换(DWORD, IP,域名)
  10. 2021年危险化学品经营单位安全管理人员模拟试题及危险化学品经营单位安全管理人员实操考试视频