OpenLayersleafletMapboxAGS等GIS前端总结概述

OpenLayersleafletMapboxAGS等GIS前端总结概述
有关GIS前端的⼀些总结概述。
⼀、轻量级的leaflet,轻在哪⾥?
刀之歌
leaflet/openlayers轻量级,那么轻在哪⾥(相⽐ArcGIS js,甚⾄Openlayers)?
1. 查询分析:本⾝版本不⽀持属性查询、空间查询;(但可以其他GIS⼚家已经开发出插件来⽀持)
2. 编辑功能:leaflet不⽀持编辑
3. 服务类型:leaflet只⽀持OGC标准的WMS\WMTS服务,暂未看到其他服务;AGS全⾯⽀持且⽀持AGS独有的各项服务。
4. 数据对象:对AGS的要素类等内置数据对象⽀持,例FeauteSet、Geometry、Symbol莲花落一夜夫妻
5. 可视化组件多:更丰富的视图组件,如图例、编辑控件等
6. 动态修改渲染⽅式:AGS可以分级渲染等动态的修改样式,⽽leaflet的图层是否只能固定渲染⽅式?
7. AGS基于Dojo框架,⼀个⽐较⼤的框架,考虑了兼容多浏览器⼀致性。
8. leaflet默认只⽀持WGS 1984 Web Mercator (Auxiliary Sphere)坐标系的服务。
9. leaflet没有三维相关,AGS有,Openlayers包含了cesium
⼆、MapBox.js与Leaflet.js
原leaflet的团队似乎现在在为Mapbox⼯作。
leaflet没有OpenLayer那么复杂,专注性能和可⽤性,简单的API,精巧,移动⽀持。
MapBox.js与Leaflet.js主要的不同点:
1、Mapbox.js是Leaflet的⼀个插件,使⽤⽅式是通过结合leaflet使⽤。
山中避雨教案2、mapbox-gl.js 则是使⽤WebGL技术独⽴渲染前端库,不需要结合其它渲染引擎(⽐如Leaflet、OpenLayer)来使⽤。
中世纪欧洲地图3、使⽤mapbox-gl.js的浏览器必须⽀持WebGL渲染,在⽼旧的浏览器中是不⽀持mapbox-gl.js的。⽽mapbox.js则没有此限制。
三、OpenLayers概述
3.1OpenLayers核⼼职责
  最新⼤版本是openlayers4,它是⼀个基于h5的GIS前端库,地图渲染⽅式为Canvas和WebGL,常⽤Canvas展⽰⼆维地图,⽀持WebGL渲染显⽰出将来的OpenLayers有⽀持三维⽅向的可能。OpenLayers作为⼀个地图前端库主要负责GIS数据的展⽰与交互。
  OpenLayers仅仅是开源GIS框架中的前端部分,并不等于是GIS系统,所以很多⾮GIS专业的前端使⽤OpenLayers常常会出现很多误区,如社区中每隔⼏天就有⼈问的问题:
1. 请问怎样⽤ol加载⼏百万点啊?我现在加载了感觉很卡。
第四国际
2. 请问ol能实现路径分析吗?ol能实现缓冲区分析吗?
罗伯斯庇尔提问的⼈忽略了ol的核⼼职责是展⽰与交互,实际项⽬中也不可能有将⼏千万⼏百万数据推到前端展⽰和交互的,⼀般这种都是后端渲染图刷到前端展⽰,或者使⽤⽮量切⽚抽希数据到前端展⽰,正如
普通的web开发中的表单需要分页查询和分页展⽰是⼀个道理。⾄于分析⼀般是服务端或者空间数据库负责分析,分析结果提交前端展⽰。业务常常是复杂的,但是每个⼯具的职责是清晰的,请将复杂的业务交由正确的⼯具去完成!
3.2 OpenLayers的定位
  GIS前端渲染库除了OpenLayers还有LeafLet和ESRI公司的ArcGIS API,同样能⽀持地图的前端库还有百度api,⾼德api,⾕歌api 等,还有Echarts,D3.js等,初学者常常不能理解他们之间的关系。常常听⼈说,路径分析我就⽤⾼德API不就可以了吗?展⽰数据我⽤下Echarts不可以吗?仍然是⼀句话,选择什么样的⼯具,完全是依据实际业务需求⽽定的。当前和地图相关的库⼤概分类如下:
在线地图lbs服务:这类库的代表是百度api,⾼德api,⾕歌api,主要特点是:公⽹环境,开发者需要申请key,key的地图请求服务有次数限制。地图数据和服务都是百度⾼德提供的,开发者常常是将业务有限的点(⼏个点,⼏⼗个点,⼏百个点等)定到地图上定个位置。开发中使⽤它们主要是如招聘⽹站上公司位置的⼀个定位,互联⽹应⽤中的lbs服务,如各种快递,外卖等app中附近的餐馆影院等。在企业和政府应⽤中,业务⾮常复杂,在线地图服务提供的数据不是我们要的,提供的服务不能满⾜我们的应⽤,所以实际上基本不会在企业开发中使⽤。LBS!=GIS。
数据可视化库:Echarts,D3.js主要作⽤是web端实现数据可视化的,提供丰富的图表等展⽰和交互,
由于地图的使⽤越来越普及,所以不可避免的他们也会⽀持数据在地图上的展⽰。但主要定位仍然是数据可视化,在开发中,常常指定某个div,⽤来展⽰和交互下数据,属于页⾯的⼀⼩部分业务。⽽⼀般的综合指挥调度系统的地图是⼀个应⽤,加载⾮常多的图层,可以随时通过地图向地图单元发送指挥命令。page!=application。
GIS地图库:ol,LeafLet,arcgis api等都属于企业级地图应⽤开发库,彼此之间⼤同⼩异。稍微的差异是arcgis api需要arcserver提供服务,离开了server基本没任何优势。leaflet主要优势还是在开发的第三⽅控件⽐较多,但是兼容性⽐较差。且以“体积⼩,对移动端友好”为著称,在ol2的年代的确如此,但个⼈认为API的结构不如ol好,且ol3之后版本⽀持⾃定义打包,也⽀持移动端应⽤,ol4版本实现es6的import语法,实现按需加载,⾜以胜任开发⼤型GIS应⽤的要求。
综述:OpenLayers是GIS地图库,定位于开发GIS应⽤,⽽⾮地图页⾯,⽤于复杂的展⽰和交互⽤户数据。

本文发布于:2024-09-26 00:28:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/172338.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地图   服务   数据   开发
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议