2012-06-04 62 views
2

我为创建地理多边形如下中心纬度和一个地理区域多边形的经度在SQL Server

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

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

我想找到中心经/纬多边形的?这是可能的SQL Server内?

回答

4

您可以使用geography类型的EnvelopeCenter()方法。

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

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

定义多边形中心的含义是有帮助的,因为定义多边形的方式有很多种。

+0

谢谢你的回复。我从查看二维地图的角度寻找多边形的中心,然后当我在地图上绘制一个矩形区域时,我想知道这个中心点区域即它的纬度/长度坐标。 – Adam

+1

你的意思是在多边形周围绘制一个矩形,就像你将多边形的最小边界矩形的中心一样? – thyme

+0

是多边形的最小边界矩形是我正在寻找的。 – Adam

相关问题