1

为了存储地理空间数据,在 SQL Server 或 Oracle Spatial 中使用 Geometry 字段。我想知道有什么方法可以将这个几何字段转换为一组纬度和经度。

4

2 回答 2

1

我假设几何列中的数据是使用投影坐标参考系表示的?如果是这样,您必须首先取消投影和/或将其转换为适当的地理坐标参考系。对于谷歌地图,这需要是 EPSG:4326 (WGS84)

按照 paulH 的建议,通过 WKT 或 WKB 在几何和地理列之间进行简单转换不会改变表达数据的坐标类型,并且 SQL Server 不提供内置转换函数。相反,您必须使用第三方库,例如 Proj.NET (http://projnet.codeplex.com),它使用 7 参数 Helmert 变换提供投影和基准面变换功能。导入这个库,然后基于它创建一个 SQLCLR 过程来在不同的 SRID 之间转换数据是相对容易的。

在正确的 SRID 中获得一列地理坐标数据后,您可以使用 Lat 和 Long 属性选择给定点的纬度/经度坐标值。

于 2012-02-03T11:21:40.887 回答
0

如果您可以将 Geometry 字段转换为 Geography 数据类型(本文有一些如何做到这一点的示例),那么您可以选择 GeographyValue.Lat 和 GeographyValue.Long。

于 2012-02-01T14:07:19.477 回答