K-最近邻与MySql地理索引
我在mySql数据库中有一组带地理标记的图片。你可以认为我的图片表是:K-最近邻与MySql地理索引,mysql,nearest-neighbor,gis,Mysql,Nearest Neighbor,Gis,我在mySql数据库中有一组带地理标记的图片。你可以认为我的图片表是: create table `Pictures` ( location Point NOT NULL, timeCreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, SPATIAL INDEX(location) )ENGINE= MyISAM DEFAULT CHARSET=utf8; 我打算根据图片的位置执行K-最近邻算法。例如,如果K=10,则选择地理位置最
create table `Pictures` (
location Point NOT NULL,
timeCreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
SPATIAL INDEX(location)
)ENGINE= MyISAM DEFAULT CHARSET=utf8;
我打算根据图片的位置执行K-最近邻算法。例如,如果K=10,则选择地理位置最接近用户位置的10张图片
我感谢你的建议 看看下面的链接。我相信它解决了与单独使用MySQL查询相同的问题(如果您的问题是查找距离用户位置最近的10张图片) 我希望这能帮助您解决问题。KNN不支持。
更恰当、更准确的回答是,截至目前。虽然PostGIS是PostgreSQL的免费空间扩展。有什么限制吗?像是一组固定的图片还是添加和删除的图片?@Tim图片是由移动用户不断添加的。您已经专门询问了KNN。选择的答案——一个hversine公式与此无关。如果你想得到最接近的点,你就必须改进你的问题。不好意思,我不确定你在问什么,我认为这可能会让寻找KNN的人感到困惑。使用哈弗森公式意味着你必须计算所有点的距离。即使你只需要10个最近的点。@Jim Thio:我同意你需要考虑我发布的链接来计算所有点的距离。您能为这个问题提供一个更好的工作解决方案吗?我的sql似乎没有。我要搬到mongodb。您可以通过首先在小矩形中搜索来模拟它。如果mysql有这样的命令,对我来说就足够了。