The purpose of this .xml file is to define what the model/document coordinates represent and to define the relationship of the model/document to the real world. Both 3D models and 2D documents can be GeoRegistered with the information in this file. The elements in
<axes/> define the former and the
<points/> define the latter.
There are three coordinate system types that the model/document can represent. Each .xml file may represent only one type coordinate system, either Projected, Geographic or Cartesian. As the document/model's axes may not be aligned correctly with the real world, the .xml file can specify which model/document axis represents what real world axis. Additionally, the axes definition can indicate if the model/document's values are inverted by pre-pending a minus sign ('-') to the axis name for that system's mapping.
At a minimum, the
<axes/> element must contain an empty element indicating what the point representation will be such as
The model/document's points may also be scaled to the real world. You can define what that scaling factor is using the
After the coordinate system type and mappings are defined, the registration points can be properly interpreted to GeoRegister the model/document. The contents of the
<points/> element provide the mapping of model/document values to real world values. Each
<point/> element contains a mapping pair for an individual point.
The real-world coordinate system type must match the one defined in the
<axes/> element and the model/document point indicates if it is a 3D or 2D source.
Currently, a 3D GeoRegistration may include only one point. This point defines the translation of the model to the real world.
A 2D GeoRegistration must have at least two points and may have more. If there are more than two points on a 2D GeoRegistration, they are fit using a least squares method.
The snippet below provides all possible .xml elements:
<georeg version='1.0'> <axes> <projected northe='y' east='x' elev='z' elev-unit='m' /> <!-- OR --> <geographic lat='y' lon='x' elev='z elev-unit='m' /> <!-- OR --> <cartesian y='y' x='x' z='z' elev-unit='m' /> <scale x='1.0' y='1.0' z='1/0' /> </axes> <points> <point> <projected north= east= elev= /> <!-- OR --> <geographic lat= lon= elev= /> <!-- OR --> <cartesian x= y= z= /> <model x= y= z= /> <!-- OR --> <document x= y= /> </point> </points> </georeg>
<cartesian/>are mutually exclusive and the element type in
<axes/>must match the element type of the
<document/>are mutually exclusive
All sub-elements of
<axes/>are defaulted to the values above.
<scale/>element is not required and defaults to 1.0 along all axes.