数据库
首页 > 数据库> > mysql-如何确定地球表面的哪些图像与任意给定的图像重叠?

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表“图像”中.

标签:geospatial,latitude-longitude,gis,mysql
来源: https://codeday.me/bug/20191209/2096650.html