在我的Django项目中,我会使用MySQL。
我有一个包含纬度和经度的实体。
我必须实施搜索,以找到最接近(通过距离参数)到geoPoint的所有点。
可能我必须使用GeoDjango,但我对与MySQL和地理距离查询的兼容性有所怀疑。特别是我已经阅读了这个documentation page和兼容性表(我没有看到MySQL的distance_lte
:我有没有使用它?)
使用MySQL和GeoDjango可以在我的项目中使用这种类型的功能吗?
我可以有效地使用此功能吗? 最好使用其他DBMS,例如PostgreSQL?
答案 0 :(得分:2)
要使用GeoDjango中的距离测量内容,您需要postgreSQL:MySQL的地理空间扩展不支持纬度/长距离测量。此外,如果您使用MySQL地理空间扩展,则必须使用MyISAM表而不是InnoDB。
如果你没有与GeoDjango结合,你可以使用MySQL。您需要做一些工作才能使查找更有效。看这里。 http://www.plumislandmedia.net/mysql/haversine-mysql-nearest-loc/
如果您想使用地理空间,请参阅此处。 http://www.plumislandmedia.net/mysql/using-mysqls-geospatial-extension-location-finder/