landxml – LandXML

New in version 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:

<?xml version="1.0" encoding="utf-8"?>
<LandXML xmlns="http://www.landxml.org/schema/LandXML-1.2" time="15:49:09" date="2006-06-19" version="0" language="English" readOnly="false">
<Units>
<Metric linearUnit="meter" temperatureUnit="celsius" volumeUnit="cubicMeter" areaUnit="squareMeter" pressureUnit="milliBars" angularUnit="decimal dd.mm.ss" directionUnit="decimal dd.mm.ss">
</Metric>
</Units>
<CgPoints>
<CgPoint oID="2748159" state="existing" pntSurv="boundary" name="Q">312.04999999981374 274.33400000003166</CgPoint>
<CgPoint oID="2748179" state="existing" pntSurv="boundary" name="W">308.8430000003427 277.0350000000326</CgPoint>
<CgPoint oID="2746236" state="existing" pntSurv="boundary" name="M">306.9670000001788 19.508999999961816</CgPoint>
</CgPoints>
<Survey>
<SurveyHeader name="IS185989" headOfPower="Survey and Mapping Infrastructure Act 2003" surveyFormat="Identification" surveyPurpose="Identification" desc="Plan of Identification Survey of Lots 26 &amp; 27 on RP726990 " type="surveyed" surveyStatus="Survey Records Only" fieldNoteFlag="false" submissionDate="2006-04-07" documentStatus="Captured">
<CoordinateSystem horizontalDatum="Local" verticalDatum="Arbitrary" />
</SurveyHeader>
<InstrumentSetup id="IS-7-IS185989" stationName="7-IS185989" instrumentHeight="0">
<InstrumentPoint pntRef="7-IS185989" />
</InstrumentSetup>
<InstrumentSetup id="IS-70-IS185989" stationName="70-IS185989" instrumentHeight="0">
<InstrumentPoint pntRef="70-IS185989" />
</InstrumentSetup>
<ObservationGroup id="OG-1">
<ReducedObservation name="3" setupID="IS-7-IS185989" targetSetupID="IS-70-IS185989" azimuth="302.504" horizDistance="10.81" distanceType="measured" azimuthType="measured" purpose="traverse" equipmentUsed="theodolite EDM" />
<ReducedObservation name="6" setupID="IS-72-IS185989" targetSetupID="IS-73-IS185989" azimuth="110.274" horizDistance="37.55" distanceType="measured" azimuthType="measured" purpose="traverse" equipmentUsed="theodolite EDM" />
<ReducedObservation name="4" setupID="IS-70-IS185989" targetSetupID="IS-71-IS185989" azimuth="359.512" horizDistance="52.12" distanceType="measured" azimuthType="measured" purpose="traverse" equipmentUsed="theodolite EDM" />
<ReducedObservation name="5" setupID="IS-71-IS185989" targetSetupID="IS-72-IS185989" azimuth="359.512" horizDistance="24.574" distanceType="measured" azimuthType="measured" purpose="traverse" equipmentUsed="theodolite EDM" />
</ObservationGroup>
</Survey>
<CoordinateSystem datum="OfPlan" desc="Vide IS185958" />
</LandXML>

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 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 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 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