首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLGeometry中的拐角

SQLGeometry中的拐角
EN

Stack Overflow用户
提问于 2014-06-17 19:09:02
回答 2查看 409关注 0票数 0

我用我的几何形状上的信封函数来得到这个:

多边形( -179.231086 51.175092,179.859681 51.175092,179.859681 71.441059,-179.231086 71.441059,-179.231086 51.175092)

有没有一个内置的函数,可以让我从那个矩形中得到东北角和西南角?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 21:56:48

因为你用的是信封,它将是一个与轴对齐的盒子。在我看来,它似乎开始枚举SE的拐角,并逆时针方向进行。所以,我们只需要抓住第一和第三点。

代码语言:javascript
复制
declare @g geometry = geometry::STGeomFromText('POLYGON ((-179.231086 51.175092, 179.859681 51.175092, 179.859681 71.441059, -179.231086 71.441059, -179.231086 51.175092))', 0);
select @g.STPointN(1) as [SW], @g.STPointN(3) as [NE]
票数 2
EN

Stack Overflow用户

发布于 2014-06-17 21:08:49

如果不存在,我在下面提供了一个代码示例,可以指出正确的方向(与我上面的评论有关),我也使用了ints而不是浮动,但这应该很容易修复:

代码语言:javascript
复制
Declare @temp table(PointNum int, FirstCoord int, SecondCoord int)

Insert Into @temp(PointNum, FirstCoord, SecondCoord)
Values(1, -179, 51)
Insert Into @temp(PointNum, FirstCoord, SecondCoord)
Values(2, 179, 51)
Insert Into @temp(PointNum, FirstCoord, SecondCoord)
Values(3, 179, 71)
Insert Into @temp(PointNum, FirstCoord, SecondCoord)
Values(4, -179, 71)

Select * From @temp

Select Top 1 PointNum as NE From @temp
Order By FirstCoord desc, SecondCoord desc

Select Top 1 PointNum as SW From @temp
Order By FirstCoord , SecondCoord

Select Top 1 PointNum as NW From @temp
Order By FirstCoord, SecondCoord desc

Select Top 1 PointNum as SE From @temp
Order By FirstCoord desc, SecondCoord
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24271559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档