Sql server 获取多边形与多段线相交的精确点

Sql server 获取多边形与多段线相交的精确点,sql-server,Sql Server,我想问您一些关于SQL Server上的交集的问题。 我正在运行一个使用gmap的项目。我有一个多边形,其中一些多段线正在穿过,而一些没有穿过。为了得到多边形中多段线的精确部分,我使用了STIntersection。 下面是我用来实现这一点的t-sql 现在的问题是,我想找到每个多段线通过传递接触多边形的确切点。关于这一点,你有什么解决办法吗 DECLARE @polygon geography; DECLARE @polyline geography; SET @g = (select P

我想问您一些关于SQL Server上的交集的问题。 我正在运行一个使用gmap的项目。我有一个多边形,其中一些多段线正在穿过,而一些没有穿过。为了得到多边形中多段线的精确部分,我使用了STIntersection。 下面是我用来实现这一点的t-sql

现在的问题是,我想找到每个多段线通过传递接触多边形的确切点。关于这一点,你有什么解决办法吗

DECLARE @polygon geography;

DECLARE @polyline geography;

SET @g = (select Polygon from Polygons where id = @polygonID)

SET @h = (select GeogPolyline from Polylines where ID = @polylineId)
SET     @intersectedpart = (SELECT @g.STIntersection(@h).STAsText() )

我通过以下方式设法解决此问题:

SET @result = (SELECT @g.STIntersection(@h).STStartPoint())

使用此选项可以获得多段线和多边形之间的第一个交点

多段线可以在多个点与多边形相交。您是否有确定最佳交点或任意交点的标准?谢谢tgolisch的提问。我只希望在多段线进入多边形时捕捉点。当多段线脱离多边形时,不是点。如果您对您的问题有答案(通过编辑,看起来您确实有答案),请将其作为答案发布。这样,您可以将其标记为已接受(在强制延迟之后,IIRC),然后我们知道您不再需要此问题的帮助。