2013-07-10 72 views
0

這個幾何點如何與多邊形不相交?我知道這個點存在於給定的多邊形中。任何它返回0的原因?這個幾何點如何與多邊形不相交?

DECLARE @point geometry 
DECLARE @poly geometry 

SET @point = geometry::STGeomFromText('POINT (-79.393967 43.640056)', 4326) 

DECLARE @minY varchar(20) = N'-79.37776573850101' 
DECLARE @maxY varchar(20) = N'-79.41055306149906' 
DECLARE @minX varchar(20) = N'43.63590433545648' 
DECLARE @maxX varchar(20) = N'43.64460037532088' 

DECLARE @boundingRect varchar(250) 
SET @boundingRect = 'POLYGON((' + @minX + ' ' + @minY + ', ' + 
                @maxX + ' ' + @minY + ', ' + 
                @maxX + ' ' + @maxY + ', ' + 
                @minX + ' ' + @maxY + ', ' + 
                @minX + ' ' + @minY + '))' 

SET @poly = geometry::STGeomFromText(@boundingRect, 4326) 

SELECT @point.STIntersects(@poly) 
+0

你有沒有嘗試相交多邊形,其位於的一個點邊緣? Iam對結果感興趣。 – gartenabfall

回答

2

我不熟悉SQL符號,所以我可能是大錯特錯,但我看你的X值似乎與緯度43N相關,與Y經度79W。但是,您的POINT條目可能會顛倒?

0

只是一個想法:一個點何時與一個多邊形相交?如果它位於多邊形的內部?不。只有它直接位於多邊形的一條邊上,對嗎?
試試這個:將一個點與多邊形相交,該多邊形直接位於多邊形的一個邊上。如果它返回其他0然後你有你的答案。

0

點應該聲明爲:

SET @point = geometry::STGeomFromText('POINT (43.640056 -79.393967)', 4326) 

然後相交顯示你期待的結果:1

相關問題