Django + PostgreSQL: 查找附近点
我在开发一个应用,需要找出离某个点最近的其他点。我想要一个简单但性能还不错的解决方案。我考虑过使用PostGIS和GeoDjango,但我觉得我的应用并不是特别“地理相关”(我其实也不太明白这是什么意思)。其中大约5%的内容是需要保存一些物体(比如人和地方)的坐标,然后我需要完成找最近点的任务。简单来说,使用PostGIS和GeoDjango似乎有点过于复杂了。
我还考虑过用django-haystack配合SOLR或Elasticsearch,因为我需要强大的文本搜索功能,而这些搜索引擎也有一些“地理”特性。不过我对此也不太确定,因为我担心主数据库和搜索引擎数据库之间的同步问题,以及这些引擎对硬件的要求。目前我更倾向于使用PostgreSQL的三元组功能,找一个自定义的方法来解决“找最近点”的问题。有没有什么好的建议呢?
3 个回答
0
你说得对,PostGIS/GeoDjango可能有点复杂,不过自己做一个Django应用程序其实对你这个简单的任务来说并不会太麻烦。Django在模板方面提供了很多功能,而且它自带的管理界面让你输入单条记录变得很简单。而且GeoDjango是Django的一个附加功能,以后如果你的项目需要的话,你随时可以使用它。
0
可以看看 shapely。看起来这个对象的 project()
方法可能正是你需要的。