GDAL读取Shp问题解决:Unable to open EPSG support file gcs.csv

在GIS软件的开发中,经常用到开源库GDAL读取Shp数据,当shp数据中包含投影信息时,可能会遇到“Unable to open EPSG support file gcs.csv”错误提示,该错误是由于没有设置“GDAL_DATA”引起的。

1.Shpefile文件组成

Shapefile文件指的是一种文件存储的方法,实际上该种文件格式是由多个文件组成的。其中,要组成一个Shapefile,有三个文件是必不可少的,它们分别是".shp", ".shx"与 ".dbf" 文件。表示同一数据的一组文件其文件名前缀应该相同。例如,存储一个关于湖的几何与属性数据,就必须有lake.shp,lake.shx与 lake.dbf三个文件。而其中“真正”的Shapefile的后缀为shp,然而仅有这个文件数据是不完整的,必须要把其他两个附带上才能构成一组完 整的地理数据。除了这三个必须的文件以外,还有八个可选的文件,使用它们可以增强空间数据的表达能力。所有的文件名都必须遵循MS DOS的8.3文件名标准(文件前缀名8个字符,后缀名3个字符,如shapefil.shp),以方便与一些老的应用程序保持兼容性,尽管现在许多新的程序都能够支持长文件名。此外,所有的文件都必须位于同一个目录之中。

必须的文件:

  • .shp — 图形格式,用于保存元素的几何实体。
  • .shx — 图形索引格式。几何体位置索引,记录每一个几何体在shp文件之中的位置,能够加快向前或向后搜索一个几何体的效率。
  • .dbf — 属性数据格式,以dBase IV的数据表格式存储每个几何形状的属性数据。

其他可选的文件:

  • .prj — 投影格式,用于保存地理坐标系统与投影信息,是一个存储well-known text投影描述符的文本文件。
  • .sbn and .sbx — 几何体的空间索引
  • .fbn and .fbx — 只读的Shapefiles的几何体的空间索引
  • .ain and .aih — 列表中活动字段的属性索引。
  • .ixs — 可读写Shapefile文件的地理编码索引
  • .mxs — 可读写Shapefile文件的地理编码索引(ODB格式)
  • .atx — .dbf文件的属性索引,其文件名格式为shapefile.columnname.atx (ArcGIS 8及之后的版本)
  • .shp.xml — 以XML格式保存元数据。
  • .cpg — 用于描述.dbf文件的代码页,指明其使用的字符编码。

2.检查编译的GDAL或者下载的dll是否包含“Data”

笔者编译的GDAL目录,如下图所示(其中“GdalData”目录名称可自行指定):

该目录内容如下所示:

3.设置“GDAL_DATA”选项

设置“GDAL_DATA”有两种方法:

(1)在环境变量中设置

具体步骤:

右键我的电脑-属性-高级系统设置-选项“高级”-【环境变量】-“用户变量”-【新建】

(2)在程序中读取Shp数据时设置

具体代码如下(其中路径也可设置为相对路径):

 OSGeo.GDAL.Gdal.AllRegister();OSGeo.OGR.Ogr.RegisterAll();OSGeo.GDAL.Gdal.SetConfigOption("GDAL_DATA", @"D:\GDAL\GDAL\GDAL232\GdalData");OSGeo.OGR.Driver dr = OSGeo.OGR.Ogr.GetDriverByName("ESRI shapefile");OSGeo.OGR.DataSource ds = dr.Open(path, 0);

注:gdal2.3.2不支持中文路径的设置,该路径必须为全英文路径(若大家解决该问题,欢迎告知)。

 

转载于:https://www.cnblogs.com/aizai846/p/10894314.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统扩展名大全,Linux系统文件扩展名学习

