Adding a Custom Horizontal Coordinate System in GeoCue

There may be times when a user needs to add a custom horizontal coordinate system to the program. This option can be done within GeoCue.

Initial steps

  1. Generate a custom PRJ file to reflect the new custom coordinate system
    1. There are a couple of options how to accomplish this
      1. Copy a current PRJ file and make the necessary changes to the PRJ file
      2. Download a PRJ file from an online source, such as http://spatialreference.org/
  2. Provide a unique name for the new horizontal coordinate system

New_Custom_Coordinate_System

Import Projection (PRJ) file into GeoCue

To add the new horizontal coordinate system to GeoCue:

  1. While creating a project, or a layer within a project, Define the Coordinate System
  2. Under Horizontal Coordinate System, choose the radio button for “Select From File”
  3. Browse to the location of the custom projection file
  4. Specify a predefined Vertical Coordinate System
  5. *If necessary, specify a datum Transformation in Map Coordinate Systems
Specify Custom Projection File

Specify Custom Projection File

Specify Datum Transformation if needed

Specify Datum Transformation if needed

Authority Codes

GeoCue does not automatically incorporate the EPSG or other authority codes from the provided PRJ. if the code is new, or not yet supported by GeoCue then the authority code must be manually added to two separate files, found in the GeoCue Common folder in the “\Coordinate Systems\EPSGInfo” directory, in order to assign the appropriate overall EPSG code in the file header. In addition, if the projection relies on new editions of underlying component parts, i.e. datum, ellipsoid, etc., then there may be additional modifications that may be necessary. See the Authority Codes for Component Parts section below.

The main two files are “CodeFromCRSName.xml” and “WKTFromCode.xml”. One file is used for getting the codes associated with a projection, and the other is for getting the projection associated with a code. When modifying these files it is important to have the correct Key-Value pair(s), as given below, in the respective XML files. The required information should be copied directly from the PRJ file used above. It is best to make a copy of these XML files before making any modifications, and test them after the modifications have been made.

WKTFromCode.xml

Key:                       Authority Code
Value:                   WKT string

where, Authority Code is in the form of “EPSG:<Code>”, or “ESRI:<Code>”, or “<Other>:<Code>”

Example:

