X-Git-Url: http://git.freeside.biz/gitweb/?p=Geo-USCensus-Geocoding.git;a=blobdiff_plain;f=Geocoding%2FMatch.pm;fp=Geocoding%2FMatch.pm;h=b4a76757c2f5487706ff7912b0b7e668a9cfb0d2;hp=65842035f7b6ce44ee618546813f2b58aaec16ba;hb=83646ffc2d229a706bdf3f90bf3cc8834c03106f;hpb=2abefcaec0a7fbc3f320e0c251de81144ca6bd93 diff --git a/Geocoding/Match.pm b/Geocoding/Match.pm index 6584203..b4a7675 100644 --- a/Geocoding/Match.pm +++ b/Geocoding/Match.pm @@ -1,6 +1,7 @@ package Geo::USCensus::Geocoding::Match; use strict; +use Data::Dumper; sub new { my $class = shift; @@ -31,13 +32,23 @@ sub geographies { $self->{geographies}; } +sub block_info { + my $self = shift; + my $geo = $self->{geographies}; + my $block_info = $geo->{'2010 Census Blocks'}; # XXX change this in 2020 + if ($block_info and exists($block_info->[0])) { + return $block_info->[0]; + } else { + warn "2010 Census Blocks element not found in response\n"; + warn Dumper $self->{geographies}; + return ''; + } +} + sub censustract { my $self = shift; - return '' unless $self->geographies - and exists($self->geographies->{'Census Tracts'}) - and exists($self->geographies->{'Census Tracts'}->[0]); - my $ct = $self->geographies->{'Census Tracts'}->[0]; - return $ct->{STATE} . $ct->{COUNTY} . $ct->{TRACT}; + my $block = $self->block_info or return ''; + return $block->{STATE} . $block->{COUNTY} . $block->{TRACT}; } 1;