一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种适配多数据源的矢量瓦片生成方法及系统与流程

2021-10-24 12:02:00 来源:中国专利 TAG:瓦片 矢量 电子地图 生成 特别


1.本发明涉及电子地图技术领域,特别指一种适配多数据源的矢量瓦片生成方法及系统。


背景技术:

2.目前主流的gis平台普遍采用地图瓦片缓存技术来加快地图访问速度,以降低服务端负载的同时提高用户使用体验。地图瓦片缓存技术是将遥感影像数据和地图矢量数据进行地图制图后,通过主流的gis软件按比例尺生成固定大小的栅格图片(栅格瓦片),再发布成标准的ogc地图服务供客户端使用。
3.由于栅格图片是将地图的数据和配图样式固化到图片中,存在清晰度不高及样式无法修改的问题,随着mapbox开源矢量瓦片技术的出现,解决了栅格图片存在的不足,能够在地图渲染的时候根据实际需要动态修改地图显示样式,最终以矢量数据渲染方式提高地图可视化精度。然而,传统的矢量瓦片技术是通过商业软件或开源工具来生成,对空间数据源有一定的限制和要求,无法实现跨空间数据源进行数据的按需组装、实时生成;虽然矢量瓦片的数据量较栅格瓦片有了明显降低,但受地图比例尺的影响,一个瓦片的经纬度范围越大,所包含的矢量数据的要素集也越多,导致生成的矢量瓦片的数据量也越大。
4.因此,如何提供一种适配多数据源的矢量瓦片生成方法及系统,实现按需组装数据,提升数据源的兼容性,在保证精度的同时精简矢量瓦片数据量,成为一个亟待解决的问题。


技术实现要素:

