如何将地球划分为小网格,以便我可以将每个纬度/长度位置分配给网格?

Nis*_*ith 9 grid maps spatial geolocation geospatial

为了计算纬度/经度所代表的最近位置,我正在考虑将地图划分为小网格,大约100x100米网格.基本上每个点都将分配给一个网格.

据我所知,我也可以使用MySQL等空间索引,但我计划使用像Cassandra这样的非关系型数据库,因为很难对空间对象进行索引,因此某种网格近似技术可能很简洁.

创建这样一个网格系统并将二维空间位置映射到它的最佳方法是什么?

编辑1:如果网格不完全均匀,那么可能没什么问题.

npd*_*oty 7

从二维空间坐标到空间索引/ geohash的映射是一个有趣的问题.您可以在四叉树,地理相位和希尔伯特曲线上查看本文.的希尔伯特曲线是一个空间填充曲线提供局部性; 出于您的目的,这意味着一维空间索引中的附近项目将在二维空间中附近.

目标(如其他响应者所描述的)是在不向服务器请求大量不必要数据的情况下最小化覆盖所讨论空间所需的查询数量.如何从二维空间到一维索引进行映射将影响该目标.


小智 5

在不知道您的确切应用程序要求的情况下,Geohash 可能是一种合适的技术:http : //en.wikipedia.org/wiki/Geohash

“它是一种分层空间数据结构,将空间细分为网格形状的桶。Geohashes 提供诸如任意精度和逐渐从代码末尾删除字符以减小其大小(并逐渐失去精度)的可能性等特性。”


Ric*_*kNZ 4

矩形网格可以是一个合理的估计,但仅限于不太靠近两极的相对较小的区域。全球解决方案需要不同的方法。