我是新来的映射世界,我试图将SQL Server地理线列转换回它的纬度\经度点以在地图上绘制。如何从SQL Server 2008地理线获取纬度经度?
线被设定这样
Set @GeoPoly = geography::STGeomFromText('LINESTRING('[email protected]+')',4326)
任何人都知道如何做到这一点?在此先感谢
我是新来的映射世界,我试图将SQL Server地理线列转换回它的纬度\经度点以在地图上绘制。如何从SQL Server 2008地理线获取纬度经度?
线被设定这样
Set @GeoPoly = geography::STGeomFromText('LINESTRING('[email protected]+')',4326)
任何人都知道如何做到这一点?在此先感谢
我有这个运气:
DECLARE @g geography;
SET @g = geography::STLineFromText(
'LINESTRING(-122.360 47.656, -122.343 47.656)'
, 4326
);
SELECT @g.STPointN(1).ToString(), @g.STPointN(2).ToString();
贵线段形式只包含一个直线段连接两个点的?如果是这样,你可以检索那些点的纬度和经度:
SELECT
@GeoPoly.STStartPoint.Lat AS Start_Lat,
@GeoPoly.STStartPoint.Long AS Start_Long,
@GeoPoly.STEndPoint.Lat AS End_Lat,
@GeoPoly.STEndPoint.Long AS End_Long;
如果线段形式由连接一系列的点,然后你可以检索使用ToString著名的文本表示多个线段()方法,然后解析得到的字符串转换成坐标上逗号通过拆分对:
SELECT @GeoPoly.ToString()
其结果将是以下格式:LINESTRING(Lon1 LAT1,Lon2,LAT2,...,Lonn,LATN)