NAME

ms2nom -- Soviet nomenclature map calculations

SYNOPSIS

ms2nom [-E] [-W] --cover <figure> -s <scale> -- maps covering the figure

ms2nom [-E] [-W] -n <name> -- map range

ms2nom [-E] [-W] -n <name> [--cover_ratio] --cover <figure>  -- check if the map touches given figure

ms2nom [-E] -n <name> -g <geodata>  -- check if the map touches geodata (tracks and points)

ms2nom [-E] [-W] -c -n <name> -- map center

ms2nom [-E] -n <name> --shift [x_shift,y_shift] -- adjacent map

ms2nom [-E] -n <name> -s <scale> -- convert map to a different scale

OPTIONS

--cover <arg>

If --name and --cover_ratio is given show which part of the map is covered by the figure. If only --name is given, check if the figure touches the map. Otherwise show map names which cover the figure (--scale should be set). Figure is a point, rectangle, line, multiline in WGS84 coordinates, or a geodata file with tracks or points.

--cover_ratio

See --cover option.

-s, --scale <arg>

Set map scale. Scale should be set when --cover option is used. If used with --name option then name will be converted to a new scale instead of printing the range.

-n, --name <arg>

Show coordinate range for a given map.

-E, --ext

Use 'extended mode': single sheets (like Q10-001) are allowed on input and always returned on output; for a single sheet suffix '.<N>x<M>' is allowed to multiply the range (like n49-001.3x2).

-W, --wgs

Use WGS datum for coordinates (instead of Pulkovo).

-c, --center

Instead of printing a coordinate range print its central point.

-S, --shift <arg>

Shift a map. Should be used with --name option. Not compatable with --cover option. Argument is an array of two integer numbers [dx,dy].

-h, --help

Show help message.

--pod

Show help message as POD template.

Program "ms2nom" does some calculations with standard Soviet nomenclature map names.

Option --ext (-E) turns on 'extended mode': single sheets (like Q10-001) are allowed on input and always returned on output; for a single sheet suffix '.<N>x<M>' is allowed to multiply the range (like n49-001.3x2).

At the moment combination of --ext and --shift options with such a "multiplied" name returns non-multiplied adjecent sheets. This is not very useful and maybe changed later.

If both --cover and --name (-n) options are given program returns with exit code 0 or 1 depending on whether the map covers the given figure.

Soviet nomenclature maps use Pukovo-1942 datum (+ellps=krass +towgs84=28,-130,-95). By default Pulkovo datum is used for all calculations. In this datum map corners have round coordinates. If option --wgs (-W) is given then WGS datum is used instead of Pulkovo.

Supported scales: 1:1000000, 1:500000, 1:200000, 1:100000, 1:50000.Scale can be written in following forms: * 1:1000000, 1:1'000'000, 1000000, 1M, 10km/cm * 1:500000, 1:500'000, 500000, 500k, 5km/cm * 1:200000, 1:200'000, 200000, 100k, 1km/cm * 1:100000, 1:100'000, 100000, 100k, 1km/cm * 1:50000, 1:50'000, 50000, 50k, 500m/cm

EXAMPLES

Which 1:100000 map is covering a point lon=69, lat=36:

$ ms2nom -r "[69,36]" -s 1:100000
j42-139

Which 1:100000 maps are touching range lon=36.0-36.5, lat=70.0-70.5:

$ ms2nom -r "[36,70,0.5,0.5]" -s 1:100000
r37-049,050
r37-061,062

Coordinate range and center of j42-1 map:

$ ms2nom -n j42-1
[66,38,3,2]

$ ms2nom -n j42-1 -c
[67.5,39]

Right neighbour of j42-112-2 map:

$ ms2nom -n j42-112-2 --shift [1,0]
j42-113-1

List of 1:50'000 maps for p42-111,112 map:

$ ms2nom -n p42-111,112 -s 50k
p42-111-1,2
p42-111-3,4
p42-112-1,2
p42-112-3,4

Opposite:

$ ms2nom -n p42-111-3,4 -s 100k
p42-111,112

Test if map touches a coordinate range:

$ ms2nom -n n37 -r "[36,52,1,1]"; echo $?
0
$ ms2nom -n n37 -r "[26,52,1,1]"; echo $?
1

AUTHOR

Vladislav Zavjalov <slazav@altlinux.org>

SEE ALSO