如何设置标准化偏移使Snap GPS网格点对齐以实现离线高程查询?
实现网格同质化的标准化偏移方案
核心靠统一基准原点+坐标对齐计算,让不同网格的重叠点完全重合,具体做法如下:
定一个全球通用的基准原点
直接用WGS84坐标系下的(0°N, 0°E)作为所有网格的起始基准点。不管是10英尺还是100英尺网格,所有网格的偏移计算都从这个点开始,只要区域重叠,网格点必然对应上。先转平面坐标系再算网格
经纬度是球面坐标,直接算英尺网格误差大,先把经纬度转成UTM平面坐标系(单位转成英尺),再用公式计算对齐后的网格点:# 已转换为UTM东向/北向坐标(英尺) 网格东坐标 = floor((当前UTM东坐标 - 基准点UTM东坐标) / 网格尺寸) * 网格尺寸 + 基准点UTM东坐标 网格北坐标 = floor((当前UTM北坐标 - 基准点UTM北坐标) / 网格尺寸) * 网格尺寸 + 基准点UTM北坐标算完再把这个网格点的UTM坐标转回经纬度,存到离线库。
不同网格尺寸要兼容
如果同时用多种网格(比如10英尺和100英尺),大尺寸网格的点必须是小尺寸网格点的整数倍位置。比如100英尺网格的每个点,刚好是10英尺网格里每10个点的位置,这样两种网格重叠时完全重合。离线存储做索引优化
把网格点的经纬度(或者UTM坐标对)作为索引键,比如用(网格东坐标, 网格北坐标)当键,对应存高程值。用户查询时,先把请求的经纬度转成对应网格的点,直接查索引就能拿到高程。
内容的提问来源于stack exchange,提问作者Kias
相关产品推荐
相关产品推荐

