Main Content


Origin vector to place north pole at specified point


origin = putpole(pole)
origin = putpole(pole,units)


origin = putpole(pole) returns an origin vector required to transform a coordinate system in such a way as to put the true North Pole at a point specified by the three- (or two-) element vector pole. This vector is of the form [latitude longitude meridian], specifying the coordinates in the original system at which the true North Pole is to be placed in the transformed system. The meridian is the longitude upon which the new system is to be centered, which is the new pole longitude if omitted. The output is a three-element vector of the form [latitude longitude orientation], where the latitude and longitude are the coordinates in the untransformed system of the new origin, and the orientation is the azimuth of the true North Pole in the transformed system.

origin = putpole(pole,units) allows the specification of the angular units of the origin vector, where units is any valid angle unit. The default is 'degrees'.


Pull the North Pole down the 0º meridian by 30º to 60ºN. What is the resulting origin vector?

origin = putpole([60 0])

origin =
   30.0000         0         0

This makes sense: when the pole slid down 30º, the point that was 30º north of the origin slid down to become the origin. Following is a less obvious transformation:

origin = putpole([60 80 0])   % constrain to original central 
                              % meridian

origin =
    4.9809         0   29.6217

origin = putpole([60 80 40])  % constrain to arbitrary meridian

origin =
    4.9809   40.0000   29.6217


When developing transverse or oblique projections, you need transformed coordinate systems. One way to define these systems is to establish the point in the original (untransformed) system that will become the new (transformed) origin.

Version History

Introduced before R2006a

See Also