WebGIS技术汇总

WebGIS系统通常都围绕地图进行内容表达,但并不是有地图就一定是WebGIS,所以有必要讨论下基于Web的地图API分类及应用场景。

Web上的Map API主要分类如下几类:

  • Charts:以D3.js,Echarts等为代表。
  • LBS:以高德/谷歌/百度地图等为代表。
  • WebGIS商业API:ESRI的ArcGIS API For JS,超图的IClient。
  • WebGIS开源API:Leaflet,OpenLayers,Cesium,MapboxGL等。

建模工具Blender

https://zhuanlan.zhihu.com/p/628531907

Leaflet

https://leafletjs.com/

OpenLayers

https://openlayers.org/doc/quickstart.html

https://blog.youkuaiyun.com/qq_29602347/article/details/99623968

https://viglino.github.io/ol-ext/examples/map/map.layer.3D.html

Cesium

https://github.com/CesiumGS/cesium

https://sandcastle.cesium.com/?src=3D%20Tiles%20Photogrammetry.html

框架比较:主流webgis框架介绍与对比-腾讯云开发者社区-腾讯云

常用的前端地图框架(WebGIS框架)

1. Leaflet

Leaflet 是最著名的前端地图可视化库,它开源、体积小、结构清晰、简单易用。

2. Mapbox GL JS

Mapbox GL JS 是目前最新潮的前端地图库,它的矢量压缩、动态样式和三维性能令人印象深刻。它本身是开源的,但一般依赖于Mapbox公司提供的底图服务。

3. ArcGIS API for JS

ArcGIS API for JS 是较为学院派的前端地图库,它是ArcGIS开发套件中的一部分,和桌面端和服务器端ArcGIS软件有较好的协作。它不开源且收费不低,在学术场景下较为常用。

4. Openlayers

Openlayers 也是常用的前端地图库,它开源,相比于Leaflet更加复杂和完备。

5. Cesium

Cesium 是三维地理可视化的常用库,在大尺度的可视化(地形、建筑、地球)中十分常用。

6. 百度地图 JS API /百度地图 API GL

百度地图 JS API 是传统的二维地图,百度地图 API GL 是三维地图,它们依赖百度地图提供的后台服务。除了地图服务外还有检索、导航、实时交通等关联服务。开发者有免费的限额。

7. 高德地图 JS API

高德地图 JS API 与百度类似。

8. Google Maps JS API

谷歌地图 JS API 在境外有更好的数据。

9. AntV L7

AntV L7 是空间数据可视化库,它可以使用高德地图等协作构建地图可视化。

10. Mapbox.js

Mapbox.js 是 Leaflet 的一个扩展插件(与 Mapbox GL JS 不同)。

webgl开源三维引擎的选择

小场景的开源三维js引擎

1.babylonjs:http://www.babylonjs.com/(当前在用)

优点:有微软背景,有不少的demo,有较详细的api文档,有供测试的平台,有提供3dsmax转换模型的插件,

缺点:中文资料很少,没有系统的中文教程,如从入门到精通都可以给你讲一遍系统的教程,论坛也会被墙,相关的qq群较少,群里的人也不多,所以能真正指导我们的大牛也比较少。应该是国内用的 比较少。

2.threejs(当初选择引擎时关注过,选择了babylonjs后就没有去进步了解了)

优点:国内用的比较多,所以中文的资料也会比较多,有比较系统的中文教程如从入门到精通。用的人比较多,所以相关的qq群较多,群里的人也较多,接触到的大牛应该也会比较多。

缺点:没有提供一些基础建模软件的插件,比如3dsmax的模型导出插件,虽然说提供一些读3ds格式,fbx格式的场景。

大场景基于earth的开源三维js引擎

