4

次のように作成された地理的ポリゴンがあります

DECLARE @polyString as varchar(max);
SET @polyString = 'POLYGON((' + @eastAsString + ' ' + @northAsString +',' + @westAsString + ' ' + @northAsString + ',' + @westAsString + ' '+@southAsString +','+ @eastAsString + ' ' + @southAsString +',' +@eastAsString +' ' +@northAsString +'))';

DECLARE @g geography;
SET @g = geography::STPolyFromText(@polyString, 4326)

多角形の中心の緯度/経度を知りたいですか? これはSQLサーバー内で可能ですか?

4

1 に答える 1

6

タイプのEnvelopeCenter()メソッドを使用できます。geography

DECLARE @polyString as varchar(max);
SET @polyString = 'POLYGON((' + @eastAsString + ' ' + @northAsString +',' + @westAsString + ' ' + @northAsString + ',' + @westAsString + ' '+@southAsString +','+ @eastAsString + ' ' + @southAsString +',' +@eastAsString +' ' +@northAsString +'))';

DECLARE @g geography;
SET @g = geography::STPolyFromText(@polyString, 4326)
SELECT @g.EnvelopeCenter().ToString()

多角形の中心とは、さまざまな定義方法があるため、正確に何を意味するかを定義すると役立ちます。

于 2012-06-04T04:43:38.030 に答える