路徑規劃

路徑規劃

路徑規劃採用服務方式提供。

服務網址:http://gis.tgos.tw/TGRoute/TGRoute.aspx,查詢傳送之參數說明如下:

waypoints:使用WKT格式,以多點方式設定,起點為第一點,終點為最後一點,中間其他的點為經過點,輸入坐標系統採用TWD97中央經線121

barrier:禁行通過點,使用WKT格式,可以多點方式設定。

format:輸出格式,設為xml時輸出為xml格式,設為json時輸出為json格式,其他值則輸出jsonp格式,提供javascript介接用。

avoidhighway:是否避開高速公路;設為true時會避開高速公路,false值則不會避開高速公路。

使用範例說明如下:

範例1

規劃條件:

起始點:(303612.53700486914 2768690.081656828)

中間經過點:(296047.3820081763 2768915.1148647685)

終點:(259040.16721320243 2736741.6441568285)

無障礙點

允許經過高速公路

輸出為json格式

服務網址字串:

http://gis.tgos.tw/TGRoute/TGRoute.aspx?wayPoints=MULTIPOINT((303612.53700486914 2768690.081656828),(296047.3820081763 2768915.1148647685),(259040.16721320243 2736741.6441568285))&format=json

範例2

規劃條件:

起始點:(281552.7972359278 2764658.371687314)

無中間經過點

終點:(280018.21390259446 2758017.3300206475)

障礙點:(303790.82192766626 2770233.605434166)

避開高速公路

輸出為xml格式

服務網址字串:

http://gis.tgos.tw/TGRoute/TGRoute.aspx?waypoints=MULTIPOINT((281552.7972359278 2764658.371687314),(280018.21390259446 2758017.3300206475))&barrier=MULTIPOINT((303790.82192766626 2770233.605434166))&avoidhighway=true&format=xml

附註:

傳回的結果座標都是經緯度的格式,經緯度的部分有經過編碼壓縮,以下為javascript語言撰寫的解碼函式,參數"precision"需設為6

var decompress = function(encoded, precision) {

precision = Math.pow(10, -precision);

var len = encoded.length, index = 0, lat = 0, lng = 0, array = [];

while (index < len) {

var b, shift = 0, result = 0;

do {

b = encoded.charCodeAt(index++) - 63;

result |= (b & 0x1f) << shift;

shift += 5;

}

while (b >= 0x20);

var dlat = ((result & 1) ? ~(result >> 1) : (result >> 1));

lat += dlat;

shift = 0;

result = 0;

do {

b = encoded.charCodeAt(index++) - 63;

result |= (b & 0x1f) << shift;

shift += 5;

}

while (b >= 0x20);

var dlng = ((result & 1) ? ~(result >> 1) : (result >> 1));

lng += dlng;

array.push(lat * precision);

array.push(lng * precision);

}

return array;

}

回到上方