GIS开发离线地图运用-初识gis-亚洲ca88官方网站发布时间:2021-10-03 12:56:54 来源:亚洲ca88官方网站最新公司需求做一个根据gis地图的运用体系,因为之前公司项目中的电子地图模块都是我开发的,所以这个新体系也天然让我先去了解怎么开发,能够说做个简略的调研。 和之前的项目中开发的电子地图模块不同,这次是开发gis地图,是要显现实在的地理方位,能有gps定位功用的。而之前开发过的电子地图功用,都仅仅根据svg的矢量可装备地图(之前选用batik开发过C/S版,用raphael开发过B/S版,都在项目中正常运用)。 下面描绘下我开端开发前做的预备和了解作业,期望对初次触摸并想要开发gis离线地图运用的coder有协助。 7. 规划上支撑今后替换不同地图引擎,如从google换成高德,替换后尽量少做开发作业就能正常运用。 地图显现计划挑选1.调用地图API进行开发各个地图开发商都供给了自己的api供咱们调用,以便利进行二次开发,如google、百度、高德等,这些api往往比较完善和成熟,能够充沛满意咱们体系中的事务功用,但有几个要求无法满意:1)无法支撑离线运用,许多api经过http请求去各个地图开发商服务器获取数据,离线状况下有许多功用约束,其间最主要的GPS定位纠偏api就有必要联网。2)不易支撑多个gis引擎,假如api进行开发,则必定不兼容其他厂商gis的api,假如经过规划上在每个api上封装一层,则作业量太大。所以运用某个厂商的api进行开发的计划根本不可行。2.运用第三方库openlayers显现地图OpenLayers 是一个专为Web GIS 客户端开发供给的JavaScript 类库包,用于完成规范格局发布的地图数据拜访。运用openlayer进行网页上地图的显现和操作操控,而不去调用各个厂商的api,经过东西获取google的离线地图瓦片数据,存在自己的服务器上,并可进行离线的开发和运用。这样理论上只需替换后台服务器上的图片数据,做一些必要的装备,而不必改前台网页显现地图的代码,就能够支撑不同厂商的地图展现。显然在显现地图计划上,是要挑选计划2才干满意离线和支撑多地图引擎的要求。地图的挑选本来期望运用百度地图,可是上网查了一圈,发现运用百度地图进行离线开发,好像不大可行。1) 百度官方的api中就不支撑web开发离线地图。这个正常,一般的都不支撑web离线开发,手机的却是都支撑。2) 离线地图的一个需求处理的问题,GPS纠偏,百度地图的好像欠好处理,百度有自己的偏移加密。这儿趁便引证下对坐标系的介绍:1.火星坐标体系 GCJ-02国家保密插件,也叫做加密插件或许加偏或许SM模组,其实便是对实在坐标体系进行人为的加偏处理,依照几行代码的算法,将实在的坐标加密成虚伪的坐标,而这个加偏并不是线性的加偏,所以各地的偏移状况都会有所不同。而加密后的坐标也常被人称为火星坐标体系。现在运用火星坐标系的地图商:腾讯搜搜地图搜狐搜狗地图阿里云地图高德MapABC地图灵图51ditu地图(重要)一切的电子地图一切的导航设备,都需求参加国家保密插件。第一步,地图公司测绘地图,测绘完成后,送到国家测绘局,将实在坐标的电子地图,加密成 “火星坐标”,这样的地图才是能够出书和发布的,然后才干够让GPS公司处理。第二步,一切的GPS公司,只需需求轿车导航的,需求用到导航电子地图的, 通通需求在软件中参加国家保密算法,将COM口读出来的实在的坐标信号,加密转换成国家要求的保密的坐标,这样,GPS导航仪和导航电子地图就能够彻底匹 配,GPS也就能够正常作业。2.大地坐标体系 WGS-84用来表述地球上点的方位的一种区域坐标体系。它选用一个非常近似于地球天然形状的参阅椭球作为描绘和计算地面点方位和相互关系的基准面。一个大地坐标体系 有必要清晰界说其三个坐标轴的方向和其间心的方位。一般人们用旋转椭球的短轴与某一规则的开始子午面别离平行干地球某时间的均匀自转轴和相应的真开始子午面 来确认坐标轴的方向。若使参阅椭球中心与地球均匀质心重合,则界说和建立了地心大地坐标系。它是航天与长途兵器和空间科学中各种定位测控测轨的根据。若椭 球外表与一个或几个国家的部分大地水准面符合最好,则建立了一个国家或区域的部分大地坐标系。大地坐标系中点的方位是以其大地坐标表明的,大地坐标均以椭 球面的法线来界说。其间,过某点的椭球面法线与椭球赤道面的交角为大地纬度;包括该法线和大地子午面与开始大地子午面的二面角为该点的大地经度;沿法线至 椭球面的间隔为该点的大地高。大地纬度、大地经度和大地高别离用大写英文字母B、L、H表明。3.百度坐标体系 BD-09百度坐标对火星坐标系进行了一次加密,形成了百度坐标系.现在运用百度坐标系的地图商:百度Baidu地图图吧MapBar地图可见百度地图比较特别,有着自己的二次加密。假定今后车载设备将GPS信息实时推送给咱们,假如直接将方位坐标输入地图中显现,则会有偏移,这样必定无法满意要求,所以纠偏一直是开发离线gis运用的难点。对google离线地图的纠偏,google因为离线开发者多,所以相应的办法也较多,纠偏问题应该能较好的处理,并且查到了他人所谓的纠偏算法,仅仅没有验证。百度地图的纠偏相对杂乱,一般人运用在线api能够直接调用纠偏接口,而离线则没有很好的方法,其纠偏算法网络上也没有找到,一般百度地图的纠偏数据库也是收费的。所以在纠偏问题上,百度地图比较难处理,而google地图相对较简单。总的来看,我应该会挑选开发google的离线地图,危险相对小一点,web选用openlayers进行加载显现,正式开发前的预备作业就差不多啦,接下来应该要弄个demo试一下,或许直接开干! 上一篇:天然资源部作业厅关于印 下一篇:GIS地图学习笔记二之Android开发 |