2015-05-29 76 views
0

在处理地理数据时,我是一个完全不识字的人,所以请耐心等待。将GPS坐标转换为地图瓷砖状结构

对于我们的应用程序,我们将跟踪地图上相当大量的快速变化点。能够将这些点的位置缓存在某种地图 - 瓦片结构中将会很好,因此可以很容易地找到当前位于同一瓦片或相邻瓦片中的所有点,从而更容易快速确定最近的相邻点和对特定瓷砖等有特殊的逻辑。

尽管我们正在为一个特定的(但已经很大的)位置工作,但如果解决方案也可以扩展到其他位置,它将会很好。既然我们只会缓存与系统有关的瓦片,那么平铺整个行星就是最好的选择?瓦片的尺寸将以弧秒/分钟为单位进行测量,或者这是一个坏主意?

我们已经和Postgres一起工作,这似乎是PostGIS可以做的事情(这是什么栅格是?),但跳到文档/教程不知道我正在寻找什么是困难的。有任何想法吗?

回答

0

PostGIS是您所需要的一切。它可以将你的点存储在任何坐标参考系统中,但你可能会使用经度/纬度。你的观点来自GPS设备吗?

PostGIS使用GIST索引,使搜索接近给定点的点非常高效。看到你对平铺感兴趣,你可能想要看的一个选择是“geohash”你的观点。基本上,这会将一个(X,Y)坐标对变成一个长度取决于分区级别的单个“字符串”。附近的点将具有相同的geohash值(= 1瓦),然后使用标准数据库搜索工具轻松识别。请参阅this answer以及相关问题了解更多注意事项以及PostgreSQL中的示例。

你不想看看栅格。这些栅格数据,认为航拍或卫星图像,天气图等

但是如果你想更具体的答案,你应该给一些更多的细节:

  • 多少分?他们如何收集?
  • 你有大集群吗?
  • 本地?区域?全球?
  • 这与哪些其他数据有关?
  • 伪表结构?数据布局?

更多信息=更好的答案

干杯,希望你得到你的脸回来

+0

一个地理散列键分区是完全一样的。这不是很好的答案。 geohash具有不同的精度,然后关键的长度不同。 – Bytemain

+0

@Phpdevpad你怎么能说答案不好?你确切知道OP想要什么吗?我建议他看看它。如果你知道得更好,也许你应该自己写一个答案。 – Patrick

+0

您在链接中给出的答案也不是一个好答案。国际海事组织边界框或r-树或四叉树给出更好或类似的结果。遍历n-dim空间还有很多可能性,geohash很容易实现。 – Bytemain