基于云端地图配置系统的研究与实现

(整期优先)网络出版时间:2024-11-04
/ 3

基于云端地图配置系统的研究与实现

李晓亮

宁夏医科大学总医院 宁夏回族自治区银川市  750004

摘要:地图配置制作在地理信息系统中是非常重要的,并且各种地图行业中都很需要地理信息系统来进行制图。随着科技的发展,现在已经有很多的地图制图软件,例如:北京超图软件股份有限公司推出过自己的云端产品,SuperMap online,国外的主要GIS厂家,美国环境系统研究所公司,简称Esri,推出的云端产品,ArcGIS online。但这两款产品都不支持云端的在线制图功能。基于此,本文研究了基于开源的MapServer提供WMS服务,再集成openlayers 显示于客户端,用Ajax进行服务端与客户端的通信来实现云端配图,对数据进行实时编辑、配置,制作成为针对不同应用场景、行业、人群、以及不同用途的地图。

关键WebGIS;MapServer;Openlayers

Abstract:It is very important to map configuration in the geographic information system, all kinds of maps are needed, for drawing. With the development of technology, there are already a lot of mapping software, For example, Beijing Supermap Software Limited Liability Company, it had launched its own cloud-based products. Foreign major GIS manufacturers, American Institute Of Environmental Systems, Referred to as Esri, had Launched cloud products. But neither product supports the online mapping capabilities of the cloud. Based on this, this article has looked at providing WMS services based on open source MapServer, the openlayers are then integrated into the client, useing Ajax for service end-to-end communication with the client to implement cloud matching, edit and configure the data in real time, make maps for different application scenarios, industries, people, and different uses.

Key words:WebGIS; MapServer; Openlayers

1 绪论

地图配图也即电子地图配图,是对矢量数据进行符号化配置的过程[1]。配置过后的数据更可读性、美观,可用于各类行业应用。在传统行业中,地图制作依赖于专业GIS软件,面临专业性强、难度大、共享不便等问题。这些传统方法无法满足在线地图展示和配置的需求,因此需要开发基于云的解决方案。

地理信息系统(GIS)已从桌面应用转向云端服务,用户通过注册账号即可管理发布数据。然而,不同厂商的技术实现和进展各异。目前,国内外知名GIS软件如SuperMap和ArcGis在支持在线符号化配置方面存在局限,尤其在处理大规模空间数据、复杂符号配置以及点线面符号配置方面,尚未能完全满足需求。

2相关技术

2.1 WebGIS

WebGIS是基于浏览器的GIS系统,提供地理空间信息服务。它拓宽了GIS的访问范围,便于数据管理与共享,服务于多个领域,该技术在互联网和行业应用中更具有实用性,有很高的价值。

WebGIS分为数据层、中间层和web层。数据层管理空间数据。中间层包括地图服务和业务逻辑服务,地图服务支持数据渲染、查询和发布。业务逻辑服务通常用Java框架实现。前端由HTML、CSS、JS组成。WebGIS可制定云端配图的技术方案。

2.2Mapserver渲染原理

MapServer是一个开源程序,用于发布地理信息,遵循OGC标准提供WMS和WFS服务。WMS服务,即WEB地图服务,是OGC标准之一,用于制作地图[6]。WMS服务定义了三个操作:获取服务的能力、获取地图和获取地图上特定要素的信息。

Mapserver在CGI环境中运行,处理web端传入的参数,并根据mapfile文件中的空间属性信息进行渲染。原生CGI能快速生成瓦片服务,适用于高负载应用。

2.3Openlayer展示原理

OpenLayer是一个用于WebGIS客户端展示的JavaScript库,它允许直接访问标准服务,并通过集成实现了地图浏览以及缩放和平移等基本功能。

3系统构架及设计

3.1系统构架

根据以上的介绍,本文采用了四层体系结构,分别是数据层,渲染服务层,应用服务层,web层。如下图3.1所示:

3.1系统构架图

3.2系统设计

随着地图应用的普及,对云端地图配置的需求日益增长。为提升配图效率,简化流程,开发了基于云端的配图系统。系统功能包括:用户注册登录,收藏数据源和符号库;展示云端数据源和符号库列表,支持收藏和查看详细信息;管理用户数据和符号分组,包括命名、增删改;展示所有收藏数据源,支持搜索和重复收藏;管理用户符号库分组,进行编辑和删除;列出收藏的符号库,支持按分组查看和操作。这些功能共同构成高效便捷的云端地图配图系统。

3.3数据库设计

数据库中需要存储空间数据和属性数据,空间数据并不是以表结构形式存在,而是将地理要素信息抽象为点线面的方式储存的,显示直观形象,易于理解[4]。而属性数据主要介绍了地理实体的属性信息,例如:这个数据的发表者,发表时间,描述地点等。

使用MongoDB数据库管理存储空间数据,它结合了关系型和非关系型数据库的特点,适合本文需求。功能设计包括用户表、数据源列表、符号库列表等,以及具体的数据源、符号库和配图方案信息。

3.3.1空间数据要素信息内容

数据源都是用点,线,面这些集合体来表示自然中的各种实体,点结构体如下表3.1所示:

