adjustments
[Geo-USCensus-Geocoding.git] / Geocoding / Match.pm
1 package Geo::USCensus::Geocoding::Match;
2
3 use strict;
4 use Data::Dumper;
5
6 sub new {
7   my $class = shift;
8   my $address = shift;
9   my $census = shift;
10
11   my $self = { %$address };
12   bless $self, $class;
13 }
14
15 sub matchedAddress {
16   my $self = shift;
17   $self->{matchedAddress};
18 }
19
20 sub coordinates {
21   my $self = shift;
22   $self->{coordinates};
23 }
24
25 sub addressComponents {
26   my $self = shift;
27   $self->{addressComponents};
28 }
29
30 sub geographies {
31   my $self = shift;
32   $self->{geographies};
33 }
34
35 sub block_info {
36   my $self = shift;
37   my $geo = $self->{geographies};
38   my $block_info = $geo->{'2010 Census Blocks'}; # XXX change this in 2020
39   if ($block_info and exists($block_info->[0])) {
40     return $block_info->[0];
41   } else {
42     warn "2010 Census Blocks element not found in response\n";
43     warn Dumper $self->{geographies};
44     return '';
45   }
46 }
47
48 sub censustract {
49   my $self = shift;
50   my $block = $self->block_info or return '';
51   return $block->{STATE} . $block->{COUNTY} . $block->{TRACT};
52 }
53
54 1;