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
图2 使用OGR2OGR转换为shp格式

从上图可以看出,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格式相关推荐

  1. Open Street Map 全球城市路网数据下载并转为SHP格式(包含历史道路数据的下载方法)

    一.背景 Open street Map 是一个很好的开源数据获取源,本人正在做关于芝加哥的研究需要用到路网数据,因此需要从Open street Map 下载数据. 二.数据下载方法 1.简单粗暴法 ...

  2. [ArcGIS].txt或.xlxs(Excel)格式如何转为.shp格式?

    [ArcGIS].txt或.xlxs/Excel格式如何转为.shp格式? 写在前面 大神步骤 小白步骤 1.数据准备 2. 写在前面 .txt或.xlxs/Excel格式转为.shp格式步骤是一样的 ...

  3. supermap 数据转为shp

    前段时间一个朋友问我如何将supermap的sdb数据转为shp文件,考虑到sdb数据中可包含不同层的数据,而shp文件只能存储一个图层的数据,所有转换时候只能将sdb 转为N多个shp文件, Sup ...

  4. **关于电子海图(S-57 (ENC)转换shp 格式**

    关于电子海图(S-57 (ENC)转换shp 格式 EA200001.000->shipfile(tab) 由于电子海图格式和通常用的GIS数据不一样,下面介绍转换方式: 电子海图可以去网上下载 ...

  5. 通过输入流获取json格式数据转为map格式

    将通过输入流获取json格式数据转为map格式 转换代码: try {int length = 0;//通过输入流获取到json格式数据ServletInputStream inputStream = ...

  6. 【数据分享】2020年我国地级市医疗资源空间分布数据(Shp格式/Excel格式)

    医疗资源的配置情况直接反映了一个城市的发展水平,医疗资源相关数据也是经常使用到的数据! 我们发现学者刘海猛在科学数据银行(ScienceDB)平台上分享了2020年我国341个城市(地区.州.盟)的基 ...

  7. 2010年全国乡镇/街道行政边界面数据-矢量数据shp格式

    2010全国乡镇/街道行政边界面数据-矢量数据shp格式免费分享给大家,本人长期从事各类数据处理及采集等业务,掌握了大量的地理信息类数据,会不定期与大家分享. 数据名称:2010年全国乡镇界线面文件 ...

  8. 利用ArcMap将CAD数据转为shp

    格式转换对于各种项目来说再常见不过,最近在做一个地铁相关的项目,拿到的原数据是CAD的dwg格式的图,这是工程项目中比较常见的一种数据格式,需要将dwg格式转换成GIS可用的格式.这里利用ArcMap ...

  9. 如何使用ArcGIS将Excel数据转换为shp格式

    如果经常使用ArcMap生成一些专题图,需要把Excel数据叠加到ArcGIS中,如果Excel数据中有坐标的话,可以很方便的把Excel数据转换成shp数据,这里讲解一下具体的操作步骤,希望能够对大 ...

最新文章

  1. LeetCode简单题之检查是否区域内所有整数都被覆盖
  2. android studio 库项目,Android Studio 发布项目到jcenter库
  3. UI学习第二篇 (控件)
  4. vue cli 脚手架上多页面开发 支持webpack2.x
  5. 我的计算机专业作文800字,我家的电脑作文800字
  6. linux定时任务每两天执行,Linux定时任务 crontab每秒执行 实现2种方法
  7. 【Python】字典dict类型转换为列表list类型
  8. C语言整数与字符串相互转换
  9. QT每日一练day14:QFontDialog字体对话框
  10. 白话关于API与SDK的区别
  11. 转载——网站转接支付宝解决方案
  12. 在线图片压缩png 和 gif,docsmall.com
  13. 易语言解析html实例,易语言完整示例(单设备)
  14. 在计算机网络中 将网络的层次结构图,计算机网络基础试卷8
  15. Byond Compare软件
  16. php遵义旅游管理系统的设计与实现毕业设计源码091801
  17. 算法设计-天下会评选一级弟子
  18. Uconn DataMining Math5671 课程小记(1)
  19. html元素在模块中心显示,DW怎么设置DIV模块在页面中居中 DW如何设置网页打开绝对居中?...
  20. 关于Halcon的离心机试管槽定位

热门文章

  1. UDP方式的网络通信【示例】
  2. 安卓3d游戏引擎_3D球闯关游戏-3D球闯关游戏安卓官方版预约 v1.2.5
  3. obs多推流地址_什么都比不上动手能力,OBS 推流实践小记
  4. JDBC中给Mysql加时区问题!
  5. HoloLens1开发(一):第一个程序发布与部署
  6. pcl之编译VTK时CMAKE中找不到Qt5X11Extras
  7. yii2 提供接口给java_Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)...
  8. Halcon Blob分析(二值化图像分割)
  9. vue中的自定义分页插件组件
  10. Linux文件目录命令,有这些就够了?