ms2nom(1)

ms2nom(1) mapsoft2 ms2nom(1)

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 <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>
Show maps which cover a given figure. Figure is a point, rectangle, line, multiline in WGS84 coordinates, or a geodata file with tracks or points. Option --scale should be set.
-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

  • Mapsoft2 documentation (ru, en) <http://slazav.github.io/mapsoft2>
  • Mapsoft2 source code, bugtracker <http://github.com/slazav/mapsoft2>
  • Old Mapsoft project <http://github.com/ushakov/mapsoft>
2024-07-26 mapsoft2