小编典典

从纬度和经度字段创建几何/地理字段(SQL Server)

sql

我有一个包含两个纬度和经度字段的视图,并且我想创建一个新视图,将这些纬度/经度字段转换为几何/地理字段(不确定哪个最适合ArcGIS)。原始视图中的字段是双重类型,我希望在新视图中将它们转换为空间类型。

目前,我不确定如何将这些字段转换为空间类型。所有其他类似问题都从来没有给我提供一个可行的解决方案,因此,对于这个问题似乎是重复的,我深表歉意,但希望有一个更清晰的示例也可以对其他人有所帮助。

我的新观点写得很简单-

SELECT * FROM view_name WHERE (latitude <> 0) AND (longitude <> 0)

如何基于现有视图创建此新视图,并将两个字段转换为空间类型(或创建一个填充了经/纬度值的新空间字段)?

我正在使用SQL Server ManagementStudio,2012版。如果我省略了任何相关信息,请告诉我。我很乐意提供尽可能多的细节。


阅读 167

收藏
2021-03-23

共1个答案

小编典典

SELECT *,
geography::STGeomFromText(‘POINT(‘ +
CAST([Longitude] AS VARCHAR(20)) + ‘ ‘ +
CAST([Latitude] AS VARCHAR(20)) + ‘)’, 4326) as GEOM,

          geography::Point([Latitude], [Longitude], 4326) as SAME_GEOM

  FROM view_name 
  WHERE (latitude <> 0) AND (longitude <> 0)
2021-03-23