gpt4 book ai didi

sql-server - 使用 STIntersect 与几何多边形相交后查找几何线的长度

转载 作者:行者123 更新时间:2023-12-01 12:48:09 25 4
gpt4 key购买 nike

SQL SERVER 2012

我需要在使用 STIntersect 后找到一条线的几何长度使线与多边形几何相交。
例如,我有一条长 7731 米的线,但是我 STIntersect它针对一组多边形,我需要找到每个多边形中线的长度。

输出表看起来像
ReferenceID    PolygonID   LineID   Length
12324 3234 24661 1635
12325 3233 24652 663
12326 3236 24653 256
12327 3365 24634 165

当前使用此但无法返回几何或长度
insert [VMS_OBS_LINES_INTERSECT] (CA_Reference_Key, STAT_AREA,WATERS,GNMFSAREA, Grid_ID, Length)select l.CA_Reference_Key,g.stat_area,g.waters, g.GNMFSAREA , g.Grid_ID, g.shape.STIntersection(l.shape).STLength()
FROM GRID_AREA_SQL g, VMS_OBS_COMBINE_LINES_AI l
WHERE g.shape.STIntersects(l.shape) = 1;

最佳答案

declare @g geometry, @l geometry;

select @g = geometry::STGeomFromText('POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))', 0), --10x10 box
@l = geometry::STGeomFromText('LINESTRING( -10 -10 , 20 20 )', 0); --a line that will go through the corners of the box

select @g.STIntersection(@l).STLength();

关于sql-server - 使用 STIntersect 与几何多边形相交后查找几何线的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14098356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com