一种地理信息系统引擎的制作方法

文档序号:22929521发布日期:2020-11-13 16:27阅读:166来源:国知局
一种地理信息系统引擎的制作方法

本申请涉及地理信息系统技术领域,具体而言,涉及一种地理信息系统引擎。



背景技术:

地理信息系统(geographicinformationsystem,gis)是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。但是传统的gis考虑的是静态数据的处理,用户使用的便捷性较差。



技术实现要素:

本申请的目的在于提供一种地理信息系统引擎,用以实现在满足用户应用需求的同时提高时态地理信息系统使用便捷性的技术效果。

本申请实施例提供了一种地理信息系统引擎,包括shapefile文件管理系统、sql数据库管理系统、sqlite数据库、地理信息采集层、矢量图层和地图控件层;所述地理信息采集层用于动态获取所述shapefile文件管理系统、所述sql数据库管理系统和所述sqlite数据库中的地理信息数据;所述矢量图层用于根据所述地理信息数据绘制矢量地图并控制矢量地图的图层分布;所述地图控件层用于根据若干个图层的所述矢量地图绘制地理信息地图。

进一步地,所述地理信息采集层包括数据层模块、动态查询模块和图层集合数据源模块;所述动态查询模块动态获取所述数据层模块的地理信息数据;所述数据层模块用于按照对应的映射关系获取所述shapefile文件管理系统、所述sql数据库管理系统和所述sqlite数据库的地理信息数据;所述图层集合数据源模块用于将所述地理信息数据进行分层处理。

进一步地,所述矢量图层包括层渲染器和层元素容器;所述层渲染器用于对所述地理信息数据进行渲染;所述层元素容器用于根据渲染后的所述地理信息数据绘制矢量地图;并控制矢量地图的图层分布。

进一步地,所述矢量图层还包括层操作实用模块,用于对矢量图层进行配置和维护。

进一步地,所述层渲染器包括几何符号模块和文本符号模块;所述几何符号模块用于对所述地理信息数据中的几何符号进行渲染;所述文本符号模块用于对所述地理信息数据中的文本符号进行渲染。

进一步地,所述层元素容器包括矢量图绘制模块和图像控制模块;所述矢量图绘制模块用于根据渲染后的几何符号和文本符号绘制矢量地图;所述图像控制模块用户控制所述矢量地图的图层分布。

进一步地,所述地图控件层包括地图画布以及若干个与所述地图画布连接的层元素容器接口模块。

本申请能够实现的有益效果是:本申请提供的地理信息系统引擎支持海量数据的高性能渲染,可以方便快捷地进行地图的动态浏览;同时支持要素编辑,可以满足用户的更多需求。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种地理信息系统引擎拓扑结构示意图。

图标:10-地理信息系统引擎;100-shapefile文件管理系统;200-sql数据库管理系统;300-sqlite数据库;400-地理信息采集层;410-数据层模块;420-动态查询模块;430-图层集合数据源模块;500-矢量图层;510-层渲染器;520-层元素容器;530-层操作实用模块;600-地图控件层;610-地图画布;620-层元素容器接口模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参看图1,图1为本申请实施例提供的一种地理信息系统引擎拓扑结构示意图。

在一种实施方式中,本申请实施例提供的地理信息系统引擎10包括:shapefile文件管理系统100、sql数据库管理系统200、sqlite数据库300、地理信息采集层400、矢量图层500和地图控件层600;地理信息采集层400用于动态获取shapefile文件管理系统100、sql数据库管理系统200和sqlite数据库300中的地理信息数据;矢量图层500用于根据地理信息数据绘制矢量地图并控制矢量地图的图层分布;地图控件层600用于根据若干个图层的矢量地图绘制地理信息地图。

在一种实施方式中,地理信息采集层400包括数据层模块410、动态查询模块420和图层集合数据源模块430;动态查询模块420动态获取数据层模块410的地理信息数据;数据层模块410用于按照对应的映射关系获取shapefile文件管理系统100、sql数据库管理系统200和sqlite数据库300的地理信息数据;图层集合数据源模块430用于将地理信息数据进行分层处理,即对同一图层的数据进行整合。

具体地,数据层模块410包括linq(languageintegratedquery,语言集成查询)数据框架和orm数据框架;通过orm数据框架采用元数据来描述对象与关系映射的细节,可以将shapefile文件管理系统100、sql数据库管理系统200和sqlite数据库300中获取到的地理信息数据以xml格式保存。linq数据框架则可以通过查询操作符实时查询shapefile文件管理系统100、sql数据库管理系统200和sqlite数据库300中的地理信息数据。

在一种实施方式中,矢量图层500包括层渲染器510和层元素容器520;层渲染器510用于对地理信息数据进行渲染;层元素容器520用于根据渲染后的地理信息数据绘制矢量地图;并控制矢量地图的图层分布。

具体地,层渲染器510包括几何符号模块和文本符号模块;几何符号模块用于对地理信息数据中的几何符号进行渲染;文本符号模块用于对地理信息数据中的文本符号进行渲染。

层元素容器520包括矢量图绘制模块和图像控制模块;矢量图绘制模块用于根据渲染后的几何符号和文本符号绘制矢量地图;图像控制模块用户控制矢量地图的图层分布。示例性地,矢量图绘制模块可以使用canvas矢量绘图软件。

在一种实施方式中,矢量图层500还包括层操作实用模块530,用于对矢量图层500进行配置和维护。示例性地,该层操作实用模块530包括多个实用程序,例如finder程序、snaper程序和saver程序。

在一种实施方式中,地图控件层600包括地图画布610以及若干个与地图画布610连接的层元素容器接口模块620。具体地,层元素容器接口模块620可以设置对应的图层接口程序,图像控制模块在获取到矢量图绘制模块的矢量地图后,通过图层接口程序发送至地图画布610的对应图层绘制地理信息地图。

综上所述,本申请实施例提供一种地理信息系统引擎,包括shapefile文件管理系统、sql数据库管理系统、sqlite数据库、地理信息采集层、矢量图层和地图控件层;地理信息采集层用于动态获取shapefile文件管理系统、sql数据库管理系统和sqlite数据库中的地理信息数据;矢量图层用于根据地理信息数据绘制矢量地图并控制矢量地图的图层分布;地图控件层用于根据若干个图层的矢量地图绘制地理信息地图;该地理信息系统引擎支持海量数据的高性能渲染,可以方便快捷地进行地图的动态浏览;同时支持要素编辑,可以满足用户的更多需求。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1