diff options
Diffstat (limited to 'lib/Travel/Status/DE/IRIS')
-rw-r--r-- | lib/Travel/Status/DE/IRIS/Stations.pm.PL | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/lib/Travel/Status/DE/IRIS/Stations.pm.PL b/lib/Travel/Status/DE/IRIS/Stations.pm.PL index 06ff49c..021ab21 100644 --- a/lib/Travel/Status/DE/IRIS/Stations.pm.PL +++ b/lib/Travel/Status/DE/IRIS/Stations.pm.PL @@ -26,16 +26,7 @@ use warnings; use 5.014; use utf8; -EOF - -if ($ENV{DB_IRIS_DEB_BUILD}) { - $buf .= "use Geo::Distance;\n" -} -else { - $buf .= "use GIS::Distance;\n"; -} - -$buf .= <<'EOF'; +use GIS::Distance; use List::Util qw(min); use List::UtilsBy qw(uniq_by); use List::MoreUtils qw(firstval pairwise); @@ -130,16 +121,7 @@ sub get_station_by_location { $num_matches //= 10; -EOF - -if ($ENV{DB_IRIS_DEB_BUILD}) { - $buf .= "\tmy \$dist = Geo::Distance->new();\n"; -} -else { - $buf .= "\tmy \$dist = GIS::Distance->new();\n"; -} - -$buf .= <<'EOF'; + my $dist = GIS::Distance->new(); # we only use geolocations inside germany. # For these, this fast preprocessing step will let through all @@ -150,18 +132,8 @@ $buf .= <<'EOF'; and abs( $_->[4] - $lat ) < 1 } @stations; - my @distances -EOF - -if ($ENV{DB_IRIS_DEB_BUILD}) { - $buf .= '= map { $dist->distance( \'kilometer\', $lon, $lat, $_->[3], $_->[4] ) }'; -} -else { - $buf .= '= map { $dist->distance_metal( $lat, $lon, $_->[4], $_->[3] ) }'; -} - -$buf .= <<'EOF'; - @candidates; + my @distances = map + { $dist->distance_metal( $lat, $lon, $_->[4], $_->[3] ) } @candidates; my @station_map = pairwise { [ $a, $b ] } @candidates, @distances; @station_map = sort { $a->[1] <=> $b->[1] } @station_map; |