表3.1 点结构表

字段

字段值

字段类型

个数

几何类型

1(代表点)

整形

1

X

X坐标

双精度

1

Y

Y坐标

双精度

1

多点结构是一个点集合,包括了边界框,点个数和各点坐标。线结构是一个有序的顶点集合,包括边界框、分段数、折点数、每个分段的起始折点的索引序号和各个折点的坐标[6]。多边形结构一般都是由四个点连线组成的环形起始点和终点是重合的,一个环内可以有多个内环,多边形结构与线结构相似,多边形就是有多个点集,并且每个点集的首尾坐标相同。

3.3.2属性信息数据设计

数据源(datasource)的属性信息设计,如下表3.2所示:

表3.2 数据源属性表

字段名称

数据类型

能否为空

说明

Id

String

数据源ID

Name

String

数据源名称

Geotype

String

几何类型

Scale

String

比例尺

Imageurl

String

图片地址

符号(symbol)是以svg文件格式储存的,svg是纯粹的XML定义图形,一般有图片大小,形状边宽,边框颜色,图形填充色等来表现符号的。符号库(symbollib)、用户(user)、用户数据源分组(Group_Datasource)、用户数据源(User_Datasource)、用户配图(User_Map)等属性信息均需包括字段名称、数据类型、空值等。

用户符号库分组(Group_ Symbollist)与用户配图方案分组(Group_ Maplist)都和数据源分组类似,只不过符号库是SymbolliblistID而配图方案分组是MaplistID。用户符号库(User_Symbollist)的属性与数据源的类似,符号库是记录的符号库ID。用户配图(User_Map)的属性表也与数据源类似,但也有所不同。

4 功能实现

根据以上的实现目标以及功能分析可将系统分为两大模块:一个是门户界面,一个是用户管理,如下图4.1所示:

图4.1 云端配图功能图

云端配图分为两层:主门户界面展示首页和数据源符号库,类似淘宝展示方式;用户管理模块负责管理数据源、符号库和配图方案。

4.2 门户界面模块设计

4.2.1 数据源列表模块

数据源列表模块主要提供两项功能:一是展示数据源列表,包括数据源名称、缩略图以及与现实的比例尺标记;二是收藏功能,允许用户对数据源进行分组收藏。

4.2.2 符号库列表模块

符号库列表具备类似数据库的功能,主要包含三个部分:首先,它能展示符号,使用由符号构成的九宫格缩略图,并显示符号总数;其次,它提供收藏功能,收藏时需选择分组;最后,用户可以查看符号库中的具体符号列表。

4.3 用户管理模块设计

4.3.1 数据源管理模块

数据源管理功能包括:数据分组列表,允许创建、删除分组,添加和编辑数据源;以及数据列表,用于按分组展示收藏的数据,支持数据的转移和删除。

4.3.2 符号库管理模块

符号库管理功能主要包括:符号分组列表,用于查看、创建、删除分组和管理符号库;符号库列表,展示收藏的符号库,包括删除、收藏和查看符号;以及符号列表,显示所有符号。

4.3.3 配图方案管理模块

配图页面需数据源列表添加数据,展示图层,提供修改符号模态框。用户可选数据源添加至图层列表,地图显示图层,点击图层旁眼睛图标隐藏图层,图层前图标弹出选择模态框,用户按符号库分组选择符号,选定后改变地图样式。

配图方案管理包含以下功能:分组列表允许用户查看、创建、删除和编辑分组;配图列表展示各分组的配图方案,支持查看、删除和收藏配图;新建配图功能让用户选择分组并命名后创建空配图;地图配置功能提供地图浏览和操作,数据源添加到图层,以及图层的显示控制和符号选择。

5 总结

本文首先介绍了设计的相关内容,接着详细阐述了系统实现的思路,基于WebGIS框架确定技术路线,并对各层技术进行筛选对比,选择适合的技术。系统存在不足,如文件管理方式简单但不便于大量数据管理,配置符号时存在缓存问题,需进一步了解和改进。Mapserver是以C语言为脚本的服务,不适合前端直接应用,建议寻找更优的渲染服务。

参考文献

[1]张晶.王晓波.GIS电子地图配图技巧探讨[J] .科技信息,2012

[2] 沈敬伟. 三维拓扑关系描述、计算和推理研究[D]. 中国博士学位论文全文数据库,2015(05)

[3] 赵长壮,郭珂珂 .基于WbsGIS的数字校园信息管理系统的建立[J].创新科技, 2012

[4] 王博然. PostgreSQL与MongoDB的数据迁移与应用适配[J].北京工业职业技术学院学报,2013(02) 32-36

[5]宋国玺.危机矿山三维信息评价系统—栅格图像矢量化组件研发[D]. 中国优秀硕士学位论文全文数据库,2010(07)

[6]张笑非,黄智升,王东升,张绛丽. 基于空间推理的城市路网交叉口模式研究[J]. 道路交通与安全, 2014(1):33-37.

[7] 李昕煜. 基于JavaScript的WebGIS前端开发及优化[D].吉林大学,2015

[8] Kropla,Bill Beginning. Mapserver: Open Source GIS Development[M] .Apress出版社