好吧,让我简单解释一下:
1.我想建立一个提供基于位置的服务的网站,例如http://fireeagle.yahoo.net/。
2.我猜这些服务大部分都与经度和纬度有关。
3.是否有适合此类应用的特定数据库/数据存储/数据结构?我的意思是容易存储经度,纬度,易于计算或易于使用。
我是新手,欢迎任何反馈
答案 0 :(得分:2)
关系数据库系统的空间扩展为地理/几何数据类型提供存储和索引访问。它们允许您执行空间连接和各种空间查询。简而言之,它们正是您所需要的。
如果您使用的是开源堆栈,我建议使用PostGIS,即Postgresql的空间扩展。如果您使用的是MS堆栈,请尝试spatial extensions to SQL Server 2008。
答案 1 :(得分:1)
MySQL有spatial extension个教程here。获取快速查询的基本思想是设计一个带有空间索引的列的表,R-tree索引对于范围查询很快,例如“在这一点附近给我点。”
当然,有Postgres和PostGIS,你可以从像SimpleGeo这样的公司支付这项服务。
答案 2 :(得分:0)
我建议你考虑GeoDjango
这非常好,因为它融合了Python / Django的简洁性和PostGIS的强大功能。但它也可能很复杂并且提供太多功能,因此浪费你的时间。
如果您没有特殊需求,可以使用另一种更简单的解决方案,仅用于Django或Python,即Geopy。虽然不向数据库添加空间扩展,但它允许您使用通用数据结构(也包括任何数据库)执行地理空间计算。您可以计算距离,进行(反向)地理编码。请查看Getting Started页面,也可以直接查看code,因为它已有详细记录。我正在将它用于动态拼车项目,它运行良好。
这两种解决方案都适合Django框架,因此您可以轻松地围绕所提供的服务开发网站。