WebGIS
外观
| 250px | |
| image_caption | 典型的WebGIS三层架构:客户端、应用服务器和数据服务器。 |
|---|---|
| en_title | Web Geographic Information System |
| core_concept | GIS服务器、Web地图服务、客户端技术 |
| application | 在线地图(Google Maps, Baidu Maps)、城市规划公示、环境监测数据发布、位置服务(LBS) |
| principle | 将GIS的功能通过万维网(World Wide Web)进行发布和访问。 |
| field | 地理信息系统 |
WebGIS,全称为网络地理信息系统(Web Geographic Information System),是一种基于网络的地理信息系统。它将传统的桌面GIS的分析、查询和可视化功能与互联网技术相结合,允许用户通过标准的Web浏览器或移动客户端,跨平台、跨地域地访问、浏览、查询和分析地理空间数据,而无需在本地安装任何专业的GIS软件。
WebGIS的出现极大地降低了GIS技术的使用门槛,促进了地理信息的共享和大众化应用,是现代地理信息产业发展的核心驱动力之一。
系统架构
现代WebGIS普遍采用多层客户端/服务器(Client/Server, C/S)或浏览器/服务器(Browser/Server, B/S)架构,最典型的是三层架构:
1空间数据库]](如PostGIS, Oracle Spatial)或文件型空间数据(如Shapefile, GeoJSON, GeoTIFF)组成。
2GIS服务器]]软件(如ArcGIS Server, GeoServer, MapServer)承担。
3. 客户端/表现层 (Client/Presentation Tier):是用户直接交互的界面。它负责向服务器发送请求,并以直观、友好的方式将服务器返回的数据(如地图、图表、信息窗口)呈现给用户。客户端可以是:
* 桌面浏览器:通过HTML, CSS和JavaScript构建的网页应用。 * 移动应用:在智能手机或平板电脑上运行的原生App。 * 桌面应用程序:需要调用Web服务的桌面软件(如QGIS可以加载WMS服务)。
关键技术与标准
GIS服务器与Web服务
GIS服务器通过一系列标准化的Web服务协议来发布地理数据。这些标准由开放地理空间联盟(OGC)制定,确保了不同厂商、不同平台之间的互操作性。
- WMS (Web Map Service):网络地图服务。根据用户请求的地理范围、图层、样式等参数,动态生成地图图片(如PNG, JPEG格式)返回给客户端。
- WMTS (Web Map Tile Service):网络地图瓦片服务。为了提高性能,服务器预先将地图在不同的缩放级别下切割成大量标准尺寸的小图片(即“瓦片”,Tile),客户端根据当前视窗范围和缩放级别请求相应的瓦片进行拼接显示。这是目前所有主流在线地图(如Google Maps)采用的核心技术。
- WFS (Web Feature Service):网络要素服务。它允许客户端获取地理要素的矢量数据(如GML, GeoJSON格式),而不仅仅是地图图片。这使得客户端可以对要素进行更复杂的查询、分析和样式化,甚至进行在线编辑。
- WCS (Web Coverage Service):网络栅格服务。专门用于发布和获取栅格数据(如遥感影像、DEM)的原始数值。
客户端技术
现代WebGIS客户端主要依赖于一系列前端Web技术:
- HTML5 / CSS3 / JavaScript:构建Web页面的基础。
- 地图库 (Mapping Libraries):封装了复杂的地图操作(如缩放、平移、瓦片请求、图层管理、交互等)的JavaScript库,极大地简化了WebGIS应用的开发。主流的地图库包括:
* OpenLayers:功能强大、全面的开源地图库。 * Leaflet:一个轻量级、易于上手的移动优先的开源地图库。 * Mapbox GL JS:使用WebGL技术进行客户端渲染,支持矢量瓦片,性能优越,地图表现力强。 * ArcGIS API for JavaScript:Esri公司为其平台定制的强大前端库。
- 矢量瓦片 (Vector Tiles):与WMTS的栅格瓦片不同,矢量瓦片传输的是轻量级的矢量数据。地图的渲染(如配色、标注、符号化)在客户端完成,这使得地图样式可以动态改变,地图旋转和缩放更加平滑,并且在高分辨率屏幕上显示效果更佳。
参见
- 地理信息系统 (GIS)
- 空间数据库
- GIS软件
- 开放地理空间联盟 (OGC)