1.关于WebGIS
WebGIS(网络地理信息系统)是指工作在Web网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是Internet 上地理信息发布、共享和交流协作的基础。
互联网深刻地改变了我们的工作和生活,也改变了地理信息系统,两者的融合产生了WebGIS。随着互联网和移动互联网的迅速普及,WebGIS也迅速发展,以其广泛的应用价值和独特的魅力,成为现代生活的日常工具和现代社会的技术支柱。近些年来, WebGIS与地理信息科学,与云计算、物联网、大数据和人工智能等信息技术继续融合,迅猛发展,愈发展示出其在各行各业的应用价值和潜力。充分利用WebGIS,这将有益于乃至将决定很多机构的发展和前途。
2.WebGIS系统框架
从上图图一 WebGIS组成部分 可知:WebGIS由Web和GIS两部分组成,那么理论上在设置一个WebGIS系统框架时就线需从这两方面分别设计然后进行拼接合并。实际上思维大致相同,但时在设计GIS部分也需以Web部分为基础进行设计。Web部分常用HTML、CSS、JavaScript、Jquery和BootStrap等技术进行设计,GIS部分通常是调用各类API进行设计,常见的有ArcGIS API for JavaScript、Baidu API等等。下面将以实践课汇报展示的古村古镇数字化保护平台WebGIS系统设计为例阐述WebGIS设计流程。
2.1古村古镇数字化保护平台
2.1.1WebGIS系统主页面展示
图二 系统主页面展示
2.1.2WebGIS系统主页面设计
2.1.2.1总设计流程图
2.1.2.2 Web设计部分
由上图三 总设计流程图可知,Web设计部分主要包括页面内容划分、页面样式设计、动画设置和图表设置等内容,主要涉及到HTML、CSS、Jquery、Echart.js等技术。下面是相关部分代码展示:
1)基本网页框架:主要包括一个html标签、head标签、body标签,html标签以为起始标签,以标签为结束标签,其他标签也类似。
图四 基本网页框架
2)CSS样式设计:样式设置方式主要有三种 ①用link标签引用CSS文件②利用style标签设置③在DIV块中设置其属性
图五 CSS样式设计
3)Echart.js表格设计:利用Echart.js设置图标,将其装在某个DIV块中,可以利用Javascript的document.getElementById()获取DIV块或者在echart、jquery中的可利用$(“#Name”)或$(“.Name”),#表示ID名称、.表示Class名称。
图六 Echart.js表格设计
2.1.2.3 GIS部分设计
本部分系统利用ArcGIS API for Javascript实现聚类功能和同时给地图插入小微件(Widget):比例尺、指南针、图层列表等、给地图图层配置弹窗(poupTemplate)等。其中聚类和弹窗都是基于数据图层的基础上进行的,那数据图层从何来?
2.1.2.3.1 数据发布
目前较长件的两种发布数据方式是①利用ArcGIS+ArcGIS Server发布数据,数据发布到本地电脑上,只能在本机上进行访问,数据共享系数较低。②利用ArcGIS Pro 或者GeoScene Pro 发布数据到Geoscene Online(原ArcGIS online,最近国内平台升级)上。
数据发布时还需考虑地图服务类型。由下图七 地图服务类型可知,常见的地图服务主要有WFS、WMS、KML等地图服务。本次实验主要是利用WFS服务进行点要素发布。
图七 地图服务类型
1.WMS
WMS – Web Map Service,WMS 通过具有地理空间信息的数据制作地图,在国际规范中,地图(map)被定义为地理数据的可视化表现,WMS 返回的地图并非地图数据,而是地图图像,格式类型可以是 PNG、GIF、JPEG、SVG、WebCGM 等。
2.WFS
WFS – Web Feature Service ,WFS 通过 GML(Geography Markup Language,地理标记语言)传递地理空间数据,它支持在基于 HTTP 协议的分布式计算平台上对地理要素进行插入(INSERT)、更新(UPDATE)、删除(DELETE)和发现(DISCOVERY)等操作,并且在这些操作的过程中保证了地理数据变化的一致性。
3.KML
“KML 是一种文件格式,用于在地球浏览器(例如 Google 地球、Google 地图和 Google 地图移动版)中显示地理数据。”
Keyhole 标记语言 (KML) 是一种基于 XML 的文件格式,可用于表示应用程序(如 ArcGIS Explorer 和 Google Earth)中的地理要素。KML 允许您在地图与 globe 上绘制点、线和面,并与他人共享这些信息。您也可使用 KML 来指定文本、图片、电影或者用户单击要素后出现其他的 GIS 服务的链接。许多 KML 客户端应用程序都是免费的,可提供令人熟悉的用户友好型导航体验。
KML是一种文件格式,用于在Google浏览器(如Google Earth)中显示地理数据。您可以创建KML文件来精确定位位置,添加图像叠加层并以新方式公开丰富的数据。KML是由开放地理空间联盟(OGC)维护的国际标准。
图八 各服务类型关系
2.1.2.3.2 API 程序编写
本次API利用最新版本ArcGIS API for Javascript 4.2.2的AMD编程方式编写的,该编写方式先需要利用require加载所需要的模块,然后方可使用相关模块功能。
API主框架:
图九 API主框架
2.1.2.4 Web与GIS部分拼接
只需Echart表格设计一样,给API程序找到一个合适大小的DIV块即可,然后将API嵌入DIV块即可。如上图九 API主框架所示,通过MapView的container属性找到相关DIV块即可实现Web与GIS拼接合并。
2.1.2.5 WebGIS系统主页面设计总结
以上就是整个WebGIS系统设计的流程,主要分为三块①Web部分设计②GIS部分设计③Web与GIS部分拼接。前两部分可以单独同时进行设计然后拼接合并。
下一篇:WebGIS入门——进阶