mysql-如何确定地球表面的哪些图像与任意给定的图像重叠?

假设您获得了地球表面的图像,并将其存储为数据库中的一个多边形,该多边形由其角的经度/纬度对定义.

现在,假设有数以百万计的图像覆盖地球表面,并且它们也以类似的方式存储.找到那些与给定图像相交的图像的好策略是什么?

我有一个基于图像的“边界半径”的工作基本算法.但这不是最佳选择,它会发现比应返回的图像更多的图像.

我已经看过MySQL的GIS空间功能,但是其中的所有计算似乎都是在欧几里得几何中完成的.

本质上,我只需要一个返回“ true”或“ false”的函数,具体取决于两个多边形(在球体上并由纬度/经度点定义)是否相交.看起来很简单,但我还没有找到实现方法.自己弄清楚这个想法很累.

解决方法:

使用PostGIS,您可以运行以下内容:

SELECT b.* 
FROM images AS a
 JOIN images AS b
 ON ST_Intersects(a.the_geom,b.the_geom)
WHERE a.name = "The image you are interested in"

假定所有图像边界都包含在同一PostGIS表“图像”中.

上一篇:Redis新增数据类型Geospatial


下一篇:javascript – 平滑GPS跟踪的路线坐标