<keyPair>
<_key>EPSG:7623</_key>
<_value>PROJCS["NAD_1983(2011)_WISCRS_Oneida_County_Feet",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",230000.0],PARAMETER["False_Northing",188936.744],PARAMETER["Central_Meridian",-89.54444444444444],PARAMETER["Standard_Parallel_1",45.70422377027778],PARAMETER["Scale_Factor",1.0000686968],PARAMETER["Latitude_Of_Origin",45.70422377027778],UNIT["Foot_US",0.3048006096012192]]</_value>
</keyPair>

CodeFromCRSName.xml

Key:                       CRS Name
Value:                   Authority Code

where, Authority Code is in the form of “EPSG:<Code>”, or “ESRI:<Code>”, or “<Other>:<Code>”

Example:

<keyPair>
<_key>NAD_1983(2011)_WISCRS_Oneida_County_Feet</_key>
<_value>EPSG:7623</_value>
</keyPair>

Authority Codes for Component Parts

To have the proper authority codes, such as EPSG, assigned to the underlying components of a coordinate system, such as GeoTIFF tag 2048 and 2050, one may need to modify additional files within the GeoCue Common folder in the directory “\Coordinate Systems\EPSGInfo”. Those files are “pcs.xml”, “gcs.xml”, and gdal_datum.xml”. Depending upon the coordinate system that you wish to add you may not need to modify all, or any of these files. It will depend on whether your code already found within those files or not. For example once I have added the following, if I wish to now add “NAD83(2011) / Illinois East (ftUS)” then I will only need to modify the “pcs.xml” since the geographic coordinate system and datum are the same as I already added for “NAD83(2011) / Illinois West (ftUS)”.

Note: Making modifications of these files requires that the “EPSGTables.bin” located in the GeoCue Temp folder in the “GeoCue” directory be deleted so that it will generate anew when it is needed next by the GeoCue system.

pcs.xml

This file is the component definition behind the authority codes assigned to your new projection in “CodeFromCRSName.xml”. Hence, if I wish to have the full GeoTIFF tags that GeoCue normally fills out and have them with the applicable authority code instead of the user-defined 32767 then I would need to make an entry into the “pcs.xml” file in the following format.

  <pcs>
    <COORD_REF_SYS_CODE>6457</COORD_REF_SYS_CODE>
    <COORD_REF_SYS_NAME>NAD83(2011) / Illinois West (ftUS)</COORD_REF_SYS_NAME>
    <UOM_CODE>9003</UOM_CODE>
    <SOURCE_GEOGCRS_CODE>6318</SOURCE_GEOGCRS_CODE>
    <COORD_OP_CODE>15388</COORD_OP_CODE>
    <COORD_OP_METHOD_CODE>9807</COORD_OP_METHOD_CODE>
    <SHOW_CRS>1</SHOW_CRS>
    <DEPRECATED>0</DEPRECATED>
    <COORD_SYS_CODE>4497</COORD_SYS_CODE>
    <PARAMETER_CODE_1>8801</PARAMETER_CODE_1>
    <PARAMETER_VALUE_1>36.4</PARAMETER_VALUE_1>
    <PARAMETER_UOM_1>9110</PARAMETER_UOM_1>
    <PARAMETER_CODE_2>8802</PARAMETER_CODE_2>
    <PARAMETER_VALUE_2>-90.1</PARAMETER_VALUE_2>
    <PARAMETER_UOM_2>9110</PARAMETER_UOM_2>
    <PARAMETER_CODE_3>8805</PARAMETER_CODE_3>
    <PARAMETER_VALUE_3>0.999941177</PARAMETER_VALUE_3>
    <PARAMETER_UOM_3>9201</PARAMETER_UOM_3>
    <PARAMETER_CODE_4>8806</PARAMETER_CODE_4>
    <PARAMETER_VALUE_4>2296583.3333</PARAMETER_VALUE_4>
    <PARAMETER_UOM_4>9003</PARAMETER_UOM_4>
    <PARAMETER_CODE_5>8807</PARAMETER_CODE_5>
    <PARAMETER_VALUE_5>0</PARAMETER_VALUE_5>
    <PARAMETER_UOM_5>9003</PARAMETER_UOM_5>
  </pcs> 

gcs.xml

As this new projection is based upon a new geographic coordinate system, code 6318, I would also need to modify the “gcs.xml” file so that it contains the details for that new code by making an entry in the following format.

  <gcs>
    <COORD_REF_SYS_CODE>6318</COORD_REF_SYS_CODE>
    <COORD_REF_SYS_NAME>NAD83(2011)</COORD_REF_SYS_NAME>
    <DATUM_CODE>1116</DATUM_CODE>
    <DATUM_NAME>NAD83 (National Spatial Reference System 2011)</DATUM_NAME>
    <GREENWICH_DATUM>1116</GREENWICH_DATUM>
    <UOM_CODE>9122</UOM_CODE>
    <ELLIPSOID_CODE>7019</ELLIPSOID_CODE>
    <PRIME_MERIDIAN_CODE>8901</PRIME_MERIDIAN_CODE>
    <SHOW_CRS>1</SHOW_CRS>
    <DEPRECATED>0</DEPRECATED>
    <COORD_SYS_CODE>6422</COORD_SYS_CODE>
    <COORD_OP_CODE>0</COORD_OP_CODE>
    <COORD_OP_CODE_MULTI>0</COORD_OP_CODE_MULTI>
    <COORD_OP_METHOD_CODE>0</COORD_OP_METHOD_CODE>
    <DX>0</DX>
    <DY>0</DY>
    <DZ>0</DZ>
  </gcs>

gdal_datum.xml

As this geographic system is based upon a new datum, code 1116, I would also need to modify the “gcs.xml” file so that it has contains the details for that new datum by making an entry in the following format.

  <gdal_datum>
    <DATUM_CODE>1116</DATUM_CODE>
    <DATUM_NAME>NAD83 (National Spatial Reference System 2011)</DATUM_NAME>
    <DATUM_TYPE>geodetic</DATUM_TYPE>
    <ORIGIN_DESCRIPTION>Coordinates of a nationwide adjustment of 79,546 NGS "passive" control stations in CONUS and Alaska, constrained to 1,171 current CORS station coordinates at epoch 2010.0.</ORIGIN_DESCRIPTION>
    <REALIZATION_EPOCH>2012</REALIZATION_EPOCH>
    <ELLIPSOID_CODE>7019</ELLIPSOID_CODE>
    <PRIME_MERIDIAN_CODE>8901</PRIME_MERIDIAN_CODE>
    <AREA_OF_USE_CODE>1511</AREA_OF_USE_CODE>
    <DATUM_SCOPE>Geodetic survey.</DATUM_SCOPE>
    <INFORMATION_SOURCE>U.S. National Geodetic Survey, http://www.ngs.noaa.gov/</INFORMATION_SOURCE>
    <DATA_SOURCE>OGP</DATA_SOURCE>
    <REVISION_DATE>2013-06-07</REVISION_DATE>
    <DEPRECATED>0</DEPRECATED>
    <ESRI_DATUM_NAME>D_NAD_1983_2011</ESRI_DATUM_NAME>
  </gdal_datum>  
Share

GeoCue Group Support

GeoCue Group Support has written 796 articles

Leave a Reply