Re: map_set stereographic projection [message #48574 is a reply to message #48520] |
Fri, 28 April 2006 15:59   |
James Kuyper
Messages: 425 Registered: March 2000
|
Senior Member |
|
|
David Fanning wrote:
> Mr. Kuyper,
>
> What can you tell us about UV coordinates? The IDL
> documentation is (as usual) silent about this point,
> simply referring to them as "XY Cartesian coordinates".
> Do we know, or care, what they *really* are?
Every map "projection", whether or not it's geometrically describable
as a projection, maps lat-lon positions on the surface of the earth to
a positions on a flat plane in space. It's conventional to use u and v
as the names of an orthogonal coordinate system describing positions on
that flat plane. A second, trivial scale-and offset mapping usually
connects positions on this plane to positions on your actual printed
map. U/V coordinates are used for the flat plane, because x and y are
reserved for the position on the printed map. In IDL terms, x and y are
device coordinates.
The relationship between lat/lon and u/v depends upon the map
projection. If you're familiar with the geometric definition of the
particular map projection you're working with, the relationship is
usually unsurprising. If you're not familiar with the map projection, I
suppose the relationship would probably be very difficult to figure
out, but I wouldn't know about that :-). What I generally do is use
MAP_PROJ to calculate a few key positions, so I can figure out what
choices they've made. For polar projections they generally use a plane
tangent to the earth at the center of the projection, with a scale in
meters and the u-v coordinates oriented toward local East and local
North respectively, at the point of tangency. For cylindrical
projections, they use a plane wrapped around the earth at the equator,
with it's center at the center point of the projection, with a scale in
meters, and U/V oriented toward local East/North at the center point.
However, I generally try to avoid building assumptions about the
scaling and orientation of the axes into my code. The V direction, in
particular, sometimes points north and sometimes south. There's a
couple of projections where they appear to use a plane tangent to a
unit sphere, rather than one tangent to the surface of the Earth, which
means that the scaling is equivalent to radians instead of meters near
the center of the projection. What I do to cope with these issues is
convert a few well-chosen positions to U/V coordinates, and use the
values for those positions to resolve any such ambiguities.
> An hour search on Goggle was equally unenlightening,
> except in referring to UV coordinates in the context
> of texture mapping, which I assume is not *really*
> how they are being used here.
>
> And please, sir, tell us how you stumbled onto using
> MAP_PROJ_* functions to solve this registration problem.
I've always been fascinated by map projections. I had a very clear
understanding of them before I ever ran into the IDL map projection
routines. My current job has required me to become familiar with the
GCTP map projection library. Before the MAP_PROJ_* routines came out, I
used MAP_SET and COORD_CONV for similar purposes, but I immediately
recognised the MAP_PROJ_* as an easier way to do things.
|
|
|