2012-06-13 85 views
1

我想根據線與多邊形的中點交點的結果設置一列。我知道我可以調用線中點的東西,如幾何線與多邊形的交點返回null

X_Coord = SHAPE.STPointN(SHAPE.STNumPoints()/2).STX , 
    Y_Coord = SHAPE.STPointN(SHAPE.STNumPoints()/2).STY 

但如何傳遞到

update GRSM_ROADS 
set QuadName = USGS_24K_TOPOMAP_BOUNDARIES.NAME 
from GRSM_ROADS 
inner join USGS_24K_TOPOMAP_BOUNDARIES 
on dbo.GRSM_ROADS.Location_ID = GRSM_ROADS.Location_ID 
where (USGS_24K_TOPOMAP_BOUNDARIES.SHAPE.STIntersects(dbo.GRSM_ROADS.shape) = 1); 

是一個謎。我試過stcontains和stintersects,它運行,但輸出爲空,表明我沒有正確確定線中點何時或在哪裏與多邊形相交。

SQL 2008 R2

回答

1
where (USGS_24K_TOPOMAP_BOUNDARIES.SHAPE.STIntersection(dbo.GRSM_ROADS.shape).STDimension() = 1); 

Stdimension解決它!