问题描述
有没有办法生成给定 3L geohash 的所有 4L geohash?我一直在使用 gh_to_spdf() 创建一个 geohash 单元,然后使用 gh_covering() 获取该 spdf 中的所有 geohash。
示例:
library(geohashTools)
# Goal: find all valid 5-digit geohashes inside "u17b"
# Create rectangle spdf
poly_4L <- gh_to_spdf("u17b")
# Find geohashes covered by u17b
in_poly_4L <- gh_covering(poly_4L,5L,minimal = TRUE)
hash_5L <- row.names(in_poly_4L)
table(substr(hash_5L,1,4))
# u17b u17c u1k0 u1k1
# 32 8 4 1
这方面的 2 个关键问题:
-
u17b 的非成员与 u17b 相交(可能是 spdf 中的舍入问题);这可以通过过滤具有正确前缀的那些来处理,但会增加开销;和
-
为此目的很慢(使用 gh_covering() 对随机多边形非常有意义)。
有没有办法在不使用 spdf 查看二维空间的情况下获取 geohash 前缀的所有成员?考虑到对数百万个点进行 geohash 所需的时间很短,这似乎应该成为可能。我尝试了蛮力方法 here,但 Lyngbakr 指出的问题是有效的,并且很快就会导致问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)