我应该使用什么类型的数据库模式来存储和使用地理位置数据?

问题描述:

我正在创建一个应用程序,它将存储特定事务的地理位置数据。我应该存储一个简单的经纬度还是有一个更喜欢的标准?我应该使用哪些数据类型以允许将来切换到NoSQL?我应该使用什么类型的数据库模式来存储和使用地理位置数据?

+0

为什么你担心将来切换到NoSQL?不成熟的优化等等。另外,NoSQL是一个涵盖许多不同技术的广义术语。 – 2010-04-03 16:18:06

World Geodetic Standard被广泛使用。最新版本是WGS84。这是Global Positioning System等使用的坐标系。

许多数据库都有处理空间数据的自定义数据类型。如果数据库是这种情况,那么可以考虑使用这些来存储坐标。否则,坐标可能被存储为纬度/经度。有几个开源库可用于在各种坐标系之间进行转换,所以如果您稍后需要切换,则应该可以在不用太多麻烦的情况下转换数据。

  • 忘掉NoSQL - 学会使用数据库或雇用可以的人。大多数NoSql“主张”都是由人们在思维上不能正确使用数据库。

  • 使用特殊数据类型。不确定MySQL - 但MS SQL Server使用2008服务器添加了几何/地理位置数据。它不像数据类型那样容易,因为查询背后的逻辑以及如何建立索引必须在数据库引擎中才能真正有效。特别是一个点的二维指数和处理“形式”并不是在后续步骤中加入的简单有效的东西。