【问题标题】:Geometry to Latitude/Longitude in Sql serverSql server 中的几何到纬度/经度
【发布时间】:2014-12-03 02:33:57
【问题描述】:

我已将 .SHP 文件上传到我的 sql 表中,并且我得到了包含数据的几何列。我可以在 sql server 的 "Spatial results" 选项卡上看到点,这一切都很好。当我在 sql server 中运行这一行时

SELECT [geom].STAsText() FROM myTable

我得到了这样的结果

POLYGON ((3176400.1697998047 13775644.29901123,... ))
MULTIPOLYGON ((3176400.1697998047 13775644.29901123,... ))

还有

select U.Region_Name, Centroid.STY as Longitude, Centroid.STX as Latidude from 
  ( select geom.STCentroid() as Centroid, NAME as Region_Name from dbo.special )

给予

Longitude Latidude 13752659.4654854 3187156.41156205

那么有什么方法可以将其转换为常规纬度和 经度(例如34.403823, -118.596661)。

【问题讨论】:

  • 使用此网站:prj2epsg.org/search 并告诉我们您的形状文件的格式。没有这些信息,我们无法为您提供帮助,因为我们不知道这些点的依据。
  • 你的shp文件是否包含prj文件?
  • 您的数据看起来在 EPSG:3857 中,但如果没有更多信息就无法确定。

标签: sql sql-server geometry spatial geography


【解决方案1】:

您可以通过以下方式找出几何图形:

select geom.STSrid

话虽如此,我认为不可能在 SQL Server 中的不同 SRID 之间转换坐标(或者至少在没有外部库的情况下不容易(参见https://gis.stackexchange.com/questions/2723/is-it-possible-to-reproject-spatial-data-using-sql-server)),我猜你正在尝试在这里做,所以你可能需要在导入之前在另一个程序中手动转换它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 2013-02-08
    • 1970-01-01
    • 2019-02-13
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多