基于地图API的调度平台建设调查分析

2018-12-23 21:39卢志炜武汉大学
数码世界 2018年1期
关键词:高德后台开源

卢志炜 武汉大学

1 调度平台的需求分析

随着数字化的推进,现在很多人购买书籍产品,都是采用网上订购,直接送货上门。对于公司而言,需要对各地所有门店、库房进行统计尽力做到最近送货达到最优的效率。采用电子地图展示方式对调度方案进行可视化管理,可以有效提高工作效率,节约运输成本。

2 系统架构设计

系统总体架构计划采用B/S结构,由前端web访问服务器与后台数据服务器组成。这样可以在前端部署多个访问服务器来分流流量,达到负载均衡。

后台数据服务器可以统一所有网点的信息,进行集中展示与管理。

前端web访问服务器,提供地图展示功能,加载web引擎,将后台的数据按一定方式筛选展示在地图界面上。

细分下来,系统实现应当分为:

(1)前端web框架,用作用户登录、帐号权限管理等功能。

(2)前端web引擎,用作地图展示、热点规划分析等功能。

(3)地图API接口,用作前后端交互的接口,从后端服务器读取数据展示到前端界面上。

(4)后端服务器,用作后台数据库管理、检索、接口调用等。

(5)后端地图数据,包括在线地图与离线地图,存入数据库待后端服务器调用检索。

3 前端web引擎分析

根据后台API接口返回的信息,展示地图底图、数据层信息、及其他相关元素的展示、操作,更新等。

市面上常见的web引擎有OpenLayers、OpenScales、ArcGIS Web、四维图新前端等。

3.1 开源性

①OpenLayers是基于BSD协议的开源产品

②OpenScales是基于LGPL协议的开源产品

③ArcGIS Web是美国ESRI公司开发的商用产品(费用较高)

④四维图新是我国从事地图数据库采集的国企,产品为商业用途。

3.2 框架

①OpenLayers是JavaScript框架

②OpenScales是基于flash技术的Flex框架

③ArcGIS Web是Silverlight+JavaScript框架

④四维图新是自行研发的引擎API与后台数据

3.3 接口

①OpenLayers提供了丰富的API接口操作,可以完成常见的GIS地图功能需求。

②OpenScales最初叫FlexLayer是Openlayers的Flex版本,但因为openscales并没有完全实现openlayers所提供的所有接口和功能,所以有些工作需要自己实现。比如放大和缩小工具栏、监听鼠标双击事件实现放大地图、以及正多边形画法等等。

③ArcGIS Web为ArcGIS Server提供了对应的API接口供使用。

④四维图新提供了众多可以按需组合的API接口。

3.4 应用性

①OpenLayers的文档很详细。

②OpenScales缺少必要的文档,不过其本身是对OpenLayers的Flex实现,所以可以阅读OpenLayers的文档作为参考。

③ArcGIS Web商业产品的文档总是合格的。

④四维图新是国产商业产品,拥有丰富的中文说明文档。

3.5 地图加载

①OpenLayers支持百度、高德等常见地图提供商的数据。

② OpenScales同 OpenLayers。

③ArcGIS Web只能加载google等有限的几种国外地图数据,不支持国内地图数据提供商的数据。

4 后台服务器分析

提供地图底图数据接口以及相关数据层数据接口,并且可以在后台根据前端相关采集设备反馈的信息和数据库内数据对数据层进行即时演算。

市面上常见的GIS后台服务器通常有:GeoServer、MapServer、ArcGIS Server、四维图新后台服务器等。

根据后台API接口返回的信息,展示地图底图、数据层信息、及其他相关元素的展示、操作,更新等。

4.1 开源性

①GeoServer是基于BSD协议的开源产品

②MapServer是基于MIT协议的开源产品

③ArcGIS Server是美国ESRI公司开发的商用产品

④四维图新是国内四维图新公司的商用产品提供商用API

⑤高德地图、百度地图等虽是商业产品,但提供免费API

4.2 主流组合

①GeoServer是基于J2EE开发的:Geoserver(服务器)+uDig(桌面软件)+PostGIS(数 据库)++Openlayers(JS)/openscale(FLex)(浏览器客户端)

②MapServer是基于C/C++开发的:Mapserver(服务器)+QGIS(桌面软件)+PostGIS(数据库)+Openlayers(JS)/openscale(FLex)(浏览器客户端)

③ArcGIS Server是非开源的产品,对应的前端也通常采用他们自己的ArcGIS前端

④四维图新是非开源产品,对应的前端也通常采用自己的相关设备

⑤高德地图提供开源的API,但不提供离线的API

⑥百度地图本身采用的是四维图新的地图数据源,但做了开放的API接口

4.3 服务器功能

①GeoServer包括GIS的大部分功能,满足绝大部分的web地图应用开发

