Map
Projections in Geographic Information Systems
Definition
A
map projection is a set of mathematical functions that provide 2-dimensional
coordinates for 3-dimensional positions on the surface of a round solid
X
= f(f , l )
Y
= g(f , l )
Where
f() and g() are functions specific
to a given projection
f represents the latitude of a point
l represents the longitude of a point
The
3rd dimension, R, represents the
distance of the point from the center of the solid body
On
spheres, R is constant
On
ellipsoids, the distance of the point to the center depends upon its position
on the ellipsoid
This link demos some of the concepts in this
lecture
You can get the source code here
Why
are projections used in a GIS?
Virtually
all display devices produce flat output
Monitors,
printers, plotters
Although
the surface of a monitor may be curved to help focus an image, the frame buffer
representing the image is considered planar
Creating
a map on a flat surface, electronic or paper, requires a method for
transforming 3-D coordinates to 2-D
How
do map projections relate to affine
transformations?
An affine transformation preserves linearity
Points lying on a line in an original coordinate
system will remain collinear in the new coordinate system
We
will be taking an in-depth look at affine
transformations in a later lecture
A
latitude/longitude pair is first converted to a projection�s X/Y coordinate
system
The
coordinates produced by the projection are likely to be outside of the physical
device�s coordinate range
But
how do we �scale down� the Mercator coordinates so that they can fit on a piece
of paper or a monitor?
Normalize
the Mercator coordinates
Use
the normalized coordinates to make new physical device coordinates appropriate
for your media
The
projected coordinates X,Y can be subsequently reduced
with a scale operation
X�
= X * Sx
Y�
= Y * Sy
The
coordinates could also be rotated and translated to fit any page positioning
criteria
An
example using Mercator�s projection for the earth represented as a sphere
X
= R (l
- l
0)
Y
= R ln [tan (p/4 + f /2)]
Where
R is the radius of
the earth in meters
l0 is the longitude of the central
meridian for the projection
The
meridian for which x = 0 for all projected points
l is the longitude of the point to be
projected
f is the latitude of the point to be
projected
ln is the natural
log function
tan is the tangent function
All
angles are stated in radians
Doing
the computations
For
the point latitude = 42 N,�
longitude = 74 W with
f = .733 radians
radian equivalent of 42
degrees
l = -1.292 radians
radian equivalent of
�74 degrees
R = 6,378,000
meters
rounded here for
simplicity
l0 = .0 radians
make 0� longitude the
central meridian
X�� = R (l - l 0)
���� = 6,378,000 * (-1.292 � .0)
���� = -8,237,465
Y
= R ln [ tan (45� + [f � / 2] ) ]
���� = 6,378,000 * ln [ tan (p/4 �+
[.733
/ 2] ) ]
���� = 6,378,000 * ln [ tan (1.152) ]
���� = 6,378,000 * ln [ 2.246� ]
���� = 6,378,000 * 0.809�
���� = 5,160,869
So
the point 42�
N, 74�
W projects to
X = -8,237,458, Y = 5,160,869
Click here to get an Excel spreadsheet to do the
computations
The spreadsheet
does the calculations with the actual Clarke 1866 radius value of 6378206.4
meters so your X and Y values will be a little different from those in the
previous example
Scaling
projected coordinates to fit an output device coordinate range
But
now, how do you plot that point into your 1024 X 768 frame buffer or onto an 8
�� X 11� sheet of paper?
You
have to normalize your coordinates and then transform them to the physical
device range of the target media
Let�s
take the previous example and plot our point on an 8 �� X 8 �� region
First,
we have to find the range of projected coordinates that we want to display
We
will zoom out and show the world from �180 to +180 degrees longitude and from
�80 to +80 degrees latitude
Our
first job is to find X values for our minimum and maximum longitudes at some
latitude
Using
the equation X
= R (l - l 0)
For
180�
W,
180� W = -p radians
Xmin��� = R (-p - .0)
���������� = - 20,037,078
For
180�
E,
Xmax��� = 20,037,078
Use
the normalization formula to get the normalized X coordinate for our projected
longitude:
Xn |
= |
(X�� ����� Xmin) |
/ |
(Xmax
� Xmin) |
0.294444 |
= |
(-8237465���� ����� -20037078) |
/ |
(20,037,078 � -20,037,078) |
Convert
the projected X coordinate to page coordinates
Multiply
the the normalized coordinate by the width of the
page
We
would use the same scale factor for both X and Y so that the
projection doesn�t �stretch� in one dimension relative to the other
Assuming
a page width of 8.5 inches,
Xpage���� = Xn
* 8.5
���������� = .294444 * 8.5 inches
���������� = 2.502778 inches from the left edge
of the paper
So
any point on 74� W ends up 2.5 inches from the left edge
of the paper
You
can use the same method to find the Ypage coordinate
for the latitude
You
can, of course, use any units you like for your page coordinate system,
including pixel dimensions
Drawing
the graticule (latitude and longitude grid)
You
can draw the graticule by projecting points along
parallels or meridians and then connecting them with straight lines or curves
Mercator�s
projection is easy to draw because all lines project as straight lines
Many
other projections require that you draw curved lines
e.g.,
most of the conic projections
Inverse
projections
Inverse
projections take projected coordinates and return latitude/longitude
coordinates
Converting
2-D to 3-D coordinates
Although
it seems like we�re creating information by coming up with 3 dimensions from 2,
remember that we treat the third dimension (radius) as a constant (on a sphere)
or as a function of position on an ellipsoid
Inverse
projections are extremely important in GIS work
If
someone gives you a digitized coverage in Mercator coordinates and the rest of
your data is in Lambert conformal conic coordinates, you have to reverse
project Mercator to lat/long, and then forward project to Lambert conformal
conic
For
Mercator�s projection, here are the inverse equations for the sphere:
f = (p / 2) � (2 arctan [e-Y/R])
l = X / R
+ l
0
where
e = 2.7182818� (base of natural logarithms)