2017-02-28 4 views
1

上記の線ストリングの開始点の周りに円を作成すると、線ストリングが与えられた場合、その円が線ストリングと交差することが予想されます。SQL Server - 地理

declare @startPoint geography = geography::Point(51.947859,3.986790,4326) 
declare @endPoint geography = geography::Point(51.956383,3.995908,4326) 
declare @g geography = geography::STGeomFromText('LINESTRING(51.947859 3.986790, 55.956383 3.995908)', 4326).MakeValid() -- The linestring 

select 
    @startPoint.STDistance(@endPoint) -- is 1136.88182010473 metres 

declare @h geography = @startPoint.STBuffer(50) -- The Circle 

select 
    @g.STIntersection(@h).STEndPoint().Long,@g.STIntersection(@h).STStartPoint().Long 

select 
    @g.STIntersects(@h) -- Why is this false(0)? 

円と線ストリングが交差しない理由を理解するためには、何か助けが必要です。ありがとう。

答えて

0

Iとして@startPointを定義:テキストであるように、

set @startPoint = geography::Point(51.947859,3.986790,4326) 

点:

select @startpoint.ToString() -- result= POINT (3.98679 51.947859) 

Iとして@startPointを定義する場合:テキストとして

set @startPoint= geography::STGeomFromText('POINT(51.947859 3.986790)',4326) 

点である。

select @startpoint.ToString() -- POINT (51.947859 3.98679) 

In言い換えれば、最初の構文は緯度と経度をとり、2番目の構文は経度、緯度をとります。 2番目の構文はを使用する構文です。 設計上または事故によって、これは開発者のためのトラップに過ぎません。

関連する問題