0

我有一个带有几何列的数据列表,格式为0x6A7F0000010D340AF.

我想检索 和 范围内的纬度和(-90,90)经度(-180,180)。我尝试了以下代码:

select geom.STY as lat, geom.STX as lon 
from Table;

但是,它返回5058449.313纬度和经度范围内的值。

知道我应该怎么做吗?我也可以使用 Python 进行转换吗?我怎样才能CRS从geom中获得?

更新解决方案

假设我知道CRS,我可以使用此代码从检索到latitudelongitude(Y,X)

select geom.STY as lat, geom.STX as lon 
from Table;
4

2 回答 2

0

STX 和 STY 返回 Point 实例的 X 坐标和 Y 坐标属性。这是您需要的:

SELECT  
    geom.Long AS [Longitude]
    ,geom.Lat AS [Latitude]
FROM [Table]
于 2020-11-19T15:27:30.857 回答
0

其他人发布了一个建议的答案,随后的对话归结为“使用geography而不是geometry”。我同意!

但你也正确地观察到你拥有你所拥有的。因此,我的建议是与负责编写数据的人联系,并弄清楚他们如何存储纬度和经度。这将使您在弄清楚如何从现有数据中提取它方面有很长的路要走。在不知道这一点的情况下,您(和我们)所能做的就是推测/猜测。

于 2020-11-19T16:37:39.560 回答