②MapServer包括GIS的基本功能,满足基础的web地图应用开发,功能略低于GeoServer

③ArcGIS Server可以定制GIS相关功能,并可以进行分布式GIS系统开发

④四维图新同样提供各个GIS模块的定制

⑤高德地图的API是开源的,不过不提供单独的服务器部署与离线地图

4.4 访问速度

这3个系统相对于其他的GIS服务器来说,都是比较快的,而这三者之间以ArcGIS Server最快,MapServer次之,GeoServer最后。

4.5 操作性

①GeoServer是纯Java的开源框架,可以基于GeoServer做二次开发,定制所需产品。

②MapServer提供两种工作方式,CGI方式和MapScript方式。以原生CGI方式效率最高,配合TileCache,可以快速生成大范围的地图瓦片数据。比较基于.Net和J2EE的商业或开源平台,MapServer更适合高负荷的大型互联网地图应用。MapServer是基于C写的地图服务软件,比用JAVA写的GeoServer速度要快。而且MapServer历史要比GeoServer悠久,甚至MapServer的性能与商业的ArcIMS的功能可以娉美。

③ArcGIS Server自身具备对应的桌面软件ArcMap,所以对于前期地理数据的编辑整饰比较方便,ArcServer相对来说比较容易上手。

④四维图新的发展定位在于车载导航,与车厂合作紧密,注重导航模块,主要记录道路信息,POI热点精度较细,尤其对于大门、主干道入口的定位比其他地图更精准。

⑤高德地图,地图信息比较全面,在导航精度不如四维图新,但在其他方面,如三维图标、三维仿真地图、实景图、模式图、方向路牌等均优于四维图新。

4.6 应用性

ArcGIS作为商业产品,是最稳定的,提供的帮助文档是最多的。ArcGIS的服务完备,功能齐全,但是庞大臃肿,大部分功能在平时用不到。且安装困难,ArcGIS连安装盘都找不到,需要专门人员上门安装,一旦故障要有重做系统的准备。相对来说,GeoServer等开源的地图服务,则是轻量级的,且常用的功能都可以支持。

4.7 数据库支持

ArcGIS不支持开源数据库如PostgreSQL等,需要使用他自己的或者Oracle等数据库。

其他大多数后台服务器都支持市面常见数据库。

4.8 平台支持

四维图新采用完全将数据和业务系统分离的方式对地图数据进行管理,因此可以将数据部署在内外。

高德地图不支持离线地图功能,所以使用高德地图做数据源的平台,均无法在内网使用,如谷歌地图、ArcGIS Server等。

5 实现规划

(1)web框架,这个部分目前各个厂商都没有提供,由于牵扯帐号信息、日志归档、权限划分等,一般也都是自己进行实现,这部分应该是轻量级的页面,可以考虑用PHP来实现比较快速。

(2)web引擎,通用模块,通过在页面指定区域填充地图,加载JS模块的方式,进行地图绘制。

(3)逻辑脚本,这部分主要是联动引擎与后台API,对传输数据进行筛选拼接,然后调用API接口,这部分也是需要自行实现。

(4)后台API,由厂商提供,有付费的也有免费的,不同API支持服务不同。

(5)后台服务器,用来对数据库进行检索和展示,这个牵扯到地图算法检索、数据库遍历等,可以用JAVA、C或PHP等实现。

6 方案分析

从此次项目的选择来看,前后端合一的方式,比较适合较小的访问量,节约前端服务器成本。JAVA框架具有较多的开源资源和帮助资料,地图数据源和API统一采用四维图新的地图数据与接口,四维图新虽然是商业版,但是定制的模块,可以只选择自己需要的部分进行加载,相对自行研发从0开始的成本,采用一个已经成熟的API接口与框架,可以很快做出成品,在这个将就效率的时代,从零开始自行研究开源GIS地图,成本未必就比购买的低。

因此,此次项目采用了JAVA+四维图新API+四维图新在线地图数据源,是最符合此次项目需求的方案。

[1]《四维图新在线》赵宇鹏,2016

[2]《主流网络地图应用开发API技术研究》龙际梦;刘宏建;蔡中祥;张琳翔,2015

[3]《百度、高德及Google地图API比较研究》向玉云;高爽;陈云红;黄嘉成;许新华,2017

[4]《基于YII框架的O2O平台网站的设计和实现》刘琛辰,2014

[5]《MVC设计模式在Yii框架中的应用与研究》牧春,2015

猜你喜欢
高德后台开源
等车望眼欲穿高德新出的实时公交APP
五毛钱能买多少头牛
2019开源杰出贡献奖
Wu Fenghua:Yueju Opera Artist
后台暗恋
活地图
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
高德地图车机版正式发布
互联网思维下的汽车服务连锁后台支撑系统