使用OGR2OGR将S57数据转为shp格式
S57海图数据中包含了大量的图层,在目前ArcMap软件作为必备的GIS软件之一,所以还是shp格式处理起来可能比较方便(这里的方便仅仅是对于某些人觉得shp最常见,用的最广泛而言,其实我本人觉得shp不好的地方就是一个数据要多个文件组成,有点不爽)。所以可能需要把S57的数据转为shp数据。下面使用gdal提供的ogr2ogr工具来进行转换,希望对大家有用。
首先我们使用ogrinfo查看s57的数据中包含的图层等信息,因为后面转换的时候需要这个信息。如图1所示。
图1 S57数据中包含的图层
知道了s57数据中包含的图层,下面就可以使用ogr2ogr工具来将s57中的图层转为shp数据,命令行如下:
C:\gdal\bin>ogr2ogr.exe -f "ESRI Shapefile" D:\s57polygon.shp D:\s57\C1100102.000 Area
从上图可以看出,shp数据的属性表中不支持StringList和IntegerList格式的属性值报错了。其他的还是都正确的。
今天还发现一个问题,同样的s57数据,同样的gdal库,在我的电脑上就出现异常了。这个s57的数据中其实是有25个图层,比如使用QGIS打开是就是对的,如图3所示,而我使用GDALinfo查看却是只有5个图层,如图1所示,但是这个数据我在另外一台电脑显示的却是25个图层与QGIS一致,这个问题目前还没找到造成的原因,后续待查。目前大致可以肯定的是,将25个图层读取为5个图层,貌似分类是DSID一个,点,线,面和元数据四个图层。也就是把25个图层按照图层类型给重新归类了,这点可以从图2转出来的数据进行验证。
图3 QGIS打开的s57数据显示的图层个数
用QGIS打开图2将面状数据转为shp加载进去,还有把s57所有的面状数据加载进去,图4所示,可以发现两者还是有很大的差异的,但是我在公司的电脑读取的25个图层,然后转一个就OK。
图4 加载shp数据显示轮廓
图5 加载s57面状数据显示轮廓
……………………………………………………分割线…2013-07-13………………………………………………………………………
上文中的打开S57的数据图层变成5个,原因已经查明,就是没有设置GDAL_DATA的目录导致。在程序开始中使用下面的代码即可读取到S57的图层。
CPLSetConfigOption("GDAL_DATA","C:\warmerda\bld\data");
如果使用的ogrinfo的命令行工具,在命令行中加入下面的参数也可以。
--config GDAL_DATA C:\warmerda\bld\data
使用OGR2OGR将S57数据转为shp格式相关推荐
- Open Street Map 全球城市路网数据下载并转为SHP格式(包含历史道路数据的下载方法)
一.背景 Open street Map 是一个很好的开源数据获取源,本人正在做关于芝加哥的研究需要用到路网数据,因此需要从Open street Map 下载数据. 二.数据下载方法 1.简单粗暴法 ...
- [ArcGIS].txt或.xlxs(Excel)格式如何转为.shp格式?
[ArcGIS].txt或.xlxs/Excel格式如何转为.shp格式? 写在前面 大神步骤 小白步骤 1.数据准备 2. 写在前面 .txt或.xlxs/Excel格式转为.shp格式步骤是一样的 ...
- supermap 数据转为shp
前段时间一个朋友问我如何将supermap的sdb数据转为shp文件,考虑到sdb数据中可包含不同层的数据,而shp文件只能存储一个图层的数据,所有转换时候只能将sdb 转为N多个shp文件, Sup ...
- **关于电子海图(S-57 (ENC)转换shp 格式**
关于电子海图(S-57 (ENC)转换shp 格式 EA200001.000->shipfile(tab) 由于电子海图格式和通常用的GIS数据不一样,下面介绍转换方式: 电子海图可以去网上下载 ...
- 通过输入流获取json格式数据转为map格式
将通过输入流获取json格式数据转为map格式 转换代码: try {int length = 0;//通过输入流获取到json格式数据ServletInputStream inputStream = ...
- 【数据分享】2020年我国地级市医疗资源空间分布数据(Shp格式/Excel格式)
医疗资源的配置情况直接反映了一个城市的发展水平,医疗资源相关数据也是经常使用到的数据! 我们发现学者刘海猛在科学数据银行(ScienceDB)平台上分享了2020年我国341个城市(地区.州.盟)的基 ...
- 2010年全国乡镇/街道行政边界面数据-矢量数据shp格式
2010全国乡镇/街道行政边界面数据-矢量数据shp格式免费分享给大家,本人长期从事各类数据处理及采集等业务,掌握了大量的地理信息类数据,会不定期与大家分享. 数据名称:2010年全国乡镇界线面文件 ...
- 利用ArcMap将CAD数据转为shp
格式转换对于各种项目来说再常见不过,最近在做一个地铁相关的项目,拿到的原数据是CAD的dwg格式的图,这是工程项目中比较常见的一种数据格式,需要将dwg格式转换成GIS可用的格式.这里利用ArcMap ...
- 如何使用ArcGIS将Excel数据转换为shp格式
如果经常使用ArcMap生成一些专题图,需要把Excel数据叠加到ArcGIS中,如果Excel数据中有坐标的话,可以很方便的把Excel数据转换成shp数据,这里讲解一下具体的操作步骤,希望能够对大 ...
最新文章
- LeetCode简单题之检查是否区域内所有整数都被覆盖
- android studio 库项目,Android Studio 发布项目到jcenter库
- UI学习第二篇 (控件)
- vue cli 脚手架上多页面开发 支持webpack2.x
- 我的计算机专业作文800字,我家的电脑作文800字
- linux定时任务每两天执行,Linux定时任务 crontab每秒执行 实现2种方法
- 【Python】字典dict类型转换为列表list类型
- C语言整数与字符串相互转换
- QT每日一练day14:QFontDialog字体对话框
- 白话关于API与SDK的区别
- 转载——网站转接支付宝解决方案
- 在线图片压缩png 和 gif,docsmall.com
- 易语言解析html实例,易语言完整示例(单设备)
- 在计算机网络中 将网络的层次结构图,计算机网络基础试卷8
- Byond Compare软件
- php遵义旅游管理系统的设计与实现毕业设计源码091801
- 算法设计-天下会评选一级弟子
- Uconn DataMining Math5671 课程小记(1)
- html元素在模块中心显示,DW怎么设置DIV模块在页面中居中 DW如何设置网页打开绝对居中?...
- 关于Halcon的离心机试管槽定位
热门文章
- UDP方式的网络通信【示例】
- 安卓3d游戏引擎_3D球闯关游戏-3D球闯关游戏安卓官方版预约 v1.2.5
- obs多推流地址_什么都比不上动手能力,OBS 推流实践小记
- JDBC中给Mysql加时区问题!
- HoloLens1开发(一):第一个程序发布与部署
- pcl之编译VTK时CMAKE中找不到Qt5X11Extras
- yii2 提供接口给java_Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)...
- Halcon Blob分析(二值化图像分割)
- vue中的自定义分页插件组件
- Linux文件目录命令,有这些就够了?