什么是更好的方式来表示空间数据

时间:2014-12-30 13:17:32

标签: database algorithm spatial kdtree

我的系统中存在以下问题: 我的系统是客户端 - 服务器架构。我的应用是关于城市中的识别建筑。所以我决定将城市地图分成网格,每个网格的面积等于30 x 30米。对于每个网格区域,我存储网格的中心点(lat,long)。 所以我的问题是用户是否位于特定的网格x中 它的位置被发送到服务器如何决定用户所在的网格?

这里的照片澄清了问题:

City organization as grids

1 个答案:

答案 0 :(得分:1)

我假设您的网格大小完全相同,并且排列在一个完美的矩形中,如图所示。如何将所有网格存储在一个简单的2D数组中?然后,您可以通过

找到任何网格的索引
grid_size = 30; 
index_x = math.floor(user.x/grid_size); 
index_y = math.floor(user.y/grid_size);