Image/Maps/Plot/FromLatLong version 0.1

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