English

Problem: Setting projection to/from NAD83 using feet as units

Description

Errors in coordinates may be seen when setting a ProjCoordSys object to the NAD83 projected coordinate system when the units are in feet.

Cause

By default, the NAD83 projected coordinate system types, for example, moProjCS_NAD1983SPCS_AKNorth, use meters as the units.

Solution or Workaround

Convert the FalseEasting and FalseNorthing transformation parameters for the ProjCoordSys object to feet from meters.

Code:
pcs.Type = moProjCS_NAD1983SPCS_CAVI
mapUnit.Type = moUnit_Foot
pcs.Unit = mapUnit
'parameters are in meters by default, so change to feet
pcs.SetParameter moParm_FalseEasting, 2000000 * 3.280839895
pcs.SetParameter moParm_FalseNorthing, 500000 * 3.280839895

Note that at MapObjects 2.1 there are new projected coordinate system constants that handle feet as units. They are the ProjectedCoordSys Constants with 'Feet' appended to the constant name, for example,
moProjCS_NAD1983StatePlaneCaliforniaVIFIPS0406Feet.