GIS系列(⼀)互联⽹地图WebGIS技术架构概述
这是我在csdn上发表的第⼀篇⽂章,两年的webgis开发让我对现在的互联⽹地图技术架构有了⼀个初步的了解,这篇⽂章为⼤家简单的分享⼀下现有的互联⽹地图的技术架构。
1.纯前端
纯前端地图架构依赖于众多的js框架,如果是开源的成型的框架,可以使⽤,,等。三维的可以使⽤,当然,如果你不想借助已有的框架,想⾃⼰写
的话,也可以好好学习⼀下,WebGL等基础知识,⾃⼰编写接⼝和框架,配合⼀些服务,来实现纯前端的地图⼯程。
纯前端的地图⼯程当然要配合⼀些纯前端的web⼯程,因此呢也要学会使⽤react,vue等前端框架(当然如果你原⽣js学的不错,JQuery 学的不错也是可以的)。其次还需要掌握webpack等
前端构建⼯具,地图数据源可以采⽤静态的数据,⽤Nginx发布成服务调⽤,当然也可以利⽤。
2.前后端结合
这种⽅式⽐较⿇烦,但是适⽤于⼤数据量,并且数据私密性⾼的情况。⾸先前端还是利⽤上⽂所提到的那⼏个框架,不同的是,服务端可以部署⼀些程序对⽤户提交的地理数据进⾏处理,⽐如说,前端利⽤Openlayers绘制了⼀个带有属性的feature,我想把这个要素存⼊数据库,那这样的话,我就可以在前端将其构造成(⼀种地理数据格式),传到服务端,服务端写SQL再保存到数据库。或者是⼀些带有地理分析功能的系统
nginx部署前端项目⽐如缓冲区分析,相交分析,包含,框选查询,点选查询等等,可以在服务端进⾏。还有例如⼀些数据格式的转换,也可以利⽤服务端程序进⾏。⽤java来举例⼦,java有⼀个开源的地图处理⼯具Geotools,它可以在服务端进⾏⼀些处理,对栅格数据的处理也同样⽀持。因此前后端结合的项⽬中,服务端利⽤java是肯定可⾏的。当然有些公司利⽤C#也可以,C#没有开源的专门⽤于处理地理信息的框架,但他同样也是⼀个服务端利器,接受请求发送数据也⾮常⽜x。数据库层⾯多⽤,空间数据库当中除了它,还有Mysql,SQL server等空间数据库。个⼈⽐较推荐PostgreSQL,有两个主要原因,第⼀,完全开源。第⼆,可以结合postgis提供的众多函数进⾏复杂 的空间操作。
前后端结合的项⽬的特点在于地理数据可以不借助地图服务(GeoServer)发布,调⽤。⽽是可以通过SQL语句将数据库当中的数据转化成Geojson,返回前端直接加载。⼀些栅格影像数据也可以放在服务器固定路径进⾏。完全不依赖任何地图服务即可完成。
还有另⼀种前后端结合的⽅式——基于C和C++的 OpenGL,在服务端将地图利⽤OpenGL渲染成⽮量地图,发布成服务。前端请求访问(据说这是百度地图、⾼德地图等⼤型互联⽹地图企业的技术),具体如何还有待研究,我没经历过这种。
这是给⼤家分享GIS知识的第⼀篇⽂章,在接下来的系列中我会详细的介绍每⼀部分的技术,分享实战过程中的经验(“坑”)。顾拜~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论