summary refs log tree commit diff
path: root/pnmmercator.html
blob: 998f7fbeacf576199e61a1d6b946585850675646 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN">
<html><head><title>PnmMercator User Manual</title></head>
<body>
<h1>pnmmercator</h1>
Updated: October 2009
<br>
<a href="#index">Table Of Contents</a>

<h2>NAME</h2>
pnmmercator - transform a worldmap from rectangular projection to Mercator
projection and vice-versa

<h2 id="synopsis">SYNOPSIS</h2>
<b>pnmmercator</b>
[<b>-inverse</b>]
[<b>-nomix</b>]
[<b>-[v]verbose</b>]
[<b><i>filename</i></b>]

<p>Minimum unique abbreviation of option is acceptable. 
You may use double hyphens instead of single hyphen to denote options.

<h2 id="description">DESCRIPTION</h2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p>The <b>pnmmercator</b> utility, converts a rectangular projection worldmap
to a Mercator projection format, as used for maps.google.com and many other
online maps.  The map used as input for <b>pnmmercator</b> must have rows for
-90 to 90 degrees latitude and columns for -180 to +180 degrees longitude. The
file will typically be twice as wide as high, but this is not a
requirement. The output file will be using the <a
href="http://en.wikipedia.org/wiki/Mercator_projection">Mercator
projection</a> and will get double the height of the input file.

<p>Maps using the Mercator projection are stretched more the closer a row is
to the North or South Pole. The last few degrees (&gt; 85 or &lt; -85 degrees)
are not part of a Mercator map at all because they would be stretched too much
and the rows close to the edge will show banding, because they originate from
the same row in the original map.

<p>To overcome this, the program will by default do interpolation of pixel
colors, which will eliminate the banding effect, but will cause some blurring
of the output. With the -nomix option, this interpolation of colors isn't
applied. You can obtain the highest quality output by starting with an input
map of high resolution, so that you can follow the <b>pnmmercator</b>
transformation with a <b>pamscale</b> reduction in size.

<p>This program can also convert a Mercator projection map back to a
rectangular projection based.  As said, the Mercator map doesn't have
information about the latitudes close to the poles.  Therefore the top rows in
the output image will be identical and copied from the row corresponding with
latitude of 85 degrees. The same at the bottom of the map.

<p>Pnmmercator doesn't have any provision for scaling the image. You can scale
by piping the output of the program through Netpbm programs such as
<b>pamscale</b>.

<p>You can find maps to be used as input at <a
href="http://flatplanet.sourceforge.net/maps/natural.html">flatplanet.sourceforge.net</a>
or <a href="http://www.evl.uic.edu/pape/data/Earth/">uic.edu/pape</a>.

<p>The point of a Mercator projection map is that compass directions work on
it.  If you draw a straight line northeast from some point on the Mercator
map, the line traces the course you would sail if you sailed a compass bearing
of northeast from that spot.  Naturally, primitive navigators appreciated
that.  The biggest drawback of Mercator is that areas to the north and south
appear much larger than they are in real life.  For example, Greenland appears
to be larger than South America even though it only a ninth as large.  Note
that areas away from the equator are stretched north-south as well as
east-west.

<p>A rectangular projection is one where vertical distance is proportional to
angular latitude distance of the represented area and horizontal distance is
proportional to angular longitude.


<h2 id="parameters">PARAMETERS</h2>

<p><b><i>filename</i></b> is the name of the input file.  If you don't specify
this, <b>pnmmercator</b> reads the image from standard Input.

<h2 id="options">OPTIONS</h2>

<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>pnmmercator</b> recognizes the following
command line options:

<dl compact>
<dt><b>-inverse</b></dt>
<dd>
<p>With this option a conversion from Mercator to degrees is applied.The
output image will have half the height of the input map.
</dd>
<dt><b>-nomix</b></dt>
<dd>
<p>Default behaviour is that color blending is applied in between two adjacent
rows. If you specify the -nomix parameter there is no blending. The
consequence is a banding at the top and bottom of the map.  With this option,
the output map will also consist of exactly the same colors as the input.
</dd>
<dt><b>-verbose</b> and <b>-vverbose</b></dt>
<dd>
<p>This parameter outputs some additional information. If you double the 'v',
it will output debug data about the lat/long degree and Mercator
conversions.
</dd>
</dl>

<h2 id="seealso">SEE ALSO</h2>
<b><a href="pnm.html">pnm</a></b> and
<b><a href="pamscale.html">pamscale</a></b>
<b><a href="ppmglobe.html">ppmglobe</a></b>

<h2 id="history">HISTORY</h2>
<p><b>pnmmercator</b> was new in Netpbm 10.49 (December 2009).

<h2 id="authors">AUTHORS</h2>

<p><a href="mailto:willem@schaik.com">Willem van Schaik</a> (of
<b>pnmtopng</b>/<b>pngtopnm</b> fame) wrote this program in October 2009 and
suggested it for inclusion in Netpbm.

<hr>

<h2 id="index">Table Of Contents</h2>
<ul>
<li><a href="#synopsis">SYNOPSIS</a>
<li><a href="#description">DESCRIPTION</a>
<li><a href="#parameters">PARAMETERS</a>
<li><a href="#options">OPTIONS</a>
<li><a href="#seealso">SEE ALSO</a>
<li><a href="#history">HISTORY</a>
<li><a href="#authors">AUTHORS</a>
</ul>
</body>
</html>