Issues related to custom ESRI (non-EPSG) Spatial Reference IDs
For historical reasons, ESRI has a set of SRID codes that don't match the standard EPSG codes for the same geographical area. For example, ESRI has a code
102678 => NAD_1983_StatePlane_Kansas_South_FIPS_1502_Feet
that references the same geographical area and projection as EPSG code
3420 => NAD83 / Kansas South (ftUS)
When MapWinGIS creates a GeoProjection, it uses a GDAL/OGR Spatial Reference. The GDAL/OGR library fetches all of the standard EPSG codes from file "pcs.csv", and everything works correctly. However, when specifying one of the ESRI codes, GDAL determines that it is not in "pcs.csv", checks a couple other places, and finds the reference in a secondary file called "esri_extra.wkt". Due to differences in the way this file is processed and parsed, MapWinGIS needs to make some adjustments.
1. The Units of Measure for Feet return a string in a format that MapWinGIS does not handle, and as a result, the units default to Meters. We need to add a case for "Foot_US".
2. Projection name lookup has been based on only the pcs.csv file, and does not include the additional names and constants from the esri_extra.wkt file. These names should also be included.
Changes have been submitted.
1. If you reference one of the ESRI-specific constants when creating a GeoProjection, the correct Units of Measure should be established in the projection.
2. In addition to parsing the pcs.csv file, the esri_extra.wkt file is also parsed to extract the string names of each projection, and will be returned by the Utility functions GetProjectionNameByID and GetProjectionList. Furthermore, the NAD83 and WGS84 projection enumerations have been supplemented with the ESRI constants.