为了存储地理空间数据,在SQL Server或Oracle Spatial中使用Geometry字段。我想知道有没有办法可以将这个几何场转换成纬度和经度。
答案 0 :(得分:1)
我假设您的几何列中的数据是使用投影坐标参考系统表示的?如果是这样,您必须首先将其取消投影和/或转换为适当的地理坐标参考系统。对于谷歌地图,这需要是EPSG:4326(WGS84)
按照paulH的建议,只需通过WKT或WKB在几何和地理列之间进行转换,不会改变表达数据的坐标类型,SQL Server也不提供内置的转换功能。相反,您必须使用第三方库,例如Proj.NET(http://projnet.codeplex.com),它使用7参数Helmert变换提供投影和基准转换功能。导入此库然后基于它创建SQLCLR过程以在不同SRID之间转换数据相对容易。
在正确的SRID中获得一列地理坐标数据后,您可以使用Lat和Long属性选择给定点的纬度/经度坐标值。
答案 1 :(得分:0)
如果您可以将Geometry字段转换为Geography数据类型(this article有一些如何做的示例),那么您可以选择GeographyValue.Lat和GeographyValue.Long。