Coordinate reference system
A Coordinate System is a set of mathematical rules for specifying how coordinates are to be assigned to points.
The coordinate system is unrelated to the Earth. A Coordinate Reference System (CRS) is a coordinate system related to the Earth through a Datum. A Geodetic Datum is a model of the Earth that specifies a reference surface (Ellipsoid or Spheroid).
A projected coordinate reference system is the result of the application of a map projection to a geographic coordinate reference system. A map projection is a type of coordinate conversion. It uses an identified method with specific formulas and a set of parameters specific to that coordinate conversion method.
Coordinates may be changed from one CRS to another through the coordinate operation. Two types of coordinate operation may be distinguished:
- coordinate conversion, where no change of datum is involved and the parameters are chosen and thus error free.
- coordinate transformation, where the target CRS is based on a different datum to the source CRS. Transformation parameters are empirically determined and thus subject to measurement errors. (Geodetic, Seven parameters, Molodenksy...)
Geographic datasets are defined in geodatabase.xmlthat is placed in <User folder>\AppData\Roaming\Bricsys\BricsCAD\<RELEASE>\en_US\Support for Windows. The content of this file is composed of the 5 sections:
- CoordinateReferenceSystems
- Datums
- Ellipsoids
- Transformations
- ProjectionCode and Methods
CoordinateReferenceSystems
This section is the main XML node where all Coordinate Reference Systems are defined. It has many sub-nodes called CRS, each XML node must define a unique projected coordinate reference system and the necessary projected parameters.
The supported CRS projection types are described in the ProjectionCode and Methods sections.
CRS node attributes:
Follow Table 1 of OGP Geomatics Guidance Note No 7, part 2
Attribute name | Description | Units |
---|---|---|
epsg | Unique EPSG database id. | Integer |
name | Human-readable name of CRS, Example: "WGS 84 -- WGS84 - World Geodetic System 1984, used in GPS". | String |
codeSpace | Owner of CRS. It is option. | String |
x, y | Orientation of projected direction. Possible values:
|
String |
xAxis, yAxis | Orientation of geographic direction. Possible values:
|
String |
Greenwich | Greenwich Meridian relation. | Degree |
proj |
Projection method of CRS. Possible values:
|
String |
AngleSG | Angle from Rectified to Skew Grid. | Degree |
Azimuth | Azimuth of initial line. | String |
FE | Easting at false origin, False easting. | Float-Point value in CRS units |
EC | Easting at projection center. | Float-Point value in CRS units |
FN | Northing at false origin, False northing. | Float-Point value in CRS units |
FC | Northing at projection center. | Float-Point value in CRS units |
LonI | The longitude of the western limit of the first zone of a Transverse Mercator zoned grid system. | Degree |
Lat | Latitude of natural origin, Latitude of standard parallel. It depends on Projection method. | Degree |
Lat1 | Latitude of 1st standard parallel. | Degree |
Lat2 | Latitude of 2nd standard parallel. | Degree |
LatF | Latitude of false origin. | Degree |
LatC | Latitude of projection center. | Degree |
Lon | Longitude of natural origin, Longitude of origin. | Degree |
LonF | Longitude of false origin. | Degree |
LonC | Longitude of projection center. | Degree |
SF | Scale factor at natural origin. | Float-Point value, unity |
SFIL | Scale factor on initial line. | Float-Point value, unity |
SFPSP | Scale factor on pseudo standard parallel. | Float-Point value, unity |
W | Zone width in longitude. | Degree |
zone | Zoned Grid System. | Degree |
units | Units of conversion result from geographic coordinates to projected. Example: "Meter", unit "Degree" means no conversion, Geographic Coordinate System. | String |
<CRS epsg="31468" codeSpace="OGP" name="DHDN / 3-degree Gauss-Kruger zone 4" y="Easting" x="Northing" Greenwich="0" proj="TMerc" Lon="12" Lat="0" SF="1" FE="4500000" FN="0" zone="4" units="Meter">
For each node CRS there should be at least one sub-node Datum that refers via epsg or alias attributes to sub-node Datum in the Datums section. The sub-node Datum MUST have the id attribute of a unique CRS name. At least one of the epsg code and the alias of Datum must be valid.
Attribute name | Description | Units |
---|---|---|
epsg | Unique EPSG database id. Example: "4326". | Integer |
alias | Unique Datum name. Example: "WGS 84". | String |
id | Unique CRS name: combination of Projected method and Datum. Example: "WORLD-MERCATOR". It related to CS-MAP, AutoCAD names. | String |
pjcode |
Indicate code for the coordinate reference system projection method types. Corresponded to AutoCAD projection codes. For example, 3 - Transverse Mercator, 44 - UTM, 45 - Transverse Mercator of Snyder formulation and etc. |
Integer |
<Datum epsg="6314" alias="DHDN/3" id="DHDN/3.Gauss3d-4" pjcode="3" />
<Datum epsg="6314" alias="DHDN/2" id="DHDN/2.Gauss3d-4" pjcode="3" />
<Datum epsg="6314" alias="DHDN" id="DHDN.Gauss3d-4" pjcode="3" />
Datums
This section is a main node where all Datums are stored. Datum is a combination of the Earth model (Ellipsoid or Spheroid) and the transformation method to model WGS84. A Datum node specifies common parameters and contains at least one inner sub-nodes Datum exactly one sub-node Ellipsoid. Each inner sub-node Datum should define a unique name within the id attribute and may specify transformation parameters to WGS84 model via sub-node Transformation that refers via epsg or alias attributes to a sub-node Transformation in the Transformations section.
Attribute name | Description | Units |
---|---|---|
alias | Unique id. Example: "DHDN/3". It is related to CS-MAP, AutoCAD names. | String |
epsg | Unique EPSG database id. Example: "6314". | Integer |
name | Human-readable name of Datum. Example: "Deutsches Hauptdreiecksnetz". | String |
codeSpace | Owner of CRS. It is optional. | String |
<Datums>
<Datum epsg="6314" codeSpace="OGP" name="Deutsches Hauptdreiecksnetz ">
<Datum id="DHDN/3">
<Transformation epsg="1777" alias="DHDN/3_to_WGS84" />
</Datum>
<Datum id="DHDN/2" name="Deprecated - Replaced by DHDN/3">
<Transformation epsg="1777" alias="DHDN/2_to_WGS84" />
</Datum>
<Datum id="DHDN" name="Deprecated - Replaced by DHDN/2">
<Transformation epsg="1673" alias="DHDN_to_WGS84" />
</Datum>
<Ellipsoid epsg="7004" alias="BESSEL" />
</Datum>
…
</Datums>
Ellipsoids
The Ellipsoids section is the main section where models of the Earth are defined. Each Ellipsoid node should define an identification by a unique name (alias) and a semi-major axis (a) and one of the following attributes at least: flattering (f), semi-minor axis (b) or eccentricity (e).
Attribute name | Description | Units |
---|---|---|
alias | Unique id. Example: "WGS84". It related to CS-MAP, AutoCAD names. | String |
epsg | Unique EPSG database id. Example: "7030". | Integer |
name | Human-readable name of Datum, Example: "WGS 84". | String |
codeSpace | Owner of CRS. It is optional. | String |
a | Length of the semi-major axis of the ellipsoid, the radius of the equator. | Float-Point value, strongly in Meter |
b | Length of the semi-minor axis of the ellipsoid, the distance along the ellipsoid axis between equator and pole. | Float-Point value, strongly in Meter |
f | Flattening | Float-Point value, unity |
e | Eccentricity | Float-Point value, unity |
<Ellipsoid epsg="7008" alias="CLRK66" name="Clarke 1866, Benoit Ratio" a="6378206.4000000004" b="6356583.7999999998" f="294.9786982139" e="0.0822718542" />
Transformations
This section is a main node where all transformation methods are defined. Supported Transformation methods are described in the ProjectionCode and Methods sections.
Attribute name | Description | Units |
---|---|---|
alias | Unique id. Example: "DHDN_to_WGS84". It related to CS-MAP, AutoCAD names. | String |
epsg | Unique EPSG database id. Example: "1673". | Integer |
codeSpace | Owner of Transformation. It is optional. | String |
source | Source Datum. | String |
target | Target Datum. | String |
use | Transformation method. Supported transformations using
geocentric methods:
|
String |
method | Methods of building of rotation matrix, if applicable, "PVT" is Position Vector Transformation, "CFR" is Coordinate Frame Rotation. | String |
tX | X-axis translation. | Meter |
tY | Y-axis translation. | Meter |
tZ | Z-axis translation. | Meter |
rX | X-axis rotation. | Degree |
rY | Y-axis rotation. | Degree |
rZ | Z-axis rotation. | Degree |
dS | Scale difference. | Unity |
xp | Coordinate 1 of evaluation point. | Meter |
yp | Coordinate 2 of evaluation point. | Meter |
zp | Coordinate 3 of evaluation point. | Meter |
dtX | Rate of change of X-axis translation. | Unity |
dtY | Rate of change of Y-axis translation. | Unity |
dtZ | Rate of change of Z-axis translation. | Unity |
drX | Rate of change of X-axis rotation. | Unity |
drY | Rate of change of Y-axis rotation. | Unity |
drZ | Rate of change of Z-axis rotation. | Unity |
ddS | Rate of change of scale difference. | Unity |
t0 | The reference epoch for time-dependent parameters. | Float point value |
fallback | Alias of transformation from target datum to WGS84 datum. | String |
<Transformation epsg="1679" alias="Pulkovo42/2_to_WGS84" src="Pulkovo42/2" trd="WGS84" use="Param7" method="CFR" tx="-40.595" ty="-18.55" tz="-69.339" ds="-4.299" rx="-2.508" ry="-1.832" rz="2.611" accuracy="9" />
ProjectionCode and Methods
These sections describe the ProjectionCode and Methods that are mapped to AutoCAD definitions of projections and transformations types. They are used to store the definitions in an XML file of coordinate reference system definition inside the AcDbGeoData object that represents a geographic location.