三維地下管線資料套疊
三維地下管線資料套疊
三維地下管線資料處理服務,提供使用者解析與套疊向量磚形式的WMTS服務,藉由GML資料的解譯,除套疊資料外,亦可進行點擊查詢、剖面圖繪製、環域查詢等功能。
var VectorTube = null; //建立空管線向量圖層物件
function onTiledFeatureClick(){ //讀入管線向量WMTS服務資料
VectorTube = newTGOS.TEVectorTube('http://sgs.supergeo.com.tw/KH_Pipeline/simpleWMTS.aspx'
,tg3dEarth,{
layer:'LPElectronicPipe'
},VectorTubeLoadFinish);
tg3dEarth.setTileAlpha(0.5);
}
var parser = new DOMParser();
functionVectorTubeLoadFinish(array){
for(var i = 0 ; i < array.length;i++){
var fobj = array[i];
var infoXmlString =fobj.getFeatureInfo(); //取得GML裡面的資料
infoXmlString = infoXmlString.replace(/:/gi, ""); //自行解譯資訊
var xmlDoc = parser.parseFromString(infoXmlString,"text/xml");
var fchildNodes = xmlDoc.childNodes[0];
for(var i1 = 0 ; i1 < fchildNodes.childNodes.length; i1++){
var fieldNode = fchildNodes.childNodes[i1];
if(fieldNode.attributes.length > 0){
var fieldName = fieldNode.attributes[0].nodeValue;
var fieldvalue = fieldNode.textContent;
if(fieldName =='WIDTH'){ //取得管線管徑
fobj.setWidth(6); //設定管線管徑顯示比例
}else if(fieldName == 'TYPE'){ //取得管線類型屬性
fobj.setColor({ //設定顯示顏色
a:255,
r:123,
g:0,
b:56
});
}else if(fieldName == 'DEPTH'){ //取得管線深度屬性
fobj.setDefaultElevation(-50); //管線整體高度放大
}
}
}
}
}
function addEventVectorTube(){ //設定點擊事件
if(VectorTube){
earthClickListener = TGOS.TEEvent.addListener(VectorTube,"click", function (tEvent) {
var infoXmlString = tEvent.feature.getFeatureInfo();
alert(infoXmlString);
});
}
}
function cutaway(){ //設定剖面方法
var spt = newTGOS.TEPoint(120.338631435704,22.5842696585303);
var ept = newTGOS.TEPoint(120.350352900966,22.5951540139605);
VectorTube.getCutawayData(spt,ept,function(data){
alert(data);
console.log(data);
});
}