Allows viable satellites to be found given multiple points on the Earth

index.html 5.2KB

    <html ng-app="satTrackApp"> <head> <title>Multipoint Satellite Tracker</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="css/style.css"> <link rel="stylesheet" type="text/css" href="css/jquery-ui.min.css"> <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script> <script type="text/javascript" src="js/jquery-ui.min.js"></script> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB3FKjZo6Fe6Lg--EU1Ci7V4rHIiU9Igb4"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script> <script src="js/ng-map.min.js"></script> <script src="js/moment.min.js"></script> <script src="js/satellite.min.js"></script> <script type="text/javascript" src="js/main.js"></script> </head> <body> <div id="container" ng-controller="satTrack-ctrl"> <div id="controls"> <center> <table border="1" ng-show="places.length > 0"> <tr> <td><b>ID</b></td> <td><b>Latitude</b></td> <td><b>Longitude</b></td> <td><b>Minimum AoA</b></td> <td></td> </tr> <tr ng-repeat="point in places"> <td>{{$index + 1}}</td> <td>{{point.marker.position.lat().toFixed(6)}}</td> <td>{{point.marker.position.lng().toFixed(6)}}</td> <td><input type="number" min="0" max="90" ng-model="point.angle"> deg</td> <td><button type="button" class="btn btn-danger" ng-click="removePoint($index)">Remove</button></td> </tr> </table> <div style="margin: 6px"> Click on the map to add a point<br> Time zone: {{getTimezone()}} </div><BR><BR> From <input type="text" id="fromDate" style="width: 90px;"> to <input type="text" id="toDate" style="width: 90px;"><br><br> <button type="button" class="btn btn-success" ng-disabled="places.length == 0" ng-click="getPasses()">Calculate Passes</button> <span class='glyphicon-left glyphicon glyphicon-refresh spinning' ng-show='isGettingPasses'></span> </center><BR> <table border="1"> <tr> <td><b>Date</b></td> <td><b>Sat name</b></td> <td><b>Start time</b></td> <td><b>Max AoAs</b></td> <td><b>End time</b></td> <td><b>Total time of contact</b></td> </tr> <tr ng-repeat="pass in passes"> <td>{{getDate(pass.time_start)}}</td> <td>{{pass.name}}</td> <td>{{getTime(pass.time_start)}}</td> <td style="white-space: nowrap;"><div ng-repeat="stat in pass.pointStats"> Point {{$index + 1}}: {{stat.maxElv.toFixed(0)}} deg @ {{getTime(stat.timeMaxElv)}} </div></td> <td>{{getTime(pass.time_end)}}</td> <td>{{getDifferenceInMinutes(pass.time_end, pass.time_start)}}</td> </tr> </table><br> <div id="footer"> <center> Developed by Stephen Downward, callsign VA1QLE.<br> <a href="https://git.scd31.com/laptopdude90/multipoint-satellite-tracker">Git repository</a><br><br> </center> </div> </div> <div id="rightNav"> <div id="tabs"> <ul class="nav nav-tabs"> <li class="{{(selectedTab == 'map') ? 'active':''}}"><a href ng-click="selectedTab = 'map'">Map</a></li> <li class="{{(selectedTab == 'config') ? 'active':''}}"><a href ng-click="selectedTab = 'config'">Configure satellites</a></li> </ul> </div> <div id="map" ng-show="selectedTab == 'map'"> <ng-map center="39.82, -77.01" zoom="4" style="height:100%"></ng-map> </div> <div id="config" ng-show="selectedTab == 'config'"> <center> Select all/none <input type="checkbox" ng-model="selectAllSats" ng-change="toggleEnabled(selectAllSats)"><br><br> </center> <div id="satlist"> <div ng-repeat="sat in satellites" style="white-space: nowrap;"><input type="checkbox" ng-model="sat.enabled">&emsp;{{sat.name}}</div> </div> </div> </div> </div> </body> </html>