声明:此系列文章,不是说教,不是告诉任何人如何利用C++ 开发电子地图的教程,而且本人水平有限,也达不到教程的地步。只是利用此系列的文章,来记录开发基于 C++ 应用在 Windows 下 开发电子地图的过程。愿对C++ 开发感兴趣的朋友,熟知 Gis 开发的朋友,了解 Wms 、 WFS 协议的朋友,亦或是对 GoogleMap 之类感兴趣的朋友,共同讨论。(废话到此结束)。
写在前面
想了想,如果这么唐突的直入主题恐怕难以让大家接受吧,很难让人家明白我到底要做件什么事情,为什么大费周折的干这件事情。
动机
其实简单的说是公司的需求,可是有人问了,
(1) Google Map这类 WebServer 你为啥不用?
答:当结合具体工业或行业应用时,GoogleMap 提供的 Api 无法达到要求,本来嘛。 GoogleMap 是为生活应用而诞生的,怎么说呢,简单的例子,产品类的商用程序员都应该明白,分分秒秒都要面对的变化的客户需求,独特的产品功能,使用成熟的库(本人不会脚本语言,我把 GoogleMap 这类提供 Api 的东西,也理解为库)很难满足功能上的需求,而且限制过多,可控性差。
(2) Desktop类型的 Gis 你为啥不用?
答:我之所以不称我开发的组件集群为XXXGis ,是因为 Gis 的应用很专业(参看前文中的关于 Gis 的概念),即便是工业级的应用也很难用到(除非是专门用做 Gis 的软件),而且对于一个普通的程序员(即便是大学期间专门学习 Gis 专业的同学),做个 Gis 系统,也是极为困难的事情。如果不信,你可以看看专业 Gis 系统的软件,例如 QGis 、
WinGis(这个是开源的)等等(自己上网查查),看看这些东西源代码的体积,你就知 道了。
(3) 那你的策略是什么?
答:采用Wms 协议(未来还有 WFS 协议)通讯获取数据,用 Google Map 的显示策略(这个具体显示策略,你可以大致的操作一下 Google Map 或是 Baidu Map ,之后的文章再详细描述)。这样既结合 Gis 系统的矢量化,可控性,又结合了 Web 类 Map 的人性化、易操作、高速度。
最终效果
表现:访问OGC 服务器(可自建),用户操作体验与 Google Map 相同。(未来还将支持标准的 Gis 数据格式如 *.Shp 之类)
代码:自己的代码,怎么玩儿都行。