# -*-cperl-*- # $Id: modestmaps_mk_historical_cluster_map,v 1.5 2008/08/03 17:08:39 asc Exp $ use strict; use Config::Simple; use Getopt::Std; use Log::Dispatch::Screen; use Net::Flickr::Geo::ModestMaps; { &main(); exit; } sub main { my %opts = (); getopts('c:i:', \%opts); my $cfg = Config::Simple->new($opts{'c'}); $cfg->param("modestmaps.filter", "atkinson"); $cfg->param("modestmaps.zoom", 17); $cfg->param("modestmaps.bleed", 1); $cfg->param("modestmaps.adjust", .1); $cfg->param("modestmaps.provider", "MICROSOFT_AERIAL"); $cfg->param("modestmaps.method", "bbox"); $cfg->param("modestmaps.timeout", (60 * 60)); $cfg->param("clustermap.radius", .5); $cfg->param("clustermap.offset", 360); $cfg->param("clustermap.only_photo_owner", 0); $cfg->param("clustermap.force_photo_owner", 0); $cfg->param("clustermap.photo_license", "4,5,7"); $cfg->param("clustermap.max_photos", 150); my $fl = Net::Flickr::Geo::ModestMaps->new($cfg); $fl->log()->add(Log::Dispatch::Screen->new('name' => 'scr', min_level => 'debug')); my $map = $fl->mk_historical_cluster_map_for_photo($opts{'i'}); $fl->log()->info("wrote map to $map->{path}"); my %attrs = (); foreach my $id (keys %{$map->{attribution}}){ foreach my $who (keys %{$map->{attribution}->{$id}}){ if (defined($attrs{$who})){ next; } my $url; if (ref($map->{attribution}->{$id}->{$who}) eq "ARRAY"){ $url = $map->{attribution}->{$id}->{$who}->[0]; } else { $url = $map->{attribution}->{$id}->{$who}; } $url =~ s/\/\d+$//; $attrs{$who} = $url; } } foreach my $who (keys %attrs){ my $url = $attrs{$who}; print "$who, \n"; } return 1; }