NAME
Image::Maps::Plot::FromLatLong
SYNOPSIS
use Image::Maps::Plot::FromLatLong;
# Get ready
$m = new Image::Maps::Plot::FromLatLong (
MAP=>"THE WORLD",
PATH=>"C:/out.html", # Extension is
irrelevant
FONT=>"C:/winnt/fonts/arial.ttf",
);
# Now, Create an HTML page with images:
$m->create_html;
# Or just the image
$m->create_imagefile;
# Or get a reference to an image blob:
$m->get_blob;
# Create HTML pages of all maps in the db, with
index
my $m = new Image::Maps::Plot::FromLatLong(
FONT=>'c:/winnt/fonts/arial.ttf',
);
$m->all("C:/");
# Add a map
$Image::Maps::Plot::FromLatLong::MAPS{"LONDON
AREA"} = {
FILE =>
'C:\PhotoWebServer\Perl\site\lib\Image\M
aps\Plot\london_bourghs.jpg',
DIM => [650,640],
SPOTSIZE => 5,
ANCHOR_PIXELS => [447,397],
# Greenwich on the pixel map
ANCHOR_LATLON => [51.466,0], #
Greenwich lat/lon
ANCHOR_NAME => 'Greenwich',
ANCHOR_PLACE => 'Observatory',
ONEMILE => 19.5,
# 1 km = .6 miles (10km=180px =
# 10miles=108px)
};
Create map content on the fly:
$maker = new Image::Maps::Plot::FromLatLong(
MAP => "THE WORLD",
FONT=>'c:/winnt/fonts/arial.ttf',
PATH => "/Two.foo",
DBFILE => undef,
LOCATIONS => {
'Lee' => {
'LAT' => '51.592423',
'PLACE' => 'ffff44',
'LON' => '-0.171996'
},
'Lee Again' => {
'PLACE' => '#ffff77',
'LAT' => 46,
'LON' => 16
},
},
);
__END__
DESCRIPTION
Plots points defined by latitude/longitude on JPEG Mercator Projection maps, optionally creating an HTML page with image map to display the image.
PREREQUISITES
Data::Dumper;
File::Basename;
strict;
warnings.
WWW::MapBlast 0.02
Image::Thumbnail 0.011
DISTRIBUTION CONTENTS
In addition to this file, the distribution uses the included files for default settings: they should be placed in the same directory as the module itself only if you wish to use default settings.
.earth.dat
london_postcodes.jpg
uk.jpg
world.jpg
And some other world images to replace world.jpg, if you so choose.
EXPORTS
None.
NOTES ON LATITUDE AND LONGITUDE
After http://www.mapblast.com/myblast/helpFaq.mb#2:
Zero degrees latitude is the equator, with the North
pole at 90 degrees latitude and the South pole at
-90 degrees latitude. one degree is approximately 69
miles. Greenwich, England is at 51.466 degrees north
of the equator.
Zero degrees longitude goes through Greenwich,
England. Again, Each 69 miles from this meridian
represents approximately 1 degree of longitude.
East/West is plus/minus respectively.
Actually, latitude and longitude vary depending upon the degree in hand: see The Compton Encyclopdedia for more information.
CAVEATS
The exmaple map, london_postcodes.jpg, is inaccurate.
Whilst degrees of latitude are accurate to two decimal places, Degrees of longitude are taken to be 69 miles: this isn't quite right - see the NOTES ON LATITUDE AND LONGITUDE entry elsewhere in this document. This will be adjusted in a later version.
All images must be JPEGs - PNG or other support could easily be added.
REVSIONS
1.2 Corrected a slight mis-positioning of points.
Replaced GD with Image::Magick as I was seeing
terrible JPEG output
with GD.
Replaced support for non-maintained
"Image::GD::Thumbnail" with "Image::Thumbnail";
evaluate a require of this at run time rather than
using the apparently still shakey pragmas.
Added methods to create just images and to return
references to image blobs.
1.0 Don't remember.
0.25
Clean IMG path and double-header bugs
0.23
Added more documentation; escaping of href text
0.22
Added thumbnail images to index page
SEE ALSO
perl(1); Image::Magick ("http://www.ImageMagick.org"); the File::Basename manpage; the Acme::Pony manpage; the Data::Dumper manpage; the WWW::MapBlast manpage; the Image::Thumbnail manpage
AUTHOR
Lee Goddard <lgoddard@cpan.org>
COPYRIGHT
Copyright (C) Lee Goddard, 2001. All Rights Reserved.
This module is supplied and may be used under the same terms as Perl itself.
The public domain maps provided with this distribution are the property of their respective copyright holders.
Tool completed successfully