6

我最近一直在尝试地理数据类型,并且很喜欢它。但我无法决定是否应该从当前模式转换为地理类型,该模式将纬度和经度存储在两个单独的数字(9,5)字段中。我已经计算出这两种类型的大小和表示一个点的纬度/经度方式是单个点的 28 个字节,而地理类型是 26 个。空间上的增益不是很大,但在执行地理空间操作(相交、距离测量等)方面有很大的改进。 ) 目前使用笨拙的存储过程和标量函数处理。我想知道的是指数。地理数据类型是否需要更多空间来索引数据?我有一种感觉,即使存储在列中的实际数据较少,我认为地理空间索引的工作方式最终会为它们分配更大的空间。

PS 作为旁注,似乎 SQL Server 2008(不是 R2)不会自动搜索地理空间索引,除非明确告知使用 WITH(INDEX()) 子句

4

3 回答 3

1

我了解您正试图在保留两者之一之间做出决定,但您可能需要考虑保留两者。如果您将数据导出到形状文件中,让 lat lon 字段与 geom 字段一起使用是一种常见的做法。

于 2011-05-09T21:18:52.613 回答
1

在我看来,您绝对应该只使用空间类型。空间类型针对空间查询进行了优化,如果您需要空间查询,那么我认为这是一个简单的选择。

作为副作用,您可以摆脱地理函数和过程,因为它们(可能)内置在 SQL Server 2008 中。但需要注意的是,您可能需要花一些时间优化空间索引,但这取决于您的具体情况.

于 2011-06-15T09:03:51.083 回答
0

我会保留两者。无需空间操作即可轻松查询特定要素的原始坐标非常有用。您可以了解原始点以及从它们创建新几何体的好处,以防您需要在不同的坐标系中使用它(例如,如果您将几何体置于特定投影中,这将失去很多精度给另一个)。

于 2011-06-06T13:37:57.840 回答