您好我使用ms sql 2005来存储一些latlng数据。 它目前以下列形式存储在nvarchar列中 - “35.6949965,139.7555035” 我的问题是。 这是存储此类数据的最佳方式吗? 如果我以这种方式存储latlng它会在以后咬我,还是意味着我将不得不在数据库之外进行任何处理?
任何指示赞赏,
答案 0 :(得分:3)
理想情况下,您将更新到MSSQL 2008并使用新的GEOGRAPHY data type。这将允许您使用各种漂亮的功能,如空间索引,有效地执行查询,如“给我100.6英里半径范围内的所有点35.6949965,139.7555035”。
答案 1 :(得分:2)
这几乎肯定不是存储它的最佳方式。如果使用一对浮点列 - 纬度和经度 - 那么您可以在数据库本身内执行某些功能。作为一个例子,这里是如何计算两点之间的距离:
http://www.zipcodeworld.com/samples/distance.mssql.html
或者,作为一个简单的例子,
SELECT * FROM table WHERE latitide<40;
会在纽约以北的任何地方找到。