Files
apt-nl-map/static/Magic4/Lu_MySQL_Driver_StationFloorIndexTable.js
2024-12-03 16:40:54 +08:00

421 lines
14 KiB
JavaScript

var LayerTableSLAMMap_Arr=new Array();
var SLAMMap_Map=new Map();
var StationFloorIndexTable_Arr=new Array();
var Node_Map=new Map();
var NodePointManagerTable_Arr=new Array();
var NodePoint_Map=new Map();
/////////////////////////////////////////////////////
function Lu_Parse_LayerTableSLAMMap(str){
var str_line_arr=str.split("\n");
for(let i=0;i<str_line_arr.length;i++){
var str_line=str_line_arr[i];
if(str_line!="")Lu_Parse_LayerTableSLAMMapLine(str_line);
}
}
function Lu_Parse_LayerTableSLAMMapLine(str){
var LayerID_str0="";
var LayerName_str1="";
var LayerColor_str2="";
var View_str3="";
var LayerType_str4="";
var LayerStringParam_str5="";
var EnableSelect_str6="";
var item_arr0=str.split(' ');
if(item_arr0.length<1)return;
LayerID_str0=item_arr0[0];
var LayerID=parseInt(LayerID_str0,10);
//console.log("LayerID:"+LayerID+"\n");
if(item_arr0.length<2)return;
LayerName_str1=item_arr0[1];
var LayerName=LayerName_str1;
//console.log("LayerName:"+LayerName+"\n");
if(item_arr0.length<3)return;
LayerColor_str2=item_arr0[2];
var LayerColor=LayerColor_str2;
//console.log("LayerColor:"+LayerColor+"\n");
if(item_arr0.length<4)return;
View_str3=item_arr0[3];
var View=parseInt(View_str3,10);
//console.log("View:"+View+"\n");
if(item_arr0.length<5)return;
LayerType_str4=item_arr0[4];
var LayerType=LayerType_str4;
//console.log("LayerType:"+LayerType+"\n");
if(item_arr0.length<6)return;
LayerStringParam_str5=item_arr0[5];
var LayerStringParam=LayerStringParam_str5;
//console.log("LayerStringParam:"+LayerStringParam+"\n");
/*
var LayerStringParam_item_arr0=LayerStringParam.split('[');
if(LayerStringParam_item_arr0.length<2)return;
var LayerStringParam_s1=LayerStringParam_item_arr0[1];
var LayerStringParam_item_arr1=LayerStringParam_s1.split(']');
if(LayerStringParam_item_arr1.length<1)return;
var LayerStringParam_s2=LayerStringParam_item_arr1[0];
var LayerStringParam_item_arr2=LayerStringParam_s2.split(':');
if(LayerStringParam_item_arr2.length<2)return;
var CommentInfo=LayerStringParam_item_arr2[1];
*/
var CommentInfo=Lu_Get_SLAMMap_CommentInfo(LayerStringParam);
//console.log("CommentInfo:"+CommentInfo);
if(item_arr0.length<7)return;
EnableSelect_str6=item_arr0[6];
var EnableSelect=parseInt(EnableSelect_str6,10);
//console.log("EnableSelect:"+EnableSelect+"\n");
if(SLAMMap_Map.has(LayerID)==false){
var SLAMMap=new Object();
SLAMMap.LayerName=LayerName;
SLAMMap.CommentInfo=CommentInfo;
SLAMMap_Map.set(LayerID,SLAMMap);
}
}
function Lu_Get_SLAMMap_CommentInfo(str){
var CommentInfo="";
var LayerStringParam_item_arr0=str.split('[');
if(LayerStringParam_item_arr0.length<2)return CommentInfo;
var LayerStringParam_s1=LayerStringParam_item_arr0[1];
var LayerStringParam_item_arr1=LayerStringParam_s1.split(']');
if(LayerStringParam_item_arr1.length<1)return CommentInfo;
var LayerStringParam_s2=LayerStringParam_item_arr1[0];
var LayerStringParam_item_arr2=LayerStringParam_s2.split(':');
if(LayerStringParam_item_arr2.length<2)return CommentInfo;
CommentInfo=LayerStringParam_item_arr2[1];
return CommentInfo;
}
/////////////////////////////////////////////////////
function Lu_Parse_StationFloorIndexTable(str){
var str_line_arr=str.split("\n");
//console.log("LEN:"+str_line_arr.length);
for (let i = 0; i < str_line_arr.length; i++) {
var str_line=str_line_arr[i];
//console.log(str_line);
if(str_line!="")Lu_Parse_StationFloorIndexTableLine(str_line);
}
//console.log("AAA");
//console.log(Node_Map);
}
function Lu_Parse_StationFloorIndexTableLine(str){
//console.log(str);
var FloorID_str0="";
var FloorIndex_str1="";
var StationID_str2="";
var NodeID_str3="";
var NodeName_str4="";
var NodePos_str5="";
var FloorStringParam1_str6="";
var item_arr0=str.split(' ');
if(item_arr0.length<1)return;
FloorID_str0=item_arr0[0];
var FloorID=parseInt(FloorID_str0,10);
//console.log("FloorID_str0:"+FloorID_str0+"\n");
if(item_arr0.length<2)return;
FloorIndex_str1=item_arr0[1];
var FloorIndex=parseInt(FloorIndex_str1,10);
//console.log("FloorIndex_str1:"+FloorIndex_str1+"\n");
if(item_arr0.length<3)return;
StationID_str2=item_arr0[2];
var StationID=parseInt(StationID_str2,10);
//console.log("StationID_str2:"+StationID_str2+"\n");
if(item_arr0.length<4)return;
NodeID_str3=item_arr0[3];
var NodeID=parseInt(NodeID_str3,10);
//console.log("NodeID_str3:"+NodeID_str3+"\n");
if(item_arr0.length<5)return;
NodeName_str4=item_arr0[4];
//console.log("NodeName_str4:"+NodeName_str4+"\n");
var item_arr1=str.split('<');
if(item_arr1.length<2)return;
var tmp_str1=item_arr1[1];
var tmp_str2=tmp_str1.split('>');
NodePos_str5=tmp_str2[0];
//console.log("NodePos_str5:"+NodePos_str5+"\n");
var NodePos=Lu_Parse_NodePos(NodePos_str5);
//console.log("NodePos:"+NodePos.x+" "+NodePos.y+"\n");
if(item_arr1.length<3)return;
tmp_str1=item_arr1[2];
tmp_str2=tmp_str1.split('>');
FloorStringParam1_str6=tmp_str2[0];
//console.log("FloorStringParam1_str6:"+FloorStringParam1_str6+"\n");
//var FloorOperationInfo=Lu_Parse_FloorStringParam1(FloorStringParam1_str6);
var FloorOperationInfo=Lu_Parse_NodeAltitudes(FloorStringParam1_str6);
//console.log(FloorOperationInfo);
var FloorInfo=new Object();
FloorInfo.FloorID=FloorID;
FloorInfo.FloorIndex=FloorIndex;
FloorInfo.StationID=StationID;
FloorInfo.NodeID=NodeID;
FloorInfo.NodeName_str4=NodeName_str4;
FloorInfo.NodePos=NodePos;
FloorInfo.FloorOperationInfo=FloorOperationInfo;
//console.log(FloorInfo);
if(! Node_Map.has(NodeID)){
var Node_Info=new Object();
Node_Info.NodeName=NodeName_str4;
Node_Info.NodePos=NodePos;
Node_Info.FloorOperationInfo=FloorOperationInfo;
Node_Info.FloorOperationInfos=new Map();
Node_Map.set(NodeID,Node_Info);
Node_Map.get(NodeID).FloorOperationInfos.set(FloorIndex_str1,FloorOperationInfo);
}else{
Node_Map.get(NodeID).FloorOperationInfos.set(FloorIndex_str1,FloorOperationInfo);
}
}
function Lu_Parse_NodePos(str){
var item_arr=str.split(' ');
if(item_arr.length<2)return;
var x=parseFloat(item_arr[0]);
var y=parseFloat(item_arr[1]);
var NodePos=new Object();
NodePos.x=x;
NodePos.y=y;
return NodePos;
}
function Lu_Parse_FloorStringParam1(str){
var item_arr0=str.split(':');
if(item_arr0.length<2)return;
var str_arr0_s0=item_arr0[0];
var str_arr0_s1=item_arr0[1];
var item_arr1=str_arr0_s0.split('|');
if(item_arr1.length<2)return;
var str_arr1_s0=item_arr1[1];
var FloorIndex=parseInt(str_arr1_s0,10);
//console.log(str_arr1_s0);//FloorIndex
var item_arr2=str_arr0_s1.split('(');
if(item_arr2.length<2)return;
var str_arr2_s0=item_arr2[1];
var item_arr3=str_arr2_s0.split(')');
if(item_arr3.length<2)return;
var str_arr3_s0=item_arr3[0];
var str_arr3_s1=item_arr3[1];
//console.log(str_arr3_s0);//FloorName
var item_arr4=str_arr3_s1.split('@');
if(item_arr4.length<2)return;
var str_arr4_s0=item_arr4[0];
var str_arr4_s1=item_arr4[1];
//console.log(str_arr4_s0);//OperationCode Num
var Num=parseInt(str_arr4_s0,10);
//console.log("OperationCode Num:"+Num);//OperationCode Num
var item_arr5=str_arr4_s1.split('[');
if(item_arr5.length<1)return;
//console.log("item_arr5.length:"+item_arr5.length);
var Operation_Param_List=new Array();
for(let i=0;i<item_arr5.length;i++){
var str_arr5_s0=item_arr5[i];
var item_arr6=str_arr5_s0.split(']');
if(item_arr6.length<2)continue;
var str_arr6_s0=item_arr6[0];
//console.log(str_arr6_s0);
var Operation_Param=Lu_Parse_Single_Operation_Param(str_arr6_s0);
//console.log(Operation_Param);
Operation_Param_List.push(Operation_Param);
}
var FloorOperationInfo=new Object();
FloorOperationInfo.Index=FloorIndex;
FloorOperationInfo.Name=str_arr3_s0;
FloorOperationInfo.Operation_Param_List=Operation_Param_List;
return FloorOperationInfo;
}
function Lu_Parse_NodeAltitudes(str){
var item_arr1=str.split('[');
if(item_arr1.length<1)return;
//console.log("item_arr1.length:"+item_arr1.length);
var Operation_Param_List=new Array();
for(let i=0;i<item_arr1.length;i++){
var str_arr5_s0=item_arr1[i];
var item_arr6=str_arr5_s0.split(']');
if(item_arr6.length<2)continue;
var str_arr6_s0=item_arr6[0];
//console.log(str_arr6_s0);
var Operation_Param=Lu_Parse_Single_Operation_Param(str_arr6_s0);
//console.log("Operation_Param",Operation_Param);
Operation_Param_List.push(Operation_Param);
}
var FloorOperationInfo=new Object();
// FloorOperationInfo.Index=FloorIndex;
// FloorOperationInfo.Name=str_arr3_s0;
FloorOperationInfo.Operation_Param_List=Operation_Param_List;
return FloorOperationInfo;
}
function Lu_Parse_Single_Operation_Param(str){
var item_arr0=str.split('#');
if(item_arr0.length<2)return;
var str_arr0_s0=item_arr0[0];
var str_arr0_s1=item_arr0[1];
//console.log("Operation Name:"+str_arr0_s0);//Operation Name
var item_arr1=str_arr0_s1.split('$');
if(item_arr1.length<2)return;
var str_arr1_s0=item_arr1[0];
var str_arr1_s1=item_arr1[1];
//console.log("Operation Code:"+str_arr1_s0);//Operation Code
var Operation_Code=parseInt(str_arr1_s0,10);
var item_arr2=str_arr1_s1.split('%');
if(item_arr2.length<2)return;
var str_arr2_s0=item_arr2[0];
var str_arr2_s1=item_arr2[1];
//console.log("Operation Param Type:"+str_arr2_s0);//Operation Param Type
var item_arr3=str_arr2_s1.split('&');
if(item_arr3.length<2)return;
var str_arr3_s0=item_arr3[0];
var str_arr3_s1=item_arr3[1];
//console.log("Operation Param Format:"+str_arr3_s0);//Operation Param Format
//console.log("Operation Param Raw:"+str_arr3_s1);//Operation Param Raw
var Operation_Param_Raw=parseInt(str_arr3_s1, 16);
//console.log(Operation_Param_Raw);
var Operation_Param=new Object();
Operation_Param.Name=str_arr0_s0;
Operation_Param.Code=Operation_Code;
Operation_Param.Type=str_arr2_s0;
Operation_Param.Format=str_arr3_s0;
Operation_Param.Raw=Operation_Param_Raw;
return Operation_Param;
}
///////////////////////////////////////////////
function Lu_Parse_NodePointManagerTable(str){
var str_line_arr=str.split("\n");
for(let i=0;i<str_line_arr.length;i++){
var str_line=str_line_arr[i];
if(str_line!="")Lu_Parse_NodePointManagerTableLine(str_line);
}
}
function Lu_Parse_NodePointManagerTableLine(str){
var NodeKeyID_str0="";
var NodeID_str1="";
var Select_str2="";
var Node_x_str3="";
var Node_y_str4="";
var Node_thetax_str5="";
var Node_z_str6="";
var NodeParallelLift_str7="";
var NodeFrontLift_str8="";
var PrePathNode_str9="";
var NodeType_str10="";
var NPMStringParam1_str11="";
var NPMStringParam2_str12="";
var item_arr0=str.split(' ');
if(item_arr0.length<1)return;
NodeKeyID_str0=item_arr0[0];
var NodeKeyID=parseInt(NodeKeyID_str0,10);
if(item_arr0.length<2)return;
NodeID_str1=item_arr0[1];
var NodeID=parseInt(NodeID_str1,10);
if(item_arr0.length<3)return;
Select_str2=item_arr0[2];
var Select=parseInt(Select_str2,10);
if(item_arr0.length<4)return;
Node_x_str3=item_arr0[3];
var Node_x=parseFloat(Node_x_str3);
if(item_arr0.length<5)return;
Node_y_str4=item_arr0[4];
var Node_y=parseFloat(Node_y_str4);
if(item_arr0.length<6)return;
Node_thetax_str5=item_arr0[5];
var Node_thetax=parseFloat(Node_thetax_str5);
if(item_arr0.length<7)return;
Node_z_str6=item_arr0[6];
var Node_z=parseFloat(Node_z_str6);
if(item_arr0.length<8)return;
NodeParallelLift_str7=item_arr0[7];
var NodeParallelLift=parseFloat(NodeParallelLift_str7);
if(item_arr0.length<9)return;
NodeFrontLift_str8=item_arr0[8];
var NodeFrontLift=parseFloat(NodeFrontLift_str8);
if(item_arr0.length<10)return;
PrePathNode_str9=item_arr0[9];
var PrePathNode=parseInt(PrePathNode_str9,10);
if(item_arr0.length<11)return;
NodeType_str10=item_arr0[10];
var NodeType=NodeType_str10;
var item_arr1=str.split('<');
if(item_arr1.length<2)return;
var tmp_str1=item_arr1[1];
var tmp_str2=tmp_str1.split('>');
NPMStringParam1_str11=tmp_str2[0];
var NPMStringParam1=NPMStringParam1_str11;
if(item_arr1.length<3)return;
tmp_str1=item_arr1[2];
tmp_str2=tmp_str1.split('>');
NPMStringParam2_str12=tmp_str2[0];
var NPMStringParam2=NPMStringParam2_str12;
var NodePointInfo=new Object();
NodePointInfo.NodeKeyID=NodeKeyID;
NodePointInfo.NodeID=NodeID;
NodePointInfo.NodeName="";
NodePointInfo.Select=Select;
NodePointInfo.Node_x=Node_x;
NodePointInfo.Node_y=Node_y;
NodePointInfo.Node_thetax=Node_thetax;
NodePointInfo.Node_z=Node_z;
NodePointInfo.NodeParallelLift=NodeParallelLift;
NodePointInfo.NodeFrontLift=NodeFrontLift;
NodePointInfo.PrePathNode=PrePathNode;
NodePointInfo.NodeType=NodeType;
NodePointInfo.NPMStringParam1=NPMStringParam1;
NodePointInfo.NPMStringParam2=NPMStringParam2;
if(NodePoint_Map.has(NodePointInfo)==false){
NodePoint_Map.set(NodeID,NodePointInfo);
}
}
function Lu_Create_NodePoint_Map_With_Name(){
NodePoint_Map.forEach(function(value, key, map){
if(Node_Map.has(key)){
NodePoint_Map.get(key).NodeName=Node_Map.get(key).NodeName;
}
});
}