diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-10-16 15:12:35 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-10-16 15:12:35 -0700 |
commit | e322fbb08d0f837be3f3f8e7c92a4a5bc75030ad (patch) | |
tree | 9ee34d97abcf6910eede9723996900c35db0db55 /httemplate/misc/sector_coverage-json.cgi | |
parent | 1c3dfc13e3eaf4a0d2fc213111dcbf12608ee81c (diff) | |
parent | f81c236b2f3b5fe8777b04ee78b793b301eef9fd (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'httemplate/misc/sector_coverage-json.cgi')
-rw-r--r-- | httemplate/misc/sector_coverage-json.cgi | 40 |
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> |