自动化立体仓库 - WCS系统
#
whycq
2024-11-18 231ed95f168e6128e30111b1a0f2305ab86b9017
#
1个文件已添加
3个文件已修改
1046 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/RgvController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 329 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/index.html 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/testPosition.js 578 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -352,7 +352,8 @@
            ringThroughParam.setIndex(rgv.getId());
//            ringThroughParam.setIndex(i);
//            double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183));
            double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
//            double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
            double[] doubles = Utils.getRgvPos(perimeter, rgvProtocol.RgvPos.doubleValue());
//            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
            ringThroughParam.setValueX(doubles[0]-2.94);
@@ -366,6 +367,7 @@
    @PostMapping("/ring/through/dev/position/data")
//    @ManagerAuth(memo = "站点信息")
    //  站点位置信息
    public R ringThroughDev(){
        List<RingThroughParam> result = new ArrayList<>();
        List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>());
src/main/java/com/zy/asrs/utils/Utils.java
@@ -131,5 +131,334 @@
        return new double[]{x, y};
    }
    public static double[] getRgvPos(double a,double b) {
        // a 是总长度
        // b 是当前位置
        // 计算点的坐标
        double x = 0;
        double y = 0;
        if (b > 217480 && b <= 217980) {   // 133 站点 217730
            x = 110;
            y = 878;
        } else if (b > 217980 && b <= 257168) {
            x = 138;
            y = 878;
        } else if (b > 257168 && b <= 257668) {  // 132 站点 257418
            x = 165;
            y = 878;
        } else if (b > 257668 && b <= 276817) {
            x = 193;
            y = 878;
        } else if (b > 276817 && b <= 277317) {  // 131 站点 277067
            x = 220;
            y = 878;
        } else if (b > 277317 && b <= 306570) {
            x = 248;
            y = 878;
        } else if (b > 306570 && b <= 307070) {  // 130 站点 306820
            x = 275;
            y = 878;
        } else if (b > 307070 && b <= 336388) {
            x = 303;
            y = 878;
        } else if (b > 336388 && b <= 336888) {  // 129 站点 336638
            x = 330;
            y = 878;
        } else if (b > 336888 && b <= 366061) {
            x = 358;
            y = 878;
        } else if (b > 366061 && b <= 366561) {  // 128 站点 366311
            x = 385;
            y = 878;
        } else if (b > 366561 && b <= 380856) {
            x = 413;
            y = 878;
        } else if (b > 380856 && b <= 381356) {  // 127 站点 381106
            x = 440;
            y = 878;
        } else if (b > 381356 && b <= 396018) {
            x = 468;
            y = 878;
        } else if (b > 396018 && b <= 396518) {  // 126 站点 396268
            x = 495;
            y = 878;
        } else if (b > 396518 && b <= 425518) {
            x = 523;
            y = 878;
        } else if (b > 425518 && b <= 426018) {  // 125 站点 425768
            x = 550;
            y = 878;
        } else if (b > 426018 && b <= 455264) {
            x = 578;
            y = 878;
        } else if (b > 455264 && b <= 455764) {  // 124 站点 455514
            x = 605;
            y = 878;
        } else if (b > 455764 && b <= 470117) {
            x = 633;
            y = 878;
        } else if (b > 470117 && b <= 470617) {  // 123 站点 470367
            x = 660;
            y = 878;
        } else if (b > 470617 && b <= 484977) {
            x = 688;
            y = 878;
        } else if (b > 484977 && b <= 485477) { // 122 站点 485227
            x = 715;
            y = 878;
        } else if (b > 485477 && b <= 514662) {
            x = 743;
            y = 878;
        } else if (b > 514662 && b <= 515162) { // 121 站点 514912
            x = 770;
            y = 878;
        } else if (b > 515162 && b <= 544432) {
            x = 798;
            y = 878;
        } else if (b > 544432 && b <= 544932) { // 120 站点 544682
            x = 825;
            y = 878;
        } else if (b > 544932 && b <= 559284) {
            x = 853;
            y = 878;
        } else if (b > 559284 && b <= 559784) { // 119 站点 559534
            x = 880;
            y = 878;
        } else if (b > 559784 && b <= 574073) {
            x = 908;
            y = 878;
        } else if (b > 574073 && b <= 574573) { // 118 站点 574323
            x = 935;
            y = 878;
        } else if (b > 574573 && b <= 603793) {
            x = 963;
            y = 878;
        } else if (b > 603793 && b <= 604293) { // 117 站点 604043
            x = 990;
            y = 878;
        } else if (b > 604293 && b <= 633730) {
            x = 1018;
            y = 878;
        } else if (b > 633730 && b <= 634230) { // 116 站点 633980
            x = 1045;
            y = 878;
        } else if (b > 634230 && b <= 634730) {
            x = 1073;
            y = 878;
        } else if (b > 634730 && b <= 679853) {
            x = 1073;
            y = 878;
        } else if (b > 679853 && b <= 680353) {   // 116 拐点 680103
            x = 1115;
            y = 878;
        } else if (b > 680353 && b <= 731300) {
            x = 1215;
            y = 565;
        } else if (b > 731300 && b <= 746783) {  // 115 拐点 731550
            x = 1215;
            y = 775;
        } else if (b > 746783 && b <= 762266) {
            x = 1215;
            y = 680;
        } else if (b > 762266 && b <= 777750) {
            x = 1215;
            y = 610;
        } else if (b > 777750 && b <= 779750) {
            x = 1215;
            y = 565;
        } else if (b > 779750 && b <= 780250) { // 115 站点 780000
            x = 1215;
            y = 520;
        } else if (b > 780250 && b <= 799750) {
            x = 1215;
            y = 475;
        } else if (b > 799750 && b <= 800250) { // 114 站点 800000
            x = 1215;
            y = 430;
        } else if (b > 800250 && b <= 864750) {
            x = 1215;
            y = 385;
        } else if (b > 864750 && b <= 865250) { // 113 站点 865000
            x = 1215;
            y = 340;
        } else if (b > 856250 && b <= 890750) {
            x = 1215;
            y = 295;
        } else if (b > 890750 && b <= 891250) { // 112 站点 891000
            x = 1215;
            y = 250;
        } else if (b > 891250 && b <= 972450) {
            x = 1215;
            y = 205;
        } else if (b > 972450 && b <= 972950) {
            x = 1215;
            y = 125;
        } else if (b > 972950 && b <= 1016193) {  // 顶点
            x = 1164;
            y = 80;
        } else if (b > 1016193 && b <= 1063563) {
            x = 1115;
            y = 125;
        } else if (b > 1063563 && b <= 1064063) { // 111 站点 1063813
            x = 1115;
            y = 150;
        } else if (b > 1064063 && b <= 1077711) {
            x = 1115;
            y = 175;
        } else if (b > 1077711 && b <= 1078211) { // 110 站点 1077961
            x = 1115;
            y = 200;
        } else if (b > 1078211 && b <= 1104788) {
            x = 1115;
            y = 225;
        } else if (b > 1104788 && b <= 1105288) { // 109 站点 1105038
            x = 1115;
            y = 250;
        } else if (b > 1105288 && b <= 1119213) {
            x = 1115;
            y = 275;
        } else if (b > 1119213 && b <= 1119713) { // 108 站点 1119463
            x = 1115;
            y = 300;
        } else if (b > 1119713 && b <= 1145902) {
            x = 1115;
            y = 325;
        } else if (b > 1145902 && b <= 1146402) { // 107 站点 1146152
            x = 1115;
            y = 350;
        } else if (b > 1146402 && b <= 1160380) {
            x = 1115;
            y = 375;
        } else if (b > 1160380 && b <= 1160880) { // 106 站点 1160630
            x = 1115;
            y = 400;
        } else if (b > 1160880 && b <= 1187314) {
            x = 1115;
            y = 425;
        } else if (b > 1187314 && b <= 1187814) { // 105 站点 1187564
            x = 1115;
            y = 450;
        } else if (b > 1187814 && b <= 1201849) {
            x = 1115;
            y = 475;
        } else if (b > 1201849 && b <= 1202349) { // 104 站点 1202099
            x = 1115;
            y = 500;
        } else if (b > 1202349 && b <= 1228831) {
            x = 1115;
            y = 525;
        } else if (b > 1228831 && b <= 1229331) { // 103 站点 1229081
            x = 1115;
            y = 550;
        } else if (b > 1229331 && b <= 1243204) {
            x = 1115;
            y = 575;
        } else if (b > 1243204 && b <= 1243704) { // 102 站点 1243454
            x = 1115;
            y = 600;
        } else if (b > 1243704 && b <= 1269708) {
            x = 1115;
            y = 625;
        } else if (b > 1269708 && b <= 1284750) { // 101 站点 1269958
            x = 1115;
            y = 650;
        } else if (b > 1284750 && b <= 1285250) { // 101 拐点
            x = 1115;
            y = 720;
        } else if (b > 1285250 && b <= 1322829) { // 101 拐点
            x = 1100;
            y = 750;
        } else if (b > 1322829 && b <= 1323329) {
            x = 1075;
            y = 775;
        } else if (b > 1323329 && b <= 1371551) {
            x = 1025;
            y = 775;
        } else if (b > 1371551 && b <= 1372051) {
            x = 975;
            y = 775;
        } else if (b > 1372051 && b <= 1420273) {
            x = 925;
            y = 775;
        } else if (b > 1420273 && b <= 1420773) {
            x = 875;
            y = 775;
        } else if (b > 1420773 && b <= 1468995) {
            x = 825;
            y = 775;
        } else if (b > 1468995 && b <= 1469495) {
            x = 775;
            y = 650;
        } else if (b > 1469495 && b <= 1517717) {
            x = 725;
            y = 650;
        } else if (b > 1517717 && b <= 1518217) {
            x = 675;
            y = 775;
        } else if (b > 1566439 && b <= 1566939) {
            x = 575;
            y = 775;
        } else if (b > 1566939 && b <= 1614661) {
            x = 525;
            y = 775;
        } else if (b > 1614661 && b <= 1615161) {
            x = 475;
            y = 775;
        } else if (b > 1615161 && b <= 1662883) {
            x = 425;
            y = 775;
        } else if (b > 1662883 && b <= 1663383) {
            x = 375;
            y = 775;
        } else if (b > 1663383 && b <= 1711105) {
            x = 325;
            y = 775;
        } else if (b > 1711105 && b <= 1711605) {
            x = 275;
            y = 775;
        } else if (b > 1711605 && b <= 1736500) {
            x = 225;
            y = 775;
        } else if (b > 1736500 && b <= 1737000) {
            x = 175;
            y = 775;
        } else if (b > 0 && b <= 47822) {
            x = 125;
            y = 775;
        } else if (b > 47822 && b <= 73050) {
            x = 75;
            y = 775;
        } else if (b > 73050 && b <= 73550) {
            x = 65;
            y = 775;
        } else if (b > 134400 && b <= 134900) {
            x = 25;
            y = 830;
        } else if (b > 134900 && b <= 196000) {
            x = 65;
            y = 878;
        } else if (b > 196000 && b <= 217480) {
            x = 83;
            y = 878;
        }
        return new double[]{x, y};
    }
}
src/main/webapp/views/index.html
@@ -10,6 +10,7 @@
    <script type="text/javascript" src="../static/js/common.js"></script>
    <script type="text/javascript" src="../static/js/vue.min.js"></script>
    <script type="text/javascript" src="../static/js/element.js"></script>
    <script type="text/javascript" src="testPosition.js"></script>
    <style>
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
@@ -33,7 +34,7 @@
        }
        .map {
            position: relative;
            width: 80vh;
            width: 52vw;
            height: 80vh;
            border-radius: 50%;
            display: flex;
@@ -70,7 +71,7 @@
        }
        .bus {
            background-color: #2196F3;
            border: 20px solid #ffffff;
            border: 10px solid #ffffff;
            position: absolute;
            width: 24px;
            height: 24px;
@@ -133,6 +134,46 @@
        .el-table .success-row {
            background: #f0f9eb;
        }
        .container {
            width: 100vh;
            height: 72vh;
            position: absolute;
            /*background: #8c939d;*/
        }
        .bus-station {
            width: 100vh;
            height: 72vh;
            position: absolute;
            display: flex;
            /*background: #8c939d;*/
        }
        .bus-item-top {
            background: red;
            position: relative;
            width: 40px;
            height: 60px;
            line-height: 60px;
            top: 880px;
            text-align: center;
        }
        .bus-item-left {
            background: red;
            position: relative;
            width: 60px;
            height: 40px;
            line-height: 40px;
            left: 1230px;
            text-align: center;
        }
        .bus-item-left2 {
            background: red;
            position: relative;
            width: 60px;
            height: 40px;
            line-height: 40px;
            left: 1000px;
            text-align: center;
        }
    </style>
</head>
<body>
@@ -143,11 +184,46 @@
        <div  class="map">
            <!--        <div class="inner-ring"></div>-->
            <!--        <div class="outer-ring"></div>-->
            <div v-for="track in energyGatheringRing" class="inner-ring" :style="{  borderColor: track.trackColor , boxShadow :  'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
            <div v-for="track in energyGatheringRing" class="outer-ring" :style="{  borderColor: track.trackColor , boxShadow :  'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
<!--            <div v-for="track in energyGatheringRing" class="inner-ring" :style="{  borderColor: track.trackColor , boxShadow :  'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>-->
<!--            <div v-for="track in energyGatheringRing" class="outer-ring" :style="{  borderColor: track.trackColor , boxShadow :  'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>-->
            <svg class="container">
<!--                <path d="M 100,250-->
<!--                        L 100,800-->
<!--                        C 100,800 100,850 150,850-->
<!--                        C 150,850 200,850 200,800-->
<!--                        L 200,250-->
<!--                        C 200,250 200,200 250,200-->
<!--                        L 1100,200-->
<!--                        C 1100,200 1150,200 1150,150-->
<!--                        C 1150,150 1150,100 1100,100-->
<!--                        L 250,100-->
<!--                        C 250,100 90,90 100,250 z"-->
<!--                      style="fill:none; stroke:blue; stroke-width:4;" />-->
                <path d="M 1200,750
                        L 1200,100
                        C 1200,100 1200,50 1150,50
                        C 1150,50 1100,50 1100,100
                        L 1100,700
                        C 1100,700 1100,750 1050,750
                        L 60,750
                        C 60,750 10,750 10,800
                        C 10,800 10,850 60,850
                        L 1100,850
                        C 1100,850 1200,850 1200,750
"
                      style="fill:none; stroke:blue; stroke-width:4;" />
            </svg>
            <div class="bus-station">
                <div v-for="(item,i) in devpPos1" class="bus-item-top" :style="'left:' + (75 + i * 15) + 'px'">{{item.dev_no}}</div>
            </div>
            <div class="bus-station" style="flex-direction: column">
                <div v-for="(item,i) in devpPos2" class="bus-item-left" :style="'top:' + (200 + i * 50) + 'px'">{{item.dev_no}}</div>
            </div>
            <div class="bus-station" style="flex-direction: column">
                <div v-for="(item,i) in devpPos3" class="bus-item-left2" :style="'top:' + (100 + i * 10) + 'px'">{{item.dev_no}}</div>
            </div>
            <!-- Stations on outer ring -->
            <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueX + '%', left: station.valueY + '%' }">{{ station.index }}</div>
