本发明涉及地理数据处理技术领域,尤其涉及一种防汛、抗旱数据本地化的地图发布、渲染方法和系统。
背景技术:
随着水利行业管理和服务的空间化、精细化、动态化和可视化建设,地图服务成为了水利应用系统中不可缺少的重要元素。目前,市场上有很多地图服务的解决方案,如ArcGIS、SuperMap、天地图等,主要是通过发布地图服务,再通过地图服务调用,在用户端实现地图元数据的页面渲染。这种地图服务解决方案能够提供地图数据界面整理、校对和在线绘图,动态生成点线面,能够进行复杂的空间计算,如二次插值、等值线、等值面等;提供桌面版的地图数据整理入库、提供GIS服务器把地图数据通过界面形式发布成服务、采用GIS服务器匹配的API解析服务进行展现和操作等。上述现有技术中的解决方案是非常有力的,但是由于地理空间数据的渲染是很耗CPU和内存的,服务解析和渲染需要用户端硬件和程序对渲染进行支撑,使得整个地图服务系统非常庞大。此外,现有技术中的这种地图服务解决方案成本很高、对技术人员的技术要求水平要求也很高,导致这种地图服务解决方案会增加企业的人力、技术成本,更适合大型GIS系统及应用。
现有技术方案中的地图服务解决方案对一些复杂的地图应用是非常合适的,但是如果地图应用不是那么复杂,功能要求没有那么多的时候,现有技术方案就显得有些复杂了。再考虑到它的门槛较高,不适合非专业人士来使用和维护的问题,导致现有技术方案不具有普适应用的特点。
在水利应用领域,GIS服务主要作为水利信息系统中的GIS应用,通常采用小型GIS系统。这类小型GIS系统对GIS空间展现和分析的技术要求不是特别高,不需要引入上述大型GIS系统的技术方案来解决地图数据发布和渲染的问题。因此,有必要提供一种用于水利领域,针对防汛、抗旱数据本地化的地图发布和渲染方法,以解决地图数据的渲染和展现复杂,对水利信息系统应用方的硬件要求高,对使用技术人员的技术要求高,水利应用系统开发和运维成本高的问题。
技术实现要素:
鉴于上述的分析,本发明旨在提供一种防汛、抗旱数据本地化的地图发布、渲染方法和系统,用以解决现有技术方案中地图渲染和展现的技术复杂,对应用系统的硬件要求高,对技术人员的技术要求高,导致了研发和使用成本高的问题。
本发明的目的主要是通过以下技术方案实现的:
提供一种空间数据本地化的地图发布和渲染方法,所述空间数据是防汛、抗旱的专题数据,方法包括以下步骤:
步骤S1.数据读取模块根据预先配置信息读取空间数据,以及第三方发布的地图服务API或本地文件数据,其中API或本地文件数据用于获取地图底图;
步骤S2.数据解析模块对读取的空间数据进行解析和转换,并存储到数据库中;
步骤S3.地图发布模块基于上一步中存储在数据库中的空间数据,和步骤S1中读取的API或本地文件数据,发布地图服务;
步骤S4.地图渲染模块接收到地图展现请求后,根据上一步中发布的地图服务,获取地图服务所需的空间数据和地图底图,并进行地图渲染和展现。
其中,所述预先配置信息包括:地图服务的地址、本地文件路径、数据库名称、数据库地址、空间数据名称、空间数据地址、各个数据来源项是否启动、是否需要同步的元数据。
步骤S1中的读取空间数据,采用预加载、定时加载、或实时加载。
步骤S2中对空间数据进行解析和转换,具体是:通过空间数据解析程序,解析并提取出感兴趣的属性,将感兴趣的属性按列进行排列,并将排列后信息转换为文本格式文件。
进一步的,在空间数据包括多个主题图层的情况下,将每一个主题图层作为一个项目,进行分别解析和转换。
进一步的,通过列级别扩展,增加感兴趣的属性。
步骤S3中,发布的地图服务是一种基于HTTP协议的网络服务。
步骤S4中,获取的空间数据需要经过解析和转换,转换成空间数据。
进一步的,步骤S4中手持移动端向服务器端请求地图服务,服务器端根据请求进行渲染,将渲染结果传输给手持移动端进行展现。
本发明还提供一种采用上述空间数据本地化的地图发布和渲染方法进行空间数据本地化的地图发布和渲染系统,包括:数据读取模块、数据解析模块、数据库、数据发布模块和地图渲染模块;
其中,数据读取模块,用于读取数据库中存储的空间数据,以及地图服务所发布的API或本地文件数据;
数据解析模块,用于对读取的空间数据进行解析和转换;
数据发布模块,用于基于解析和转换的空间数据,和读取的API或本地文件数据,发布地图服务;
地图渲染模块,根据地图展现请求,调用地图服务,并获取地图展现所需的空间数据和地图底图,进行地图渲染并输出。
本发明有益效果如下:
本发明能减轻地图服务请求方获取数据的压力,以及降低地图渲染和展现复杂度;并且,地图发布方利用第三方GIS系统发布的底图API或者本地数据作为地图底图的数据源,能减轻软件开发难度,降低硬件要求,方便技术人员维护和操作。此外,将空间数据本地化为文本格式的数据,便于将不同空间数据进行统一化,方便不同格式数据源的信息提取、信息扩展和存储。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为属性排列的示意图;
图2为防汛、抗旱数据本地化的地图发布和渲染系统的示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明的一个具体实施例,公开了一种防汛、抗旱数据本地化的地图发布和渲染方法,防汛、抗旱数据本地化的地图发布和渲染是在水利信息系统中完成的,可以在水利信息系统上进行展示,也可以由手持移动端请求地图服务并在手持移动端进行展示,此时水利信息系统作为手持移动端的服务器端。
防汛、抗旱数据本地化的地图发布和渲染方法,具体包括以下步骤:
步骤S1.数据读取模块根据预先配置信息读取数据库中存储的空间数据,以及第三方发布的地图服务API或本地文件数据。其中,API或本地文件数据用于获取地图底图,空间数据是防汛、抗旱相关的专题数据,可以是空间数据或地图数据。
所述预先配置信息具体包括:地图服务的地址、本地文件路径、数据库名称、数据库地址、空间数据名称、空间数据地址、各个数据来源项是否启动、是否需要同步的元数据等。
所述数据库中存储的空间数据,是指针对防汛、抗旱的专题地理数据,可以是湖泊、蓄水库、农田、森林、降水、气温、感兴趣位置点等专题的数据,描述了一主题的空间位置和空间分布。
所述地图服务所发布的API是指第三GIS系统发布的底图的API,也即基础地理数据的API。所述本地文件数据是存储在本地的地图底图。
进一步的,读取数据库中存储的空间数据中的读取,可以采用以下三种方式:预加载、定时加载、实时加载。
预加载方式:在系统初始化时(启动时),数据读取模块会默认读取一部分数据信息。一般情况下,初始化时读取的数据信息是不会变动的,该类数据是常驻系统内存的。
定时加载方式:在系统启动后按照预先配置的读取频率,定时加载或更新数据,该类数据也是常驻内存的。
实时加载方式:当有页面请求时,才根据请求获取并加载对应的数据,该类数据不常驻系统内存。
步骤S2.数据解析模块对读取的防汛、抗旱数据进行解析和转换,并存储到数据库中。
所述空间数据描述专题地理数据,该数据可以是多种存储格式,可以是coverage、shapefile、geodatabase、grid等。
针对空间数据进行解析和转换,具体是:通过空间数据解析程序,解析出空间数据的经纬度、地理名称、地类、地理编号、属性、面积、空间关系、空间分布等信息,提取其中对感兴趣的属性,按照纬度、经度、名称、地理编号的形式进行排列(图1),并将排列后信息转换为文本格式文件。所述文本格式可以是TXT或EXCEL。
具体的,非标题数据的具体数据结尾以“,”分割。标题数据以空格键或tab键分割。
优选的,在空间数据包括多个主题图层的情况下,可以将每一个主题图层作为一个项目,进行解析和转换。例如,当空间数据为蓄水地分布的地图数据,该地图数据包括湖泊、蓄水池、小流域等多个图层,则分别针对各图层进行解析和转换,得到多个对应的文本格式文件。
在针对解析和转换后的文本文件有多个时,可以对文本文件进行组合封装,封装为一个空间数据包,再存储在数据库中。
优选的,还可以增加感兴趣属性,通过列级别扩展,增加文本格式文件中排列的属性。
步骤S3.地图发布模块基于上一步中经过解析和转换、并存储在数据库中的防汛、抗旱数据,和步骤S1中读取的API或本地文件数据,发布地图服务。
所述发布地图服务,就是利用地图发布程序,把整理好的地图数据发布成网络服务,这种服务是通过浏览器可以看得到一种网络协议(如webservice、rest)。优选的,发布的地图服务可以是一种基于HTTP协议的网络服务,通过浏览器即可展现。
步骤S4.地图渲染模块接收到地图展现请求后,根据上一步中发布的地图服务,获取地图服务所需的防汛、抗旱数据和地图底图,并进行防汛、抗旱地图渲染和展现。其中,所述防汛、抗旱数据是文本格式的数据,还需经过解析和转换,转换成空间数据,例如TIFF,shapefile等格式,才能进行渲染;所述底图是通过步骤S1中的API或本地文件数据获取的。
具体的,所述地图渲染是在底图上加载与防汛、抗旱数据相应的空间图形,如点、线、多边形。
这一步骤可以在水利信息系统实现,还可以在手持移动端实现。手持移动端的实现,具体由手持移动端向服务器端的水利信息系统请求基于防汛、抗旱数据的地图服务,服务器端的水利信息系统根据请求进行相应的防汛、抗旱地图的渲染,将渲染结果传输给手持移动端,通过浏览器即可展现。
通过上述方案,在手持移动端需要基于防汛、抗旱数据的地图服务的时候,无需在手持移动端进行渲染,由服务器端的水利信息系统传输过来渲染结果就能实现地图展现。此外,水利信息系统利用第三方GIS系统发布的底图API或者本地数据作为底图的数据源,能减轻水利信息系统的软件开发难度,降低水利信息系统的硬件需求,方便技术人员维护和操作。
本发明的另一个具体实施例,公开了一种采用上述发布和渲染方法进行防汛、抗旱数据本地化的地图发布和渲染系统(图2),该系统可以内嵌在水利信息系统中,具体包括数据读取模块、数据解析模块、数据库、数据发布模块和地图渲染模块。
其中,数据读取模块,用于根据预先配置信息,读取数据库中存储的空间数据,以及地图服务所发布的API或本地文件数据。
其中,所述预先配置信息具体包括:地图服务的地址、本地文件路径、数据库名称、数据库地址、空间数据名称、空间数据地址、各个数据来源项是否启动、是否需要同步的元数据等。
API或本地文件数据用于获取地图底图,地图底图描绘了地形或/和行政区划等。空间数据是防汛、抗旱中使用的空间数据,可以是湖泊、蓄水库、农田、森林、降水、气温、感兴趣位置点等专题地理数据。
数据解析模块,用于对读取的防汛、抗旱数据进行解析和转换,并发送到数据库中存储。
防汛、抗旱数据作为一种空间数据,其解析和转换过程,具体是:通过空间数据解析程序,解析出空间数据的经纬度、地理名称、地类、地理编号、属性、面积、空间关系、空间分布等信息,提取其中感兴趣的属性,将属性按列进行排列(如图1),并将排列后信息转换为文本格式文件存储。所述文本格式可以是TXT或EXCEL。
优选的,在空间数据包括多个主题图层的情况下,可以将每一个主题图层作为一个项目,进行分别解析和转换。
优选的,可以将转换后得到的多个文本文件进行组合封装,封装为一个数据包,再存储在数据库中。
优选的,还可以增加感兴趣属性,通过列级别扩展,增加文本格式文件中排列的属性。
数据发布模块,用于基于解析和转换的防汛、抗旱数据,和读取的API或本地文件数据,发布地图服务。所发布的地图服务可以是一种基于HTTP协议的网络服务。
地图渲染模块,根据接收到的地图展现请求后,调用数据发布模块所发布的地图服务,并获取地图展现所需的防汛、抗旱数据和地图底图,进行地图渲染并输出。
其中,地图渲染模块所读取的防汛、抗旱数据是文本格式的数据,还需经过解析和转换,转换成空间数据,例如TIFF,shapefile等格式,才能进行渲染;地图渲染模块所需的地图底图是通过API或本地文件数据获取的。
数据库,用于进行空间数据和本地文件的存储。
需要说明的是,本实施例以水利信息系统、防汛、抗旱数据为例进行示例性说明,但本发明并不限于此。防汛、抗旱数据可以替换为其他内容的空间数据,如农业数据、林业资源数据等,这样对应应用在农业信息系统和林业信息系统中。凡是基于应用空间数据进行上述地图发布、渲染并展现的方法,均在本发明的保护范围内。
综上所述,本发明实施例提供了一种空间数据本地化的地图发布和渲染方法和系统,地图服务请求方和地图服务发布方可以是相同的设备,也可以是不同的设备。当地图服务请求方采用手持终端向地图服务发布方(作为服务器)进行地图服务请求后,在地图发布方进行地图渲染,并可以将渲染结果传输给手持终端进行展现,减轻了手持终端获取数据和渲染的压力。并且,地图发布方利用第三方GIS系统发布的底图API或者本地数据作为地图底图的数据源,能减轻软件开发难度,降低硬件需求,方便技术人员维护和操作。此外,将空间数据本地化为文本格式的数据,便于将不同空间数据进行统一化,方便不同格式数据源的信息提取、信息扩展和存储,且文本格式数据占用空间小,能够进一步节省存储硬件。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。