【发布时间】:2020-07-02 17:56:09
【问题描述】:
我正在尝试计算另存为 WKT 的几何图形的表面 (STArea ()),但我得到了错误的值。
我提到使用地理没有帮助。我还注意到,当我设置 use_spheroid=false 时,Postgis 区域的计数正确。
DECLARE @g geometry = geometry::STGeomFromText('POLYGON((21.5601775022348 52.1813862660549,21.5601461469143 52.1813295549141,21.559853091877 52.1813993365177,21.5597665803865 52.1812613330339,21.5593037698201 52.1813692515792,21.5592677194965 52.1813021172669,21.5592607711581 52.1813034375092,21.5592188506351 52.1812334620465,21.5591248909245 52.1812561912586,21.5590395906618 52.1811137531269,21.5587491625113 52.1811808662478,21.5589985172752 52.1816470941761,21.5595646783963 52.1815219107667,21.5601775022348 52.1813862660549))', 4326);
select @g;
select @g.STArea()
【问题讨论】:
-
什么是“正确”的区域以及使用什么测量单位?多边形顶点的度量单位是平方吗?为什么要对 Geometry 使用非零 SRID?
-
从 PostGIS 查询
SELECT St_Area( ST_GeomFromText('POLYGON((21.5601775022348 52.1813862660549,21.5601461469143 52.1813295549141,21.559853091877 52.1813993365177,21.5597665803865 52.1812613330339,21.5593037698201 52.1813692515792,21.5592677194965 52.1813021172669,21.5592607711581 52.1813034375092,21.5592188506351 52.1812334620465,21.5591248909245 52.1812561912586,21.5590395906618 52.1811137531269,21.5587491625113 52.1811808662478,21.5589985172752 52.1816470941761,21.5595646783963 52.1815219107667,21.5601775022348 52.1813862660549))', 4326), false);得到的正确区域是 2286.22 -
平方米。我是 SQL Server 新手,所以我像在 PostGIS 中一样使用 4326 SRID。
标签: sql-server spatial wkt