Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 将GPS坐标转换为地图瓦片状结构_Postgresql_Gps_Gis_Postgis - Fatal编程技术网

Postgresql 将GPS坐标转换为地图瓦片状结构

Postgresql 将GPS坐标转换为地图瓦片状结构,postgresql,gps,gis,postgis,Postgresql,Gps,Gis,Postgis,当涉及到地理数据时,我是一个完全的文盲,所以请容忍我 对于我们的应用程序,我们将在地图上跟踪大量快速变化的点。能够在某种地图分幅结构中缓存这些点的位置会很好,这样就可以很容易地找到同一分幅或相邻分幅中当前的所有点,从而更容易快速确定最近的相邻点,并具有特定分幅的特殊逻辑,等等 虽然我们正在为一个特定的(但已经很大的)位置工作,但如果一个解决方案也可以扩展到其他位置,那就太好了。既然我们只缓存与系统相关的分片,那么仅仅分片enitre星球是最好的选择吗?然后,瓷砖的尺寸将以弧秒/分钟为单位进行测量

当涉及到地理数据时,我是一个完全的文盲,所以请容忍我

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

虽然我们正在为一个特定的(但已经很大的)位置工作,但如果一个解决方案也可以扩展到其他位置,那就太好了。既然我们只缓存与系统相关的分片,那么仅仅分片enitre星球是最好的选择吗?然后,瓷砖的尺寸将以弧秒/分钟为单位进行测量,或者这是一个坏主意


我们已经与Postgres合作,这似乎可以通过PostGIS实现(这就是rasters吗?),但是在不知道我到底在寻找什么的情况下直接进入文档/教程是很困难的。有什么想法吗?

PostGIS就是你所需要的。它可以将您的点存储在任何坐标系中,但您可能会使用经度/纬度。您的积分是否来自GPS设备

PostGIS使用GIST索引,使得搜索接近给定点的点非常有效。您可能希望看到的一个选项是,看到您对平铺感兴趣,就可以“地理哈希”您的点。基本上,这会将(X,Y)坐标对转换为单个“字符串”,其长度取决于分区级别。附近的点将具有相同的geohash值(=1个平铺),然后可以使用标准数据库搜索工具轻松识别。有关更多注意事项和PostgreSQL中的示例,请参阅和相关问题

您不想查看光栅。这些是网格数据,比如航空摄影或卫星图像、天气图等

但如果你想得到更具体的答案,你应该提供更多的细节:

  • 多少分?它们是如何收集的
  • 你们有大的集群吗
  • 本地的?区域的?全球
  • 这与哪些其他数据有关
  • 伪表结构?数据布局
更多信息=更好的答案


干杯,希望你能找回你的脸

geohash密钥分区是一样的。这不是一个好答案。一个geohash有不同的精度,然后键的长度也不同。@Phpdevpad你怎么能说答案不好呢?你知道OP想要什么吗?我建议他看一看。如果你知道的更多,也许你应该自己写一个答案。你在链接中给出的答案也不是一个好答案。在IMO中,边界框、r树或四叉树会给出更好或类似的结果。此外,还存在许多穿越n维空间的可能性,geohash非常容易实现。