5.本发明要解决的技术问题,在于提供一种适配多数据源的矢量瓦片生成方法及系统,实现按需组装数据,提升数据源的兼容性,在保证精度的同时精简矢量瓦片数据量。
6.第一方面,本发明提供了一种适配多数据源的矢量瓦片生成方法,包括如下步骤:
7.步骤s10、基于矢量瓦片所在瓦片金字塔的级别以及行列号计算经纬度范围,从配置文件中获取矢量瓦片对应的地图图层;
8.步骤s20、基于所述经纬度范围以及地图图层,从空间数据源获取矢量瓦片对应的空间数据;
9.步骤s30、对所述空间数据进行数据组装和格式转换;
10.步骤s40、获取矢量瓦片的比例尺,基于所述比例尺对格式转换后的空间数据进行简化;
11.步骤s50、将简化后的所述空间数据基于mapbox的矢量瓦片规范生成矢量瓦片。
12.进一步地,所述步骤s20具体为:
13.获取数据库型的空间数据:将所述地图图层的图层名与空间数据库的表名对应,基于所述矢量瓦片的经纬度范围作为空间数据库引擎的sql查询语句,通过执行所述sql查询语句获取经纬度范围内的空间数据;
14.获取文件型的空间数据:通过所述地图图层的图层名获取空间数据文件,将所述矢量瓦片的经纬度范围构造成几何对象与空间数据文件进行空间叠加分析,经过裁切后取出所述经纬度范围内的空间数据。
15.进一步地,所述空间数据库至少包括oracle spatial、sqlserver spatial、postgis、mysql spatial以及spatialite;
16.所述空间数据文件的文件类型至少包括shapefile、geojson、geobuf、filegdb、mdb以及kml。
17.进一步地,所述步骤s30具体为:
18.对从不同空间数据源获取的所述空间数据进行数据组装,并转换为格式统一的空间数据集。
19.进一步地,所述步骤s40具体为:
20.基于矢量瓦片所在瓦片金字塔的级别获取矢量瓦片的比例尺,基于所述比例尺计算得到阈值距离,利用道格拉斯抽稀算法结合所述阈值距离对格式转换后的空间数据进行简化。
21.第二方面,本发明提供了一种适配多数据源的矢量瓦片生成系统,包括如下模块:
22.地图初始化模块,用于基于矢量瓦片所在瓦片金字塔的级别以及行列号计算经纬度范围,从配置文件中获取矢量瓦片对应的地图图层;
23.空间数据访问模块,用于基于所述经纬度范围以及地图图层,从空间数据源获取矢量瓦片对应的空间数据;
24.空间数据适配模块,用于对所述空间数据进行数据组装和格式转换;
25.空间数据简化模块,用于获取矢量瓦片的比例尺,基于所述比例尺对格式转换后的空间数据进行简化;
26.矢量瓦片生成模块,用于将简化后的所述空间数据基于mapbox的矢量瓦片规范生成矢量瓦片。
27.进一步地,所述空间数据访问模块具体为:
28.获取数据库型的空间数据:将所述地图图层的图层名与空间数据库的表名对应,基于所述矢量瓦片的经纬度范围作为空间数据库引擎的sql查询语句,通过执行所述sql查询语句获取经纬度范围内的空间数据;
29.获取文件型的空间数据:通过所述地图图层的图层名获取空间数据文件,将所述矢量瓦片的经纬度范围构造成几何对象与空间数据文件进行空间叠加分析,经过裁切后取出所述经纬度范围内的空间数据。
30.进一步地,所述空间数据库至少包括oracle spatial、sqlserver spatial、postgis、mysql spatial以及spatialite;
31.所述空间数据文件的文件类型至少包括shapefile、geojson、geobuf、filegdb、mdb以及kml。
32.进一步地,所述空间数据适配模块具体为:
33.对从不同空间数据源获取的所述空间数据进行数据组装,并转换为格式统一的空间数据集。
34.进一步地,所述空间数据简化模块具体为:
35.基于矢量瓦片所在瓦片金字塔的级别获取矢量瓦片的比例尺,基于所述比例尺计算得到阈值距离,利用道格拉斯抽稀算法结合所述阈值距离对格式转换后的空间数据进行简化。
36.本发明的优点在于:
37.1、通过从类型为oracle spatial、sqlserver spatial、postgis、mysql spatial、spatialite的空间数据库中自动获取矢量瓦片对应的空间数据,或者通过从类型为shapefile、geojson、geobuf、filegdb、mdb、kml的文件型空间数据中自动获取矢量瓦片对应的空间数据,并对空间数据进行统一的格式转换,即可依据实际需要从不同类型的空间数据源中实时按需组装对应的空间数据,避免了传统上无法实现跨空间数据源进行数据的按需组装、实时生成,进而极大地提升了数据源的兼容性。
38.2、通过道格拉斯抽稀算法对空间数据进行简化,而道格拉斯抽稀算法用到的阈值距离基于矢量瓦片的比例尺计算得到,即动态结合矢量瓦片的分辨率,根据不同级别实现最优的矢量数据简化,进而在保证精度的同时极大地精简了矢量瓦片的数据量。
附图说明
39.下面参照附图结合实施例对本发明作进一步的说明。
40.图1是本发明一种适配多数据源的矢量瓦片生成方法的流程图。
41.图2是本发明一种适配多数据源的矢量瓦片生成系统的结构示意图。
42.图3是本发明瓦片金字塔的结构示意图。
具体实施方式
43.本技术实施例中的技术方案,总体思路如下:通过从类型为oracle spatial、sqlserver spatial、postgis、mysql spatial、spatialite的空间数据库中自动获取矢量瓦片对应的空间数据,或者通过从类型为shapefile、geojson、geobuf、filegdb、mdb、kml的文件型空间数据中自动获取矢量瓦片对应的空间数据,以提升数据源的兼容性;通过道格拉斯抽稀算法对空间数据进行简化,动态结合矢量瓦片的分辨率,根据不同级别实现最优的矢量数据简化。
44.请参照图1至图3所示,本发明一种适配多数据源的矢量瓦片生成方法的较佳实施例,包括如下步骤:
45.步骤s10、基于矢量瓦片所在瓦片金字塔的级别以及行列号计算经纬度范围,从配置文件中获取矢量瓦片对应的地图图层;
46.步骤s20、基于所述经纬度范围以及地图图层,从空间数据源获取矢量瓦片对应的空间数据,即从多源的空间数据源中获取需要的空间数据;所述空间数据源为空间数据库或者空间数据文件;
47.步骤s30、对所述空间数据进行数据组装和格式转换;
48.步骤s40、获取矢量瓦片的比例尺,基于所述比例尺对格式转换后的空间数据进行简化;
49.步骤s50、将简化后的所述空间数据基于mapbox的矢量瓦片规范生成矢量瓦片。
50.如图3所示,瓦片金字塔是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,
分辨率越来越低,但表示的地理范围不变。首先确定地图服务平台所要提供的缩放级别的数量n,把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;在第0层地图图片的基础上,按每像素分割为2
×
2个像素的方法生成第1层地图图片,并对其进行分块,分割成与下一层相同大小的正方形地图瓦片,形成第1层瓦片矩阵;采用同样的方法生成第2层瓦片矩阵;

;如此下去,直到第n一1层,构成整个瓦片金字塔。
51.所述步骤s20具体为:
52.获取数据库型的空间数据:将所述地图图层的图层名与空间数据库的表名对应,基于所述矢量瓦片的经纬度范围作为空间数据库引擎的sql查询语句,通过执行所述sql查询语句获取经纬度范围内的空间数据;
53.获取文件型的空间数据:通过所述地图图层的图层名获取空间数据文件,将所述矢量瓦片的经纬度范围构造成几何对象与空间数据文件进行空间叠加分析,经过裁切后取出所述经纬度范围内的空间数据。
54.所述空间数据库至少包括oracle spatial、sqlserver spatial、postgis、mysql spatial以及spatialite;
55.所述空间数据文件的文件类型至少包括shapefile、geojson、geobuf、filegdb、mdb以及kml。
56.所述步骤s30具体为:
57.对从不同空间数据源获取的所述空间数据进行数据组装,并转换为格式统一的空间数据集,存储于计算机内存中,实现多源数据的按需组装;所述空间数据集中的每个要素均包含几何数据和对应的键值对属性,再将这些空间数据集进行组合,并添加到矢量瓦片对应的地图图层中,为空间数据简化提供数据源。
58.所述步骤s40具体为:
59.基于矢量瓦片所在瓦片金字塔的级别获取矢量瓦片的比例尺,基于所述比例尺计算得到阈值距离,利用道格拉斯抽稀算法结合所述阈值距离对格式转换后的空间数据进行简化。所述阈值距离的取值优选为比例尺对应的resolution值乘以0.1。基于道格拉斯抽稀算法结合所述的阈值距离对空间数据进行简化,能在保证精度的同时降低矢量瓦片的数据量。
60.本发明一种适配多数据源的矢量瓦片生成系统的较佳实施例,包括如下模块:
61.地图初始化模块,用于基于矢量瓦片所在瓦片金字塔的级别以及行列号计算经纬度范围,从配置文件中获取矢量瓦片对应的地图图层;
62.空间数据访问模块,用于基于所述经纬度范围以及地图图层,从空间数据源获取矢量瓦片对应的空间数据,即从多源的空间数据源中获取需要的空间数据;所述空间数据源为空间数据库或者空间数据文件;
63.空间数据适配模块,用于对所述空间数据进行数据组装和格式转换;
64.空间数据简化模块,用于获取矢量瓦片的比例尺,基于所述比例尺对格式转换后的空间数据进行简化;
65.矢量瓦片生成模块,用于将简化后的所述空间数据基于mapbox的矢量瓦片规范生
成矢量瓦片。
66.如图3所示,瓦片金字塔是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。首先确定地图服务平台所要提供的缩放级别的数量n,把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;在第0层地图图片的基础上,按每像素分割为2
×
2个像素的方法生成第1层地图图片,并对其进行分块,分割成与下一层相同大小的正方形地图瓦片,形成第1层瓦片矩阵;采用同样的方法生成第2层瓦片矩阵;

;如此下去,直到第n一1层,构成整个瓦片金字塔。
67.所述空间数据访问模块具体为:
68.获取数据库型的空间数据:将所述地图图层的图层名与空间数据库的表名对应,基于所述矢量瓦片的经纬度范围作为空间数据库引擎的sql查询语句,通过执行所述sql查询语句获取经纬度范围内的空间数据;
69.获取文件型的空间数据:通过所述地图图层的图层名获取空间数据文件,将所述矢量瓦片的经纬度范围构造成几何对象与空间数据文件进行空间叠加分析,经过裁切后取出所述经纬度范围内的空间数据。
70.所述空间数据库至少包括oracle spatial、sqlserver spatial、postgis、mysql spatial以及spatialite;
71.所述空间数据文件的文件类型至少包括shapefile、geojson、geobuf、filegdb、mdb以及kml。
72.所述空间数据适配模块具体为:
73.对从不同空间数据源获取的所述空间数据进行数据组装,并转换为格式统一的空间数据集,存储于计算机内存中,实现多源数据的按需组装;所述空间数据集中的每个要素均包含几何数据和对应的键值对属性,再将这些空间数据集进行组合,并添加到矢量瓦片对应的地图图层中,为空间数据简化提供数据源。
74.所述空间数据简化模块具体为:
75.基于矢量瓦片所在瓦片金字塔的级别获取矢量瓦片的比例尺,基于所述比例尺计算得到阈值距离,利用道格拉斯抽稀算法以及所述阈值距离对格式转换后的空间数据进行简化。所述阈值距离的取值优选为比例尺对应的resolution值乘以0.1。基于道格拉斯抽稀算法结合所述的阈值距离对空间数据进行简化,能在保证精度的同时降低矢量瓦片的数据量。
76.综上所述,本发明的优点在于:
77.1、通过从类型为oracle spatial、sqlserver spatial、postgis、mysql spatial、spatialite的空间数据库中自动获取矢量瓦片对应的空间数据,或者通过从类型为shapefile、geojson、geobuf、filegdb、mdb、kml的文件型空间数据中自动获取矢量瓦片对应的空间数据,并对空间数据进行统一的格式转换,即可依据实际需要从不同类型的空间数据源中实时按需组装对应的空间数据,避免了传统上无法实现跨空间数据源进行数据的按需组装、实时生成,进而极大地提升了数据源的兼容性。
78.2、通过道格拉斯抽稀算法对空间数据进行简化,而道格拉斯抽稀算法用到的阈值
距离基于矢量瓦片的比例尺计算得到,即动态结合矢量瓦片的分辨率,根据不同级别实现最优的矢量数据简化,进而在保证精度的同时极大地精简了矢量瓦片的数据量。
79.虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