加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer——geometry与WKT

发布时间:2020-12-12 13:24:59 所属栏目:MsSql教程 来源:网络整理
导读:以下两个示例显示了如何添加和查询几何图形数据。第一个示例创建了带有标识列和 geometry 列 GeomCol1 的表。第三列将 geometry 列呈现为其 开放地理空间联盟 (OGC) 熟知文本 (WKT) 表示形式,并使用 STAsText() 方法。接下来将插入两行:一行包含 geometry
以下两个示例显示了如何添加和查询几何图形数据。第一个示例创建了带有标识列和 geometry 列 GeomCol1 的表。第三列将 geometry 列呈现为其 开放地理空间联盟 (OGC) 熟知文本 (WKT)表示形式,并使用 STAsText() 方法。接下来将插入两行:一行包含 geometry 类型的 LineString 实例,一行包含 Polygon 实例。

IF OBJECT_ID ( 'dbo.SpatialTable','U' ) IS NOT NULL?
? ? DROP TABLE dbo.SpatialTable;
GO

CREATE TABLE SpatialTable?
? ? ( id int IDENTITY (1,1),
? ? GeomCol1 geometry,?
? ? GeomCol2 AS GeomCol1.STAsText() );

GO

INSERT INTO SpatialTable (GeomCol1)
VALUES (geometry:: STGeomFromText('LINESTRING (100 100,20 180,180 180)',0));

INSERT INTO SpatialTable (GeomCol1)
VALUES (geometry::STGeomFromText('POLYGON ((0 0,150 0,150 150,0 150,0 0))',0));
GO
第二个示例使用 STIntersection() 方法返回两个以前插入的 geometry 实例相交的点。

DECLARE @geom1 geometry;
DECLARE @geom2 geometry;
DECLARE @result geometry;

SELECT @geom1 = GeomCol1 FROM SpatialTable WHERE id = 1;
SELECT @geom2 = GeomCol1 FROM SpatialTable WHERE id = 2;
SELECT @result = @geom1.STIntersection(@geom2);

SELECT @result.STAsText();

看个实例吧:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读