summaryrefslogtreecommitdiff
path: root/httemplate/misc/sector_coverage-json.cgi
blob: 37595f5e2e679ed99b829c4629058302fa13676c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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>