.. _LandXML website: http://www.landxml.org/
.. _if_landxml:
=========================
:mod:`landxml` -- LandXML
=========================
.. moduleauthor:: Damien Gaignon
.. versionadded:: 0.6
LandXML is committed to providing an non-proprietary data standard (LandXML),
driven by an consortium of partners for the inter-operability of data utilized
within the Land Development industry.
The official documentation about the format is provided on the `LandXML website`_.
LandXML is a specialized XML (eXtensible Mark-up Language) data file format
containing civil engineering and survey measurement data commonly used in the
Land Development and Transportation Industries.
For example::
312.04999999981374 274.33400000003166
308.8430000003427 277.0350000000326
306.9670000001788 19.508999999961816
LandXML structure
=================
LandXML use a schema which specifies how to formally describe the elements of
the document. The schema currently used is version 1.2.
Tags and attributs
------------------
+------------------+--------------------+------------------+--------------------------+
| Tag | Attribut | Parent tag | :class:`formats.Feature` |
+==================+====================+==================+==========================+
| Units | | | |
+------------------+--------------------+------------------+--------------------------+
| Metric | | Units | |
+------------------+--------------------+------------------+--------------------------+
| | linearUnit | | dist_unit |
+------------------+--------------------+------------------+--------------------------+
| | angularUnit | | angle_unit |
+------------------+--------------------+------------------+--------------------------+
| Imperial* | | Units | |
+------------------+--------------------+------------------+--------------------------+
| Survey | | | |
+------------------+--------------------+------------------+--------------------------+
| SurveyHeader* | | Survey | |
+------------------+--------------------+------------------+--------------------------+
| Equipment* | | Survey | |
+------------------+--------------------+------------------+--------------------------+
| CgPoints | | Survey | "PT" in feature |
+------------------+--------------------+------------------+--------------------------+
| CgPoint | | CgPoints | :class:`formats.Point` |
+------------------+--------------------+------------------+--------------------------+
| | name | CgPoints | point_name |
+------------------+--------------------+------------------+--------------------------+
| Feature | | CgPoint | |
+------------------+--------------------+------------------+--------------------------+
| Property | | Feature | |
+------------------+--------------------+------------------+--------------------------+
| | values | | attrib |
+------------------+--------------------+------------------+--------------------------+
| InstrumentSetup | | Survey | "ST" in feature |
+------------------+--------------------+------------------+--------------------------+
| | id | | station_id |
+------------------+--------------------+------------------+--------------------------+
| | stationName | | point_name |
+------------------+--------------------+------------------+--------------------------+
| | instrumentHeight | | ih |
+------------------+--------------------+------------------+--------------------------+
| | orientationAzimuth | | hz0 |
+------------------+--------------------+------------------+--------------------------+
| | circleAzimuth | | hz0 |
+------------------+--------------------+------------------+--------------------------+
| Feature | | InstrumentSetup | |
+------------------+--------------------+------------------+--------------------------+
| Property | | Feature | |
+------------------+--------------------+------------------+--------------------------+
| | values | | attrib |
+------------------+--------------------+------------------+--------------------------+
| ObservationGroup | | Survey | |
+------------------+--------------------+------------------+--------------------------+
| | setupID | | station_id |
+------------------+--------------------+------------------+--------------------------+
| Backsight | | ObservationGroup | |
+------------------+--------------------+------------------+--------------------------+
| | circle | | circle |
+------------------+--------------------+------------------+--------------------------+
| | setupID | | "setup" + id |
+------------------+--------------------+------------------+--------------------------+
| BacksightPoint | | ObservationGroup | |
+------------------+--------------------+------------------+--------------------------+
| | name | | |
+------------------+--------------------+------------------+--------------------------+
| RawObservation | | ObservationGroup | "PO" in feature |
+------------------+--------------------+------------------+--------------------------+
| | setupID | | station_id |
+------------------+--------------------+------------------+--------------------------+
| | azimuth | | azimuth |
+------------------+--------------------+------------------+--------------------------+
| | horizAngle | | angle |
+------------------+--------------------+------------------+--------------------------+
| | zenithAngle | | z_angle |
+------------------+--------------------+------------------+--------------------------+
| | slopeDistance | | dist |
+------------------+--------------------+------------------+--------------------------+
| | horizDistance | | dist |
+------------------+--------------------+------------------+--------------------------+
| | targetHeight | | th |
+------------------+--------------------+------------------+--------------------------+
| TargetPoint | | RawObservation | :class:`formats.Point` |
+------------------+--------------------+------------------+--------------------------+
| | desc | | point_name |
+------------------+--------------------+------------------+--------------------------+
| | name | | point_name |
+------------------+--------------------+------------------+--------------------------+
| Feature | | RawObservation | |
+------------------+--------------------+------------------+--------------------------+
| Property | | Feature | |
+------------------+--------------------+------------------+--------------------------+
| | values | | attrib |
+------------------+--------------------+------------------+--------------------------+
\* Not implemented
Annotations
-----------
Units :
All angular and direction values default to radians unless otherwise noted.
Angular values, expressed in the specified Units.angleUnit are measured
counter-clockwise from east=0. Horizontal directions, expressed in the specified
Units.directionUnit are measured counter-clockwise from 0 degrees = north.
CgPoints :
A collection of COGO points. (Cg = COGO = Cordinate Geometry).
InstrumentSetup :
The Instrument setup location is defined by either a coordinate text value
("north east" or "north east elev") or a CgPoint number reference "pntRef"
attribute.
ObservationGroup :
All observations to the same point in a group should be averaged together
(they have consistant orientation).
TargetPoint :
Represents a 2D or 3D location for the target.
It is defined by either a coordinate text value ("north east" or "north east
elev") or a CgPoint number reference "pntRef" attribute.
Known limitations
=================
Support for all tags is still incomplete, here is a list of **TODO**:
* add all missing tags
* add the possibility to customize code
.. seealso::
`Schema 1.2 for LandXML `_ |br|