使用ArcGIS-SDK显示海图

收费工具,白嫖党、学生党、闹眼子党勿扰

收费金额500元

1 概述

最近因项目需要,研究了一下电子海图的显示功能。我发现,开源工具中,只有opencpn可以解析和显示。一些开源主流的gis工具,如:qgis、osgearth等,都没有此功能。但是opencpn使用的wxWidgets控件库写的,所以,想要从opencpn中,提取出电子海图的解析和显示功能模块,难度还有点大。

通过查询资料,发现arcgis已经具备电子海图的解析和显示功能。但是,arcgis不开源,用它的sdk有很多限制。如果将来时间上允许,我会用qgis,把电子海图的显示功能做出来。

2 编译过程

首先,在arcgis官网上,下载sdk。我是一名qt开发者,所以,我用的是arcgis qt的sdk。如果您是一名.net开发者,您也可以用arcgis .net的sdk。

安装arcgis sdk完成后,可以在看到下图所示文件夹

解压ElectronicCharts.7z压缩包

找到CMakeLists.txt文件,

使用qtcreator打开。

双击一下arcgis-sdk.cmake文件,改一下arcgis sdk的路径

点击左下角的锤子按钮,对项目进行编译,编译完成后,电子三角按钮,运行程序。

3 截图欣赏

3.1 静态大图

主界面

只显示高德地图瓦片地图

只显示谷歌瓦片地图

只显示OSM瓦片地图

只显示电子海图

添加军标

3.2 动态图







4 后续

还有很多其他的功能没有做,

  • 位置测量、军标移动、数据驱动军标、雷达显示、雷达扫描等
  • 二三维切换、二三维同步等

如果有时间的话,我会把后续功能补充完成,

且使用qgis再实现一遍。

最后,把程序发给大家,下载链接,大家自行体验一下。

其中,

  • 谷歌地图和OSM(open street map)是我使用瓦片地图下载工具将瓦片地图下载到本地,然后搭建了一个局域网服务器;程序访问局域网服务器显示谷歌地图和OSM地图;
  • 高德地图是在线地图
  • 电子海图是本地地图

有什么问题,大家都可以联系我!

大家都是上有老下有小的人,都需要生活,所以,不可能免费提供源码

相关推荐
杜子不疼.11 小时前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
杜子不疼.13 小时前
【Qt初识】信号槽(二):自定义信号函数与槽函数
开发语言·qt
秋田君14 小时前
Qt_QVariant
开发语言·qt
杜子不疼.14 小时前
【Qt初识】工程起步:项目创建、代码解读与对象树
数据库·c++·qt
安东尼肉店18 小时前
QT 自定义随机验证码校验
开发语言·qt
中科GIS地理信息培训2 天前
【实操】在 ArcGIS Pro 中,计算多边形的面积时,需排除缓冲区要素中与多边形重叠的部分
arcgis·arcgis pro
小徐不徐说2 天前
Qt 线程迁移机制完整实战指南(moveToThread)
开发语言·c++·qt·程序设计
Traveler飞2 天前
Ubuntu20.04 VMware 黑屏无法进入桌面,Ctrl+Alt+F2 可以进入终端,最终发现是磁盘空间满了
qt·ubuntu
中科GIS地理信息培训2 天前
ArcGIS Pro镶嵌数据集:绝不仅是数据之和
arcgis·arcgis pro
m0_587098993 天前
Qt,二进制文件读写建议
开发语言·qt