4

好吧,让我简单解释一下:

1.我想建立一个提供基于位置服务的网站,比如http://fireeagle.yahoo.net/

2.我猜这些服务大多与经度和纬度有关。

3.是否有任何特定的数据库/数据存储/数据结构适合此类应用程序?我的意思是易于存储经度、纬度和易于计算或易于使用。

我是新手,欢迎任何反馈

4

3 回答 3

2

关系数据库系统的空间扩展提供地理/几何数据类型的存储和索引访问。它们允许您执行空间连接和各种空间查询。简而言之,它们正是您所需要的。

如果您使用的是开源堆栈,我会推荐PostGIS,它是 Postgresql 的空间扩展。如果您使用的是 MS 堆栈,请尝试SQL Server 2008 的空间扩展

于 2010-05-31T05:43:08.050 回答
1

MySQL 有一个空间扩展,这里有教程。获得快速查询的基本思想是使用带有空间索引的列来设计表,这是一个R-tree索引,对于诸如“给我这个点附近的点”之类的范围查询来说是快速的。

当然,也有带有 PostGIS 的 Postgres,您可以从SimpleGeo等公司购买这项服务。

于 2011-04-09T17:06:59.593 回答
0

我建议您考虑GeoDjango
它非常好,因为它融合了 Python/Django 的简单性和 PostGIS 的强大功能。但它也可能很复杂并提供太多功能,因此会浪费您的时间。

如果您没有特殊需求,还有另一种更简单的解决方案可以单独与 Django 或 Python 一起使用,那就是Geopy。虽然不向数据库添加空间扩展,但它允许您使用通用数据结构(也包括任何数据库)执行地理空间计算。您可以计算距离,进行(反向)地理编码。查看入门页面,也可以直接查看代码,因为它有很好的文档记录。我将它用于动态拼车项目,效果很好。

这两种解决方案都非常适合 Django 框架,因此您可以轻松地围绕所提供的服务开发一个网站。

于 2010-05-31T07:00:08.487 回答