<!--            <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueX + '%', left: station.valueY + '%' }">{{ station.index }}</div>-->
            <div>
                <el-switch
                        style="display: block"
@@ -160,7 +236,7 @@
                </el-switch>
            </div>
            <!-- Buses -->
            <div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueX + '%', left: bus.valueY + '%' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
            <div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueY + 'px', left: bus.valueX + 'px' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
        </div>
        <!-- Left Task Bar -->
@@ -279,10 +355,51 @@
                tableDataDev: [],
                energyGatheringRing: [],
                tableDataLeft: [],
                tableDataRight: []
                tableDataRight: [],
                devpPos1:[
                    {dev_no: 116,pos:633980},
                    {dev_no: 117,pos:604043},
                    {dev_no: 118,pos:574323},
                    {dev_no: 119,pos:559534},
                    {dev_no: 120,pos:544682},
                    {dev_no: 121,pos:514912},
                    {dev_no: 122,pos:485227},
                    {dev_no: 123,pos:470367},
                    {dev_no: 124,pos:455514},
                    {dev_no: 125,pos:425768},
                    {dev_no: 126,pos:396268},
                    {dev_no: 127,pos:381106},
                    {dev_no: 128,pos:366311},
                    {dev_no: 129,pos:336638},
                    {dev_no: 130,pos:306820},
                    {dev_no: 131,pos:277067},
                    {dev_no: 132,pos:257418},
                    {dev_no: 133,pos:217730},
                ],
                devpPos2:[
                    {dev_no: 112,pos:891000},
                    {dev_no: 113,pos:865000},
                    {dev_no: 114,pos:800000},
                    {dev_no: 115,pos:780000},
                ],
                devpPos3:[
                    {dev_no: 101,pos:1269958},
                    {dev_no: 102,pos:1243454},
                    {dev_no: 103,pos:1229081},
                    {dev_no: 104,pos:1202099},
                    {dev_no: 105,pos:1187564},
                    {dev_no: 106,pos:1160630},
                    {dev_no: 107,pos:1146152},
                    {dev_no: 108,pos:1119463},
                    {dev_no: 109,pos:1105038},
                    {dev_no: 110,pos:1077961},
                    {dev_no: 111,pos:1063813},
                ],
            },
            created(){
                this.init();
                this.devpPos1.reverse()
                this.devpPos3.reverse()
            },
            watch: {
@@ -410,6 +527,8 @@
                },
                getTableDataRgv() {
                    let that = this;
                    // that.tableDataRgv = busPsto1
                    // return
                    $.ajax({
                        url: baseUrl + "/rgv/ring/through/rgv/position/data",
                        headers: {
src/main/webapp/views/testPosition.js
New file
@@ -0,0 +1,578 @@
var busPsto = [
    {
        index: 1,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 110,
        valueY: 878
    },
    {
        index: 2,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 165,
        valueY: 878
    },
    {
        index: 3,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 220,
        valueY: 878
    },
    {
        index: 4,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 275,
        valueY: 878
    },
    {
        index: 5,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 330,
        valueY: 878
    },
    {
        index: 6,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 385,
        valueY: 878
    },
    {
        index: 7,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 440,
        valueY: 878
    },
    {
        index: 8,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 495,
        valueY: 878
    },
    {
        index: 9,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 550,
        valueY: 878
    },
    {
        index: 10,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 605,
        valueY: 878
    },
    {
        index: 11,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 660,
        valueY: 878
    },
    {
        index: 12,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 715,
        valueY: 878
    },
    {
        index: 13,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 770,
        valueY: 878
    },
    {
        index: 14,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 825,
        valueY: 878
    },
    {
        index: 15,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 880,
        valueY: 878
    },
    {
        index: 16,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 935,
        valueY: 878
    },
    {
        index: 17,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 990,
        valueY: 878
    },
    {
        index: 18,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1045,
        valueY: 878
    },
    {
        index: 19,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 520
    },
    {
        index: 20,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 430
    },
    {
        index: 21,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 340
    },
    {
        index: 22,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 250
    },
    {
        index: 23,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 150
    },
    {
        index: 24,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 200
    },
    {
        index: 25,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 250
    },
    {
        index: 26,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 300
    },
    {
        index: 27,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 350
    },
    {
        index: 28,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 400
    },
    {
        index: 29,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 450
    },
    {
        index: 30,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 500
    },
    {
        index: 31,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 550
    },
    {
        index: 32,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 600
    },
    {
        index: 33,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 650
    },
]
// 空白区域
var busPsto1 = [
    {
        index: 1,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 65,
        valueY: 878
    },
    {
        index: 2,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 878
    },
    {
        index: 3,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1185,
        valueY: 850
    },
    {
        index: 4,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 775
    },
    {
        index: 5,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 125
    },
    {
        index: 6,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1164,
        valueY: 80
    },
    {
        index: 7,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 125
    },
    {
        index: 8,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 720
    },
    {
        index: 9,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 720
    },
    {
        index: 10,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1100,
        valueY: 750
    },
    {
        index: 11,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1075,
        valueY: 775
    },
    {
        index: 12,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 65,
        valueY: 775
    },
    {
        index: 13,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 25,
        valueY: 830
    },
]
var busPsto3 = [
    {
        index: 1,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 83,
        valueY: 878
    },
    {
        index: 2,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 138,
        valueY: 878
    },
    {
        index: 3,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 193,
        valueY: 878
    },
    {
        index: 4,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 248,
        valueY: 878
    },
    {
        index: 5,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 303,
        valueY: 878
    },
    {
        index: 6,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 358,
        valueY: 878
    },
    {
        index: 7,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 413,
        valueY: 878
    },
    {
        index: 8,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 468,
        valueY: 878
    },
    {
        index: 9,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 523,
        valueY: 878
    },
    {
        index: 10,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 578,
        valueY: 878
    },
    {
        index: 11,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 633,
        valueY: 878
    },
    {
        index: 12,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 688,
        valueY: 878
    },
    {
        index: 13,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 743,
        valueY: 878
    },
    {
        index: 14,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 798,
        valueY: 878
    },
    {
        index: 15,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 853,
        valueY: 878
    },
    {
        index: 16,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 908,
        valueY: 878
    },
    {
        index: 17,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 963,
        valueY: 878
    },
    {
        index: 18,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1018,
        valueY: 878
    },
    {
        index: 19,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1073,
        valueY: 878
    },
    {
        index: 20,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 565
    },
    {
        index: 21,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 475
    },
    {
        index: 22,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 385
    },
    {
        index: 23,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 295
    },
    {
        index: 24,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1215,
        valueY: 205
    },
    {
        index: 25,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 175
    },
    {
        index: 26,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 225
    },
    {
        index: 27,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 275
    },
    {
        index: 28,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 325
    },
    {
        index: 29,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 375
    },
    {
        index: 30,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 425
    },
    {
        index: 31,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 475
    },
    {
        index: 32,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 525
    },
    {
        index: 33,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 575
    },
    {
        index: 34,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 625
    },
    {
        index: 35,
        modeColor: "#4B5CC4",
        statusColor: "#1F3696",
        valueX: 1115,
        valueY: 675
    },
]