The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

make_maps_code - [not for users] rebuild Maps.pm from the contents of the maps directory.

Run this from the root of the distribution. Default behaviour is to create a new copy of the module in the current directory.

SYNOPSIS

  build/make_maps_code --diff | --update --version v.vv

Series to be built should be defined in maps/map_series.txt and data should all be in the maps/ directory.

OPTIONS

--diff

Create the module in the current directory and call diff to compare it to the version in lib

--update

Overwrite the module in lib directly.

--version v.vv

Apply the new version number v.vv to the newly created module.

AUTHOR

Toby Thurston -- 20 Feb 2016

NAME

Geo::Coordinates::OSGB::Maps - Data for OSGB Maps

VERSION

END_PODA

print $pm "V$new_version\n";

print $pm <<'END_PODB';

SUBROUTINES AND METHODS

This module exports no functions, but just two hashes of data.

Hash %name_for_map_series

The keys are the single letter codes used for each map series. The values are the descriptive names of each series. Currently we have:

END_PODB for my $s (@series_to_build) { printf $pm " %s : %s\n", $s->{id}, $s->{long_name}; }

print $pm <<'END_PODC';

Hash %maps

The keys are short identifiers for each sheet or inset. Where a map has more than one side, or includes insets then, there will be a separate entry for each side and inset.

The value for each key is another hash containing the following items

bbox

The bounding box of the sheet as a list of two pairs of coordinates (in metres from the grid origin)

polygon

A list of pairs of coordinates (in metres from grid origin) that define the corners of the sheet. The list starts at the SW corner (approximately, on some sheets it's not entirely obvious where to start), and works round anticlockwise. In all cases the last pair is the same as the first pair.

area

The calculated area of the sheet in square kilometres

series

A single letter series identifier -- this will be one of the keys from the "name_for_map_series" hash

number

The identifier for this map within the series, not including any suffix for a sheet or an inset. The two sides of a single map have the same number. The number is not always an integer - Outdoor Leisure maps are designated "OL14" etc. Those maps known by two numbers have a "number" consisting of both numbers divided by a "/"; such as "418/OL60" in the Explorer series.

parent

The key of the parent map for an inset. Main sheets of a map, will have "parent" equal to their own key.

title

The title of the map. Different sheets and insets from the same map will have the same title.

print $pm "\n=cut\n\n"; close $pm; warn sprintf "Wrote %d sheet definitions to maps module\n", scalar @sheets;

if ($want_diff && -f $module_name) { system 'diff', '-b', $lib_module_name, $module_name; }

1 POD Error

The following errors were encountered while parsing the POD:

Around line 427:

=back doesn't take any parameters, but you said =back END_PODC