赞
踩
电子海图的加载目前还比较局限,除了个人或者机构单独开发的电子海图引擎外,只能依赖现有 GIS 平台折衷的解决方案。
如 ArcGIS 的 S57 Viewer 或者是利用 Globalmapper 进行查看。
本人在根据外国网友提供的方案,利用 QGIS 和 FWTools 实现 S57 数据转换为 对应图层的 SHP 文件;
采用 QGIS 插件 Resource Sharing 得到 svg 符号;
再通过 QGIS 的 .qgs 文件,为图层配置样式符号,完成 S57 的载入;
并提供后续的制图等方案。
只要下载 FWTools 命令行工具,利用其提供的方案批量转换 ENC 海图数据。
FWTools 是由 Frank Warmerdam 开发的一组 开源 GIS 数据处理工具包,提供便捷的开源工具使用方案。包括了OpenEV、MapServer、GDAL/OGR、PROJ.4、OGDI、Python等子包。
(这里使用 FWtools 中的 OGR ,但并不局限于使用 FWTools ,可以在任何语言或者平台上使用包含 OGR 函数功能的方案)
打开 FWTools shell ;
使用以下命令
ogr2ogr -skipfailures -append output-Path input-Path
利用 ogr2ogr 函数 将输入的文件转化成对应路径下的 shp 文件,其中 -skipfailures 关键词为跳过错误 (不知道为什么会将不同类型 的数据(点线面)互转), -append 则是将几个 S57 文件生成的 shp 数据都加载到同一个 shp 文件中。得到如下文件夹
符号可以使用我在 CSDN 中上传的符号库 https://www.kdocs.cn/view/l/sfm2DhVMnG7Y?f=131;
也可以使用 QGIS 的插件 Resource Sharing ;
点击 Plugins -> Manage and Install Plugins …
弹出 插件库加载界面 在搜索框中查找对应插件
点击 INSTALL 。
安装好之后,回到主界面,点击 toolbar 中的 resource sharing 插件 ,找到海图资源 NAUTICAL Symbols for marine … 打开对应文件夹即可。
在我的资源中可以 找到 S57.qgs 文件;
将 该文件 放置到上文中提到的 shp 文件夹 中,同时将 符号库 也放在同一个文件夹中(方便找)
使用 notepad 3 或者其他编辑器打开 QGIS 文件,将 符号库索引的路径改为 对应本机上 符号库的文件(使用编辑器自带的替换功能即可)。
我这里是 插件下载的符号库对应文件路径。
保存文件后,双击打开。
(海洋的颜色可以自行配置)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。