1.cesiumjs(http://cesiumjs.org/)

优点:有较多的demo,详细的api文档,有测试平台,比较丰富的展示特性和扩展。

2.webglearth(http://www.webglearth.com/

demo较少,但一些基本的gis功能都有,简单实用,好像没什么更新过

3.openwebglobe(http://world.openwebglobe.org/

效果不是很好,加载不流畅,展示的功能也比较少,后面就没有进步了解了

WebGis后端

arcgisServer、geoserver、mapserver ……

WebGis中间件

开发时,我们要选择适合自己的中间件。不同的中间件有其特性,如果是一般项目,tomcat等是很合适的,其使用方便,相关技术支持和资料也很好查找。但是如果是大型的集群项目,Weblogic和WebShpere可能是更好的选择,但是这两个中间件首先配置就是有难度的,同时不同的版本,可能对某些jar包的支持存在问题。如果项目必须使用国产的中间件,TongWeb和Apusics是不错的选择。

WebGis地图服务器

在WebGIS中,与其他一般的Web工程有明显区别的就体现在地图服务器上面。一般的地图服务器都由已有的软件商提供了解决方案,比较流行的有AGS、Geoserver、MapServer、SuperServer等。利用这些地图服务器我们能很好的实现地图的发布以及对一些空间查询和空间操作的支持。

WebGis业务服务器

业务服务器是Web项目里不可获取的一环。不管是利用哪些已有框架编写,比如Spring、Struts、Hibernate等,我们一般还是会将业务服务器的实现分为三个层次,即有名的MVC模式。而不同的框架里这三个层次的实现各有差别。

WebGis数据

WebGIS的数据大致可以分为三种,一种是地图、影像数据,一种是空间属性数据、一种是业务数据。地图、影像数据一般是一些png或者其他格式的数据组成。

在GIS中有个很重要的概念,即影像金字塔。这个概念主要是为了加速地图在前端的显示。而我们准备地图、影像数据时,也一般会首先对这些数据进行切图。

空间属性数据,是通过一些工具将已经整理好的数据进行入库。对于AGS,只有连接的是入库数据的mxd,才能发布成FeatureServer服务,以供数据的编辑。当然,空间数据入库后还可以支持业务逻辑的使用。

第三种数据,业务逻辑数据,是每个Web项目必须有的,它根据不同的业务需求将业务所需的数据进行采集和入库。

第1章Web GIS基础 1.1GIS及相关技术的发展 1.1.1Web开发技术的发展 1.1.2GIS的发展 1.1.3Web服务的发展 1.1.4Web GIS的发展 1.2OGC的Web服务规范 1.2.1OWS服务体系 1.2.2空间信息Web服务的角色与功能 1.2.3空间信息Web服务的系统框架 1.2.4OWS中的常用服务 1.2.5服务的请求与响应 1.3REST及REST风格的Web服务 1.3.1REST中的基础知识 1.3.2REST风格的Web服务 1.3.3REST风格的Web服务实例 1.4Web GIS的组成 1.5ArcGIS Server REST风格的Web服务 1.5.1ArcGIS S erver站点的架构 1.5.2ArcGIS Server发布的服务类型 1.5.3服务发布 1.5.4Web服务的URL及元数据 1.5.5查看地图 1.5.6使用ArcGIS Server REST风格Web服务的过程 1.5.7支持的输出格式 第2章ArcGIS API for JavaScript基础 2.1ArcGIS API for JavaScript版的Hello World 2.2ArcGIS API for JavaScript与Dojo 2.2.1ArcGIS API for JavaScript的构成 2.2.2ArcGIS API for JavaScript与Dojo的关系 2.3开发与调试工具 2.3.1集成开发环境 2.3.2调试工具 2.3.3Firebug 2.3.4其他工具软件 2.4Dojo基础知识 2.4.1JavaScript对象 2.4.2函数也是对象 2.4.3模拟类与继承 2.4.4使用模块与包管理源代码 第3章页面布局设计 3.1使用布局小部件设计页面框架 3.1.1小部件与布局小部件简介 3.1.2使用面板组织页面元素 3.1.3使用容器小部件设计页面布局 3.2可移动的小部件微架构 3.2.1自定义小部件的基础知识 3.2.2内容小部件的基类实现 3.2.3可移动的框架小部件 3.2.4测试 3.3集中控制的小部件微架构 3.3.1可集中控制的框架小部件 3.3.2小部件容器 3.3.3测试 3.3.4订阅/发布模式的事件处理机制 3.4使用菜单组织功能 3.4.1菜单容器小部件 3.4.2菜单项小部件 3.4.3菜单小部件 3.4.4测试 第4章地图与图层 4.1图层操作 4.1.1图层类及其之间的继承关系 4.1.2切片地图图层 4.1.3动态地图图层 4.1.4图形图层 4.1.5带地理参考的影像图层 4.1.6 KML图层 4.2自定义图层 4.2.1自定义动态图层——热度图图层 4.2.2自定义切片地图图层——百度地图 4.2.3自定义图层——三维建筑图 4.3地图操作 4.3.1地图窗口操作 4.3.2地图属性获取 4.3.3事件处理 4.4地图参数的基本配置 4.4.1漫游与缩放动画的参数配置 4.4.2比例滚动条的参数配置 4.4.3跨域访问参数配置 4.5图层控制器 4.5.1图层控制器小部件模板 4.5.2图层控制器小部件类 4.5.3图层控制器小部件的使用 第5章空间参考系统与几何对象 5.1空间参考系统 5.1.1空间参考系统类 5.1.2参考系统转换 5.2几何对象 5.2.1几何对象类及其之间的继承关系 5.2.2几何对象的绘制 5.2.3几何对象相关的功能模块 第6章符号与图形 6.1符号 6.1.1标记符号 6.1.2线符号 6.1.3填充符号 6.1.4文本符号 6.2图形 6.2.1图形对象的构成
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值