summaryrefslogtreecommitdiff
path: root/httemplate/misc/sector_coverage-json.cgi
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-10-10 11:59:41 -0700
committerMark Wells <mark@freeside.biz>2016-10-10 11:59:41 -0700
commit49d9ea969069430ef3fe23e5b1ac3599e929bb04 (patch)
tree24a3feb13b0a8db68f7a634de239b97d106a5efe /httemplate/misc/sector_coverage-json.cgi
parent53a8c81b4f3a414803a52fc8114b26a71055d012 (diff)
new tower/sector UI, mapping features, and network monitoring, #37802
Diffstat (limited to 'httemplate/misc/sector_coverage-json.cgi')
-rw-r--r--httemplate/misc/sector_coverage-json.cgi40
1 files changed, 40 insertions, 0 deletions
diff --git a/httemplate/misc/sector_coverage-json.cgi b/httemplate/misc/sector_coverage-json.cgi
new file mode 100644
index 000000000..37595f5e2
--- /dev/null
+++ b/httemplate/misc/sector_coverage-json.cgi
@@ -0,0 +1,40 @@
+<% encode_json($collection) %>
+<%init>
+my @sectors;
+if ( my $towernum = $cgi->param('towernum') ) {
+ @sectors = qsearch('tower_sector', { towernum => $towernum });
+} elsif ( my $sectornum = $cgi->param('sectornum') ) {
+ @sectors = FS::tower_sector->by_key($sectornum);
+} else {
+ die "towernum or sectornum required";
+}
+my @features;
+my $collection = {
+ type => 'FeatureCollection',
+ features => \@features,
+};
+foreach my $sector (@sectors) {
+ my $sectornum = $sector->sectornum;
+ my $low = $sector->db_low;
+ my $high = $sector->db_high;
+ my $color = '#' . ($sector->tower->color || 'ffffff');
+ foreach my $coverage ( $sector->sector_coverage ) {
+ #note $coverage->geometry is already JSON
+ my $level = $coverage->db_loss;
+ push @features, {
+ type => 'Feature',
+ id => "sector/$sectornum/$level",
+ properties => {
+ level => $level,
+ low => ($level == $low ? 1 : 0),
+ high => ($level == $high ? 1 : 0),
+ style => {
+ strokeColor => $color,
+ fillColor => $color,
+ },
+ },
+ geometry => decode_json($coverage->geometry),
+ };
+ }
+}
+</%init>