Linux系统下的扩展名并不能标识该文件是属于哪一种类型的文件。文件是否可以执行等都跟文件的扩展名无关。因为文件script没有执行权限,所以也就无法执行,sh-3.2# touch ./scriptsh-3.2# ls -lh ./script-rw-r--r-- 1 root root 0 Dec 28 06:15 ./script…

[html] 如何实现多行文字梯形排版?

[html] 如何实现多行文字梯形排版? 可以利用文字会环绕浮动元素的特性来做:HTML:#box {width: 400px;height: 600px;background-color: red; } #box .float-div{float: left; // 浮动起来clear: both; // 这个很重要,不然会排版出错backgrou…

biztalk在用户代码中构造多部分消息

大家知道&#xff0c;biztalk中可以在orchestration调用外部用户代码进行功能扩展&#xff0c;调用外部方法可以把消息作为参数传给外部方法&#xff0c;当然也可能需要外部方法返回一个消息到orchestration。<?xml:namespace prefix o />对于schema类型的消息&#xf…

背景透明度 下拉菜单

下拉菜单 ——————> <style> /* 下拉按钮样式 */ .dropbtn {background-color: #4CAF50;color: white;padding: 16px;font-size: 16px;border: none;cursor: pointer; }/* 容器 <div> - 需要定位下拉内容 */ .dropdown {position: relative;display: inlin…

datavideo切换台说明书_巴掌大三轴稳定器,稳过微云台,试试飞宇VLOGPocket2

几乎全民VLOG的时代&#xff0c;我们随处可见有人举着手机、相机记录生活&#xff0c;甚至还有品牌推出了自带微云台的手机。不过&#xff0c;即便在手机上硬“塞”进一个微云台&#xff0c;效果也始终无法媲美真正的云台&#xff0c;对视频拍摄的提升相对有限&#xff0c;大部…

VSCode中Markdown目录显示异常

更新最新的VSCode之后编辑Markdown文件发现TOC标签的目录格式异常&#xff0c;发现是因为行尾字符导致&#xff0c;必须设置行尾字符进行解决。 转载于:https://www.cnblogs.com/phonecom/p/10904785.html

dlp防泄密系统卸载_怎样做好数据防泄密?奥赛系统早知道

前言大数据是趋势&#xff0c;泄密和数据泄露时常发生。员工离职、文件外传、在线拷贝..... 数据安全已经是每家公司必做功课。企业现状企业垂青“工作经历”和“自带资源”,“高薪挖人”被认为是企业事务快速增长、企业研制效果快速显现、企业快速兴起的捷径。当所“挖”人才来…

30万手表推荐_一年收入20万—30万的小生意,市场上有哪些呢?推荐几个供参考...

目前经济形势不乐观&#xff0c;许多创业者都陷入泥潭中&#xff0c;总是想挣脱&#xff0c;却总是徒劳无功。我认为在这样的时期&#xff0c;如果能静下心来&#xff0c;选择去做一些有前景的小生意&#xff0c;也是一个很好的选择。那么在目前市场上&#xff0c;有哪些能年收…

Dubbo中的监控和管理

一、Dubbo中的监控 1、原理 原理&#xff1a;服务消费者和提供者&#xff0c;在内存中累计调用次数和调用时间&#xff0c;定时每分钟发送一次统计数据到监控中心。 2、搭建监控服务 3、修改配置文件 修改注册中心的地址&#xff1a; 注意&#xff1a;这个有一个client参数&…

管道抛光防锈机器人_全国首创!嵊州企业的这项防锈技术用在了雪龙号上

2019-03-26 14:22 | 浙江新闻客户端 | 记者 金汉青 通讯员 胡吉图片来源于视觉中国近日&#xff0c;嵊州春凯新材料有限公司收到了来自上海铁路局的一批订单&#xff0c;对方要求春凯新材料对合肥工务段的一座高铁桥作钢铁除锈防锈处理。据了解&#xff0c;这将是春凯新材料研发…

jzoj4640. 【GDOI2017模拟7.15】妖怪

Description Input Output Sample Input 3 1 1 1 2 2 2 Sample Output 8.0000 Data Constraint 题解 我还挺喜欢数学的呢 这题一眼看上去不会&#xff0c;化化式子没想到未知数竟然是一个反比例一次函数的样子。 长这样&#xff1a;axbx\frac a xbxxa​bx 当时心态就没了。 原来…

activiti 设置可选处理人_新品速递|高端系列!慧明DF系列线性相位处理专业音箱处理器...

2020年对很多人来说&#xff0c;是特别艰难的一年&#xff0c;一场新冠疫情&#xff0c;可谓把整个演艺行业压得喘不过气&#xff0c;但是尽管如此&#xff0c;我们仍坚决相信行业将会很快复苏&#xff0c;一切终将迎来新的生机与活力。2020年初&#xff0c;哪怕是最困难的时期…

Scrapy 教程(十)-管道与数据库

Scrapy 框架将爬取的数据通过管道进行处理&#xff0c;即 pipelines.py 文件。 管道处理流程 一、定义 item item 表示的是数据结构&#xff0c;定义了数据包括哪些字段 class TianqiItem(scrapy.Item):# define the fields for your item here like:city scrapy.Field() …

地壳中元素含量排名记忆口诀_广州地化所等发现洋内弧大陆地壳成熟新机制

大陆的形成和演化是地球科学研究中广泛关注的前沿科学问题之一。大陆地壳总体上具有安山质到英安质地球化学成分特征&#xff0c;与洋内弧中大洋俯冲作用形成的岩浆岩具有相似的微量元素地球化学特征(如富集大离子亲石元素和亏损高场强元素)&#xff0c;众多学者认为大陆地壳的…

三星+android7.0+字体,三星S7升级安卓7.0新技能:新增分辨率调整功能

三星Galaxy Note 7推出了安卓7.0的升级&#xff0c;此次升级后&#xff0c;三星S7将会增加分辨率调整功能。这个功能可以根据用户的需求和喜好来进行调整&#xff0c;在HD(7201280像素)、FHD(12801920像素)以及QHD(14402560像素)三种不同的分辨率之间自由切换。在过去的一年里&…

html title属性无效_【学习教程】使用JavaScript删除CSS属性

方法1&#xff1a;使用CSS removeProperty&#xff1a;该CSSStyleDeclaration.removeProperty()方法被用来从一个元件的样式删除一个属性。通过遍历styleSheets数组并选择cssRule&#xff0c;可以选择元素的样式。然后可以使用要删除的属性指定removeProperty方法。句法&#x…

添加系统路径

export PATH$PATH:/usr/local/mongodb/bin/ source /etc/profile 转载于:https://www.cnblogs.com/xiaobiaomei/p/10922225.html

7怎样设置禁网_怎样才能提升网站内页的收录?

1、提高网站的内容质量&#xff0c;文章尽可能的原创。搜索引擎蜘蛛更喜爱原创的高质量内容&#xff0c;能够缩短网站的审核期。2、良好的网站结构&#xff0c;继续搜索引擎的匍匐与抓取。现在一般都是divcss的结构&#xff0c;不要运用table结构&#xff0c;尽可能少的运用fla…

Domain Socket本地进程间通信

socket API原本是为网络通讯设计的&#xff0c;但后来在socket的框架上发展出一种IPC机制&#xff0c;就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯&#xff08;通过loopback地址127.0.0.1&#xff09;&#xff0c;但是UNIX Domain Socket用于IPC更有…

入门指南_激光切管快速入门指南

本文是有关管材和激光管切割的思考的快速入门指南。要求首先&#xff0c;需要确定对管材尺寸的要求。考虑以下问题&#xff1a;将要加工的管材最大和最小直径是多少&#xff1f;切割这些管材需要多大功率&#xff1f;它们是薄壁还是厚壁&#xff1f;原材料和成品零件的长度是多…