技术领域
[0001] 本申请涉及地理信息系统技术领域,具体而言,涉及一种地理信息系统引擎。
相关背景技术
[0002] 地理信息系统(Geographic Information System,GIS)是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。但是传统的GIS考虑的是静态数据的处理,用户使用的便捷性较差。
具体实施方式
[0015] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0016] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0017] 请参看图1,图1为本申请实施例提供的一种地理信息系统引擎拓扑结构示意图。
[0018] 在一种实施方式中,本申请实施例提供的地理信息系统引擎10包括:shapefile文件管理系统100、SQL数据库管理系统200、SQLite数据库300、地理信息采集层400、矢量图层500和地图控件层600;地理信息采集层400用于动态获取shapefile文件管理系统100、SQL数据库管理系统200和SQLite数据库300中的地理信息数据;矢量图层500用于根据地理信息数据绘制矢量地图并控制矢量地图的图层分布;地图控件层600用于根据若干个图层的矢量地图绘制地理信息地图。
[0019] 在一种实施方式中,地理信息采集层400包括数据层模块410、动态查询模块420和图层集合数据源模块430;动态查询模块420动态获取数据层模块410的地理信息数据;数据层模块410用于按照对应的映射关系获取shapefile文件管理系统100、SQL数据库管理系统200和SQLite数据库300的地理信息数据;图层集合数据源模块430用于将地理信息数据进行分层处理,即对同一图层的数据进行整合。
[0020] 具体地,数据层模块410包括LINQ(Language Integrated Query,语言集成查询)数据框架和ORM数据框架;通过ORM数据框架采用元数据来描述对象与关系映射的细节,可以将shapefile文件管理系统100、SQL数据库管理系统200和SQLite数据库300中获取到的地理信息数据以xml格式保存。LINQ数据框架则可以通过查询操作符实时查询shapefile文件管理系统100、SQL数据库管理系统200和SQLite数据库300中的地理信息数据。
[0021] 在一种实施方式中,矢量图层500包括层渲染器510和层元素容器520;层渲染器510用于对地理信息数据进行渲染;层元素容器520用于根据渲染后的地理信息数据绘制矢量地图;并控制矢量地图的图层分布。
[0022] 具体地,层渲染器510包括几何符号模块和文本符号模块;几何符号模块用于对地理信息数据中的几何符号进行渲染;文本符号模块用于对地理信息数据中的文本符号进行渲染。
[0023] 层元素容器520包括矢量图绘制模块和图像控制模块;矢量图绘制模块用于根据渲染后的几何符号和文本符号绘制矢量地图;图像控制模块用户控制矢量地图的图层分布。示例性地,矢量图绘制模块可以使用Canvas矢量绘图软件。
[0024] 在一种实施方式中,矢量图层500还包括层操作实用模块530,用于对矢量图层500进行配置和维护。示例性地,该层操作实用模块530包括多个实用程序,例如Finder程序、Snaper程序和Saver程序。
[0025] 在一种实施方式中,地图控件层600包括地图画布610以及若干个与地图画布610连接的层元素容器接口模块620。具体地,层元素容器接口模块620可以设置对应的图层接口程序,图像控制模块在获取到矢量图绘制模块的矢量地图后,通过图层接口程序发送至地图画布610的对应图层绘制地理信息地图。
[0026] 综上所述,本申请实施例提供一种地理信息系统引擎,包括shapefile文件管理系统、SQL数据库管理系统、SQLite数据库、地理信息采集层、矢量图层和地图控件层;地理信息采集层用于动态获取shapefile文件管理系统、SQL数据库管理系统和SQLite数据库中的地理信息数据;矢量图层用于根据地理信息数据绘制矢量地图并控制矢量地图的图层分布;地图控件层用于根据若干个图层的矢量地图绘制地理信息地图;该地理信息系统引擎支持海量数据的高性能渲染,可以方便快捷地进行地图的动态浏览;同时支持要素编辑,可以满足用户的更多需求。
[0027] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。