基于Wms协议的Map开发(三:写在前面)

来源:互联网 发布:mac专柜地址 编辑:程序博客网 时间:2024/06/06 22:55

声明:此系列文章,不是说教,不是告诉任何人如何利用C++开发电子地图的教程,而且本人水平有限,也达不到教程的地步。只是利用此系列的文章,来记录开发基于C++应用在Windows开发电子地图的过程。愿对C++开发感兴趣的朋友,熟知Gis开发的朋友,了解WmsWFS协议的朋友,亦或是对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系统的矢量化,可控性,又结合了WebMap的人性化、易操作、高速度。

最终效果

表现:访问OGC服务器(可自建),用户操作体验与Google Map相同。(未来还将支持标准的Gis数据格式如*.Shp之类)

代码:自己的代码,怎么玩儿都行。