一种支持多投影的地图瓦片存储与检索方法和装置
本技术涉及地理信息系统(gis)、空间数据库及网络地图服务领域,具体而言,涉及一种支持多投影的地图瓦片存储与检索方法和装置。
背景技术:
1、随着地理信息系统和互联网地图服务的广泛应用,mbtiles作为轻量便携的地图瓦片存储规范,凭借高效存储、快速访问和跨平台兼容的优势,已成为行业主流标准之一,广泛应用于网络地图、移动端地图等场景。mbtiles是一种将海量地图瓦片打包存储于单个sqlite数据库文件的格式,主要用来解决地图数据的离线存储、传输和管理的问题 。其能够将大量地图瓦片整合为单一文件,使离线地图像的调用如同本地文件访问般简单,广泛用于移动端导航、野外作业和无网络环境的地图应用。
2、然而,在面向专业领域(如测绘勘察、航天遥感、海洋工程)及复杂服务需求(如数据管理、高并发请求处理)的应用中,现有mbtiles技术方案存在以下问题:
3、传统mbtiles仅能处理web墨卡托投影,无法适配专业场景中常用的横轴墨卡托投影、高斯-克吕格投影、大地坐标系投影等多样化坐标体系,导致多源数据融合时需额外进行复杂的格式转换,增加系统开销与数据误差。
4、当mbtiles文件数量达较大规模时,需通过遍历文件目录或逐一查询文件元数据表定位目标投影瓦片,检索效率下降,无法满足大规模地图服务的响应需求。
5、现有方案无法根据数据精度、时效性、访问热度等因素智能调度最优数据源,导致高价值数据与普通数据混同调度,降低服务质量;同时,数据更新需全量替换文件,不支持增量更新与版本管理,运维成本较高。
6、mbtiles文件的存储布局与地理空间分布脱节,查询时需加载完整文件才能判断是否包含目标投影瓦片,且缺乏投影、层级、地理范围等多维度的快速检索能力,无效磁盘输入输出操作占比高,进一步加剧响应延迟。
7、针对上述问题,目前现有方案为单一环节优化(如局部缓存、简单索引),无法从根本上突破mbtiles的固有局限。因此,需要一种支持多投影的地图瓦片存储与检索方法,以满足专业场景与大规模服务的需求。
技术实现思路
1、本技术的主要目的在于提供一种支持多投影的地图瓦片存储与检索方法和装置,通过对mbtiles格式的扩展性改造、统一索引体系构建、智能查询调度及跨投影容错适配,解决传统mbtiles仅支持单一投影、数据检索低效、服务调度僵化等问题,实现多投影场景下地图瓦片的高效存储、快速查询与灵活适配,同时保障系统的兼容性、可扩展性与高并发处理能力,整合多投影支持、高效索引、智能调度与性能优化。
2、为了实现上述目的,本技术的第一方面,提出了一种支持多投影的地图瓦片存储与检索方法,包括:
3、解析查询请求中的目标投影瓦片的投影类型、缩放层级和瓦片坐标参数;
4、响应于所述查询请求,根据所述目标投影瓦片的所述投影类型,在预先构建的文件索引表中筛选具有匹配所述投影类型的mbtiles文件;
5、根据所述目标投影瓦片的缩放层级及瓦片坐标参数计算对应的地理范围边界,在筛选结果中进一步筛选出覆盖所述地理范围边界的候选mbtiles文件;
6、根据所述候选mbtiles文件的文件优先级对所述候选mbtiles文件进行排序,生成候选文件序列;
7、按照所述候选文件序列的文件优先级顺序,依次从各所述候选mbtiles文件所指示的数据源中检索所述目标投影瓦片的所述瓦片坐标参数对应的目标投影瓦片数据;
8、若检索成功,则返回检索到的所述目标投影瓦片数据并将其缓存;
9、若所述候选文件序列中所有所述候选mbtiles文件均未检索到所述目标投影瓦片数据,则基于所述文件索引表的信息,启动跨投影数据转换流程以生成符合要求的所述目标投影瓦片数据。
10、在本公开的一些实施例中,在所述在预先构建的文件索引表中筛选具有匹配投影类型的mbtiles文件的步骤之前,还包括创建所述mbtiles文件的步骤,具体包括:
11、在所述mbtiles文件的元数据表中增加投影类型字段,用于存储所述投影类型,所述投影类型采用地图坐标参考系统标识码表示;
12、在所述mbtiles文件的所述元数据表中增加投影参数描述字段,用于存储描述所述投影类型的投影参数信息;
13、在所述mbtiles文件的所述元数据表中增加投影转换参数字段,用于存储所述投影类型与其他所述投影类型之间的转换参数信息;
14、在所述mbtiles文件的所述元数据表中增加地理范围边界字段,用于存储所述投影类型的适用地理范围边界信息;
15、采用包含所述投影类型的命名格式对所述mbtiles文件进行命名,以通过文件名直接识别所述投影类型;
16、采用瓦片生成工具生成不同所述投影类型的瓦片数据,并将所述瓦片数据存储至所述mbtiles文件中。
17、在本公开的一些实施例中,在所述创建所述mbtiles文件的步骤之后,还包括:
18、创建所述文件索引表,所述文件索引表至少包括所述mbtiles文件的路径字段、所述投影类型字段、所述地理范围边界字段、缩放层级范围字段、瓦片行列号范围字段、文件优先级字段、数据来源字段及更新时间字段;
19、在所述地理范围边界字段上建立空间索引,用于基于地理边界坐标的查询筛选;
20、在所述投影类型字段、所述缩放层级范围字段及所述文件优先级字段上建立复合索引,用于属性精筛与排序;
21、将所述mbtiles文件的相关信息插入所述文件索引表,所述相关信息至少包括所述地图瓦片文件的路径、所述投影类型、所述缩放层级范围、所述地理范围边界、所述瓦片行列号范围、所述文件优先级、所述数据来源及所述更新时间;
22、定期更新所述文件索引表中的索引信息,所述索引信息至少包括文件大小、瓦片数量及所述更新时间。
23、在本公开的一些实施例中,所述文件优先级根据以下因素综合评定:
24、数据精度、更新时间、数据源可靠性、区域覆盖完整性及使用频率。
25、在本公开的一些实施例中,还包括基于使用统计的文件优先级自适应调整步骤,具体包括:
26、记录各所述mbtiles文件的查询次数、成功查询次数及查询响应时间;
27、根据所述成功查询次数与所述查询次数之间的比率,以及所述查询次数的频次,对所述文件优先级进行动态调整;
28、当所述文件优先级较高的所述mbtiles文件查询失败时,自动降级至所述文件优先级较低的所述mbtiles文件进行检索。
29、在本公开的一些实施例中,所述启动跨投影数据转换流程以生成符合要求的所述目标投影瓦片数据的步骤,具体包括:
30、基于所述地理范围边界,从所述文件索引表中筛选出源投影瓦片的投影类型与所述目标投影瓦片的投影类型不同的源投影瓦片文件;
31、根据所述缩放层级范围、所述坐标及投影信息计算所述源投影瓦片的坐标;
32、根据所述源投影瓦片的坐标从所述源投影瓦片文件中获取对应地理位置的源投影瓦片数据;
33、基于所述源投影瓦片的投影类型与所述目标投影瓦片的投影类型之间的转换参数,对所述源投影瓦片数据进行坐标转换与图像重采样,生成所述目标投影瓦片的坐标对应的目标投影瓦片数据。
34、在本公开的一些实施例中,在所述从所述候选文件序列所指示的数据源中检索所述目标投影瓦片的坐标对应的目标投影瓦片数据的步骤之前,还包括:
35、利用为该数据源预构建的布隆过滤器判断所述目标投影瓦片的坐标对应的目标投影瓦片数据是否可能存在于其中;
36、若判定为不可能存在,则跳过对该目标投影瓦片数据的检索操作。
37、在本公开的一些实施例中,所述缓存为多级缓存,至少包括用于存储热点数据的内存缓存与用于存储全量或近期数据的磁盘缓存;
38、在所述返回检索到的所述目标投影瓦片数据并将其缓存的步骤之后,还包括:
39、根据数据的访问频率与时效性,在各级所述缓存间进行数据调度与淘汰。
40、在本公开的一些实施例中,当所述查询请求为包含多个子请求的批量请求时,所述方法还包括:
41、将所述子请求依据其所述目标目标投影瓦片的投影类型和/或所述地理范围边界进行分组,并对不同组的所述子请求所触发的所述多级数据定位与获取流程实施并行处理。
42、在本公开的一些实施例中,还包括性能监控与动态优化的步骤,具体包括:
43、记录查询次数、平均查询响应时间及缓存命中率中的至少一项性能指标;
44、根据所述性能指标动态调整所述候选mbtiles文件的文件优先级及缓存淘汰策略;
45、提供标准化接口以供外部系统查询所述性能指标。
46、本技术的第二方面,提出了一种支持多投影的地图瓦片存储与检索装置,包括:
47、解析模块,用于解析查询请求中的目标投影瓦片的投影类型、缩放层级和瓦片坐标参数;
48、第一筛选模块,用于响应于所述查询请求,根据所述目标投影瓦片的所述投影类型,在预先构建的文件索引表中筛选具有匹配所述投影类型的mbtiles文件;
49、第二筛选模块,用于根据所述目标投影瓦片的缩放层级及瓦片坐标参数计算对应的地理范围边界,在筛选结果中进一步筛选出覆盖所述地理范围边界的候选mbtiles文件;
50、排序模块,用于根据所述候选mbtiles文件的文件优先级对所述候选mbtiles文件进行排序,生成候选文件序列;
51、检索模块,用于按照所述候选文件序列的文件优先级顺序,依次从各所述候选mbtiles文件所指示的数据源中检索所述目标投影瓦片的所述瓦片坐标参数对应的目标投影瓦片数据;
52、第一处理模块,用于若检索成功,则返回检索到的所述目标投影瓦片数据并将其缓存;
53、第二处理模块,用于若所述候选文件序列中所有所述候选mbtiles文件均未检索到所述目标投影瓦片数据,则基于所述文件索引表的信息,启动跨投影数据转换流程以生成符合要求的所述目标投影瓦片数据。
54、在本公开的一些实施例中,还包括第一创建模块,用于在所述mbtiles文件的元数据表中增加投影类型字段,用于存储所述投影类型,所述投影类型采用地图坐标参考系统标识码表示;在所述mbtiles文件的所述元数据表中增加投影参数描述字段,用于存储描述投影参数信息;在所述mbtiles文件的所述元数据表中增加投影转换参数字段,用于存储所述投影类型与其他所述投影类型之间的转换参数信息;采用包含所述投影类型的命名格式对所述mbtiles文件进行命名,以通过文件名直接识别所述投影类型;采用瓦片生成工具生成不同所述投影类型的瓦片数据,并将所述瓦片数据存储至所述mbtiles文件中。
55、在本公开的一些实施例中,还包括第二创建模块,用于创建所述文件索引表,所述文件索引表至少包括所述mbtiles文件的路径字段、所述投影类型字段、所述地理范围边界字段、缩放层级范围字段、瓦片行列号范围字段、文件优先级字段、数据来源字段及更新时间字段;在所述地理范围边界字段上建立空间索引,用于基于地理边界坐标的查询筛选;在所述投影类型字段、所述缩放层级范围字段及所述文件优先级字段上建立复合索引,用于属性精筛与排序;将所述mbtiles文件的相关信息插入所述文件索引表,所述相关信息至少包括所述地图瓦片文件的路径、所述投影类型、所述缩放层级范围、所述地理范围边界、所述瓦片行列号范围、所述文件优先级、所述数据来源及所述更新时间;定期更新所述文件索引表中的索引信息,所述索引信息至少包括文件大小、瓦片数量及所述更新时间。
56、在本公开的一些实施例中,所述文件优先级根据以下因素综合评定:
57、数据精度、更新时间、数据源可靠性、区域覆盖完整性及使用频率。
58、在本公开的一些实施例中,所述第一创建模块780,还用于记录各所述mbtiles文件的查询次数、成功查询次数及查询响应时间;根据所述成功查询次数与所述查询次数之间的比率,以及所述查询次数的频次,对所述文件优先级进行动态调整;当所述文件优先级较高的所述mbtiles文件查询失败时,自动降级至所述文件优先级较低的所述mbtiles文件进行检索。
59、在本公开的一些实施例中,所述第二创建模块790,还用于基于所述地理范围边界,从所述文件索引表中筛选出源投影瓦片的投影类型与所述目标投影瓦片的投影类型不同的源投影瓦片文件;根据所述缩放层级范围、所述坐标及投影信息计算所述源投影瓦片的坐标;根据所述源投影瓦片的坐标从所述源投影瓦片文件中获取对应地理位置的源投影瓦片数据;基于所述源投影瓦片的投影类型与所述目标投影瓦片的投影类型之间的转换参数,对所述源投影瓦片数据进行坐标转换与图像重采样,生成所述目标投影瓦片的坐标对应的目标投影瓦片数据。
60、在本公开的一些实施例中,所述第一处理模块780,还用于利用为该数据源预构建的布隆过滤器判断所述目标投影瓦片的坐标对应的目标投影瓦片数据是否可能存在于其中;若判定为不可能存在,则跳过对该目标投影瓦片数据的检索操作。
61、在本公开的一些实施例中,所述缓存为多级缓存,至少包括用于存储热点数据的内存缓存与用于存储全量或近期数据的磁盘缓存;
62、在本公开的一些实施例中,所述第一处理模块780,还用于根据数据的访问频率与时效性,在各级所述缓存间进行数据调度与淘汰。
63、在本公开的一些实施例中,还包括批量处理模块,用于将所述子请求依据其所述目标目标投影瓦片的投影类型和/或所述地理范围边界进行分组,并对不同组的所述子请求所触发的所述多级数据定位与获取流程实施并行处理。
64、在本公开的一些实施例中,还包括监控模块,用于记录查询次数、平均查询响应时间及缓存命中率中的至少一项性能指标;根据所述性能指标动态调整所述候选mbtiles文件的文件优先级及缓存淘汰策略;提供标准化接口以供外部系统查询所述性能指标。
65、本技术的实施例提供的技术方案可以包括以下有益效果:通过mbtiles元数据扩展与跨投影转换,支持多种投影,将应用范围从网络地图扩展至专业测绘、航天遥感、海洋工程等领域,解决多源数据融合难题;采用文件索引表结合多维度索引优化,实现大规模mbtiles文件的快速定位,索引查询时间缩短,系统可扩展性大幅提升,满足海量数据管理需求;实现瓦片服务的动态调度:通过动态文件优先级算法结合文件优先级调度机制,自动选择高精度、高时效性、高可靠性的数据源,提升服务质量;跨投影容错适配保障投影无关的服务体验,请求成功率提高;采用布隆过滤器减少无效输入输出操作,通过多级缓存将重复查询响应时间降至毫秒级,结合批量并行处理机制,在高并发场景下系统吞吐量较传统mbtiles服务提升,单瓦片平均延迟较传统方案降低;保持mbtiles格式向后兼容,现有mbtiles文件及配套工具链无需修改即可接入;提供标准化应用编程接口,支持单瓦片获取、批量请求及服务能力查询,便于客户端集成,降低开发成本。
66、上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com