WEB GIS 开发基础概念汇总

本文介绍了WEBGIS的基础概念和技术框架,汇总了常见的GIS软件和技术,并详细阐述了如何搭建内网离线WEBGIS服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WEB GIS 开发基础概念汇总

1.基础概念

WEB GIS是指依托互联网建立的地理信息服务系统,与传统的地理信息科学一脉相承,是实物地图制图技术与计算机技术、网络技术、软件开发等技术结合后的的产物,其相关的各个领域常称为地理信息科学。

地理信息科学通过研究地理空间发生直接或间接关系的数据的采集、存储、处理、分析、表达和服务方法,使得数据从原始的二维字符状态转变为我们容易理解的空间可视化语言或知识,从而服务于环境、国土、规划、水利、能源、交通、居民生活等各个方面。

WEB GIS中的GIS其英文为Geographic Information System,即地理信息系统,WEB GIS通常意义上的理解是依托于网络建立的地理信息系统,按照现有软件开发技术,其一般为B/S架构。

2.技术框架

2.1 常见技术概念汇总

当前存在许多包含了各种层次的自由及开源的GIS软件,例如大型的桌面GIS有QGIS和GRASS GIS等,目前比较流行的服务器端软件有Geoserver、MapServer和QGIS Server等,还有开源的GIS数据库项目如PostGIS/PostgreSQL Spatial Database,另外还有一些数据转换工具(如GDAL/OGR)以及地图投影算法库(如 PROJ 和 GeoTrans )等开源项目。这些软件大多都得到OSGeo的支持。

开放数据是一类可以被任何人免费使用、再利用、再分发的数据。在其限制上,最多是要求署名和使用类似的协议再分发。Data.gov中包含了许多由美国政府收集的开放数据。此外,开放街道地图(OpenStreetMap,缩写OSM ) 也是一个广泛使用的开放数据源示。OSM项目由英国人Steve Coast创立,概念启发自维基百科网站,是一个构建自由内容之网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图,并且让廉价的移动设备有方便的导航方案。

2.2 思维导图(借用,感觉比较到位)

学习路线可参照下图,现阶段WEB GIS开发主要基于B/S架构,分为前端和后端,后端另有单独架构。(后附上表格介绍简单介绍各个组件)

在这里插入图片描述

技术类别产品名称简介
前端(客户端)OpenLayersOpenLayers是一个前端UI库,用于使用javascript创建基于Web的空间应用程序。 它支持各种图层源和后端。 例如,可以从GoogleMaps或自定义磁贴源中提取地图图块。这带来的优势在于它使开发人员能够重用诸如tile源之类的元素,而是将注意力集中在其应用程序的更独特方面,例如“业务逻辑”。平铺源等默认组件可以在以后轻松换出。 它支持位图和矢量图层,包括点,线和多边形。 其最广泛使用的功能之一是能够在基本地图上叠加数据层。
LeafletLeaflet是一个Javascript库,强调前端UI。 它支持多种基础层和几何类型的组合。 它覆盖了与OpenLayers有些相似的领域,但功能略有减少。 相对于OpenLayers而言,它的优势在于其对移动设备的出色支持,卓越的产品价值,简洁的简约设计以及对性能的强烈关注。
GeoMooseGeoMoose结合了几个流行的开源库,创建了一个强大而灵活的映射平台,重点放在前端的Javascript / AJAX上。 它使用MapServer作为后端,OpenLayers和Dojo(都是基于Javascript的)用于其用户界面。 它提供了一组强大的工具,用于查看,编辑和查询浏览器中的数据。 它的发展社区似乎非常活跃,并且具有良好的前进轨迹。 它的吸引力来自其功能集和现代,平易近人的用户界面。 其记录良好的Javascript API将使Javascript开发人员和其他Web构建者都能接近,因为大多数Web开发人员至少都接触过Javascript。
WEB服务与应用服务MapServerMapServer是一个开源平台,用于发布空间数据和创建交互式地图应用程序到Web。 它自20世界90年代中期以来一直存在,并被认为是成熟和稳定的,并且持续积极发展。其主要重点是从多个层生成地图,包括基础图像和空间数据集。 它还提供智能标签,包括高级排版和布局,包括碰撞检测。 它可以读取和提供各种格式的空间数据,包括Shapefiles,WMS,GDAL,PostGIS和GeoTIFF。它通常用于生成地图图块及其MapCache扩展。它有一些库,支持各种语言的应用程序开发,包括Python,Perl,Ruby,Java和PHP。
GeoServerGeoServer主要基于Java语言。它提供了创建和编辑地理空间数据以及在面向服务的体系结构中提供地图的基本功能。它使用OpenLayers模块并提供和实现Web地图服务(WMS)标准。 它还使用了GeoTools框架,该框架涵盖了MapServer功能的一小部分。 像GeoServer本身一样,是用Java编写的。 它将主要吸引已经使用基于Java的工具和平台的开发人员。
数据库(数据服务)PostGISPostGIS是PostgreSQL数据库的扩展,它支持空间查询。PostgreSQL既是关系数据库又是对象数据库,被广泛认为是最先进的开源数据库,与Oracle和MS-SQL 类似。 PostGIS支持各种空间查询,包括邻近度,半径,边界框,碰撞/重叠检测等。 它是Web GIS项目中经常使用的非常有用的工具。
GDAL (Geospatial Data Abstraction Library)GDAL是地理空间数据格式的翻译库。 它可以导入和导出各种各样的文件和编码类型。 它可用于在不同投影系统之间转换空间数据。栅格数据格式由GDAL处理,矢量数据格式由OGR处理,现在包含在GDAL中。 它还可用于从多个图像文件源创建马赛克。 GDAL是一种有价值的工具,用于从不同来源获取数据并将其转换为协同工作。
工具TileMillTileMill是一个桌面应用程序,用于生成地图图块图像,然后将其作为静态文件托管以用作基础图层。 TileMill可用于创建视觉上令人惊叹的基础层。 它非常注重美学,包括许多经过深思熟虑的预设,使没有设计背景的人能够制作非常有吸引力和专业的地图图层。 TileMill的开发由一家名为MapBox的公司领导。 他们提供几种有吸引力的付费服务,包括瓷砖托管和精选和精心调整的基础层。

3.内网离线WEB GIS搭建思路

需求简析,公司内网需要搭建离线地图服务,主要功能有:

1.高分辨地图显示

2.制图,用于表示行动路径等

3.规划(类似于导航,不过只需要标示出从A到B的可行路径就好,额外功能是计算总时间)

4.文本规划,要能生成规定的文本格式用于呈送领导审阅

针对以上需求(因为从头到尾就我一个人搞,所以就简单的统计了一下需求),我决定使用PostgreSQL搭建数据服务,GeoServer搭建GIS服务,OpenLayers建立前端库,这样可以实现基本的WEB GIS服务,综合现有情况我的服务器只有一台,并使用了vSphere进行了虚拟化,所有资源并不充分(虽然最后同时在线用户顶多就是那一个最忙的部门的4个人),所以是否需要丰富后端,或者将其他功能都放到前端需要再考虑,不过第一步终于捋清了。

4.感谢

本文是个人在探索搭建内网WEB GIS过程中的思路总结,参考了网上的很多资料,在这里提出感谢,主要如下。

1.http://webgis.cn/

2.https://baijiahao.baidu.com/s?id=1671250239402865139&wfr=spider&for=pc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值