Skip to content

Export NSW LandXML (R3EXPORTLANDXMLNSW)

Command: R3EXPORTLANDXMLNSW

Exports a survey plan from the current drawing to a NSW LandXML 1.2 file conforming to the NSW LRS ePlan CIF Protocol v4.0, suitable for lodgement via the ePlan portal.

Usage

  1. Type R3EXPORTLANDXMLNSW
  2. Select any entity belonging to the plan to export — a parcel polyline, reference mark line, connection, or any entity on a plan layer
  3. In the save dialog, choose a location and filename for the .xml file
  4. R3Survey writes the LandXML file and runs schema validation automatically
  5. Validation results are reported in the command line

The plan is identified from the selected entity's PlanNo XData. If that is not set, R3Survey matches the entity's layer name against known survey plan names. If only one plan exists in the drawing, it is selected automatically.

Prerequisites

Before exporting, ensure:

  • The plan exists as a survey plan in the drawing (created with R3PL or R3IMPORTLANDXML)
  • Plan metadata is complete — surveyor, firm, date, datum, zone, LGA, parish, county, locality, and purpose. See survey plan metadata
  • Parcel polylines are on the plan's component layers or carry PlanNo XData
  • Parcel attributes (lot number, class, state) are set via R3PROPERTIES
  • SCIMS control marks are imported and datum terminals assigned (see SCIMS control marks)
  • Observation overrides are set where legal dimensions differ from drawn geometry (see observation overrides)

What is exported

CgPoints

Every unique vertex across parcels, reference marks, connections, and control traverses is exported as a CgPoint. Coordinates are output as Northing Easting (grid order) to 6 decimal places.

Attribute Source
name Sequential number (1, 2, 3, ...) in order of first encounter
pntSurv Point category — control, boundary, reference, sideshot, or traverse. When a point is shared between categories, the highest priority wins
state proposed or existing — follows the parcel state
oID SCIMS mark number (control points only)
desc Datum terminal designation — A or B (control points only)

Points shared between parcels are deduplicated — each physical vertex appears once.

Control points that coincide with a SCIMS DBPoint on the SCIMS-CTRL layer additionally include an AHD height as a third coordinate value.

Parcels

Each parcel polyline is exported as a Parcel element containing a CoordGeom with Line and Curve elements tracing the boundary geometry.

Attribute Source
name From LotNo XData (or ParcelName if set). "PT" prefix is stripped for Part lots.
class From Class XData — Lot, Road, Easement, etc. Default: auto-populated from layer component type.
state proposed, existing, or adjoining. Default: proposed
parcelType Auto-detected: Part if lot name starts with "PT", otherwise Single. Multipart parents are generated automatically.
parcelFormat From ParcelFormat XData. Default: Standard
area Computed from legal dimensions (traverse from rounded bearings/distances — same calculation as R3LOTEDIT). Written for proposed Lots only. Roads include area only when "Export Road Area" is ticked in R3PROPERTIES. Self-intersecting polylines (>500ppm) do not export an area.
desc Parcel description — road name, easement description, water body name, etc. Written when populated.

A Center element (polygon centroid) is included for closed parcels with three or more vertices.

Both straight segments and arc segments (from polyline bulge values) are included in the geometry.

Part lots and multipart parents

When multiple polylines have the same lot number with a "PT" prefix (e.g. PT101), R3Survey automatically:

  1. Strips the "PT" prefix from the lot name
  2. Sets parcelType="Part" on each individual parcel
  3. Assigns letter suffixes (A, B, C...) to distinguish the parts
  4. Generates a Multipart parent element with parcelType="Multipart" and the summed total area of all parts

The Multipart parent contains nested <Parcels> elements referencing each child by name. This matches the NSW LandXML recipe structure for part lots.

Observations (ReducedObservation / ReducedArcObservation)

Every parcel boundary segment becomes a ReducedObservation (straight) or ReducedArcObservation (arc). Observations from reference mark, connection, and control layers are appended in segment order.

Straight segments

Attribute Source
azimuth Computed from vertex positions, or legal bearing override
horizDistance Computed from vertex positions, or legal distance override
distanceType From override, or plan default. For RM lines: auto-derived from RM State (Found→Adopted, Placed/Found By Me→Measured). Omitted when Measured (the spec default)
azimuthType From override. For RM lines: auto-derived from RM State. Omitted when Measured
desc Segment category — Boundary, Road, Easement, Reference, or Connection
distanceAccClass For RM lines: auto-derived from RM State (Found, Placed, or Found By Me). Not used for other line types.
adoptedDistanceSurvey For RM lines: auto-copied from RM Origin field. For other lines: from override (if set).
distanceAdoptionFactor Combined scale factor (if set)

A FieldNote child element is included when the Dim. Suffix field is set.

Arc segments

Attribute Source
chordAzimuth Computed chord bearing, or legal bearing override
length Computed arc length, or legal arc length override
radius Computed from bulge, or legal radius override
rot cw or ccw — derived from bulge sign
arcType From override, or plan default

Observation types and plan defaults

The plan's Survey Type setting controls the default observation type:

Survey Type Default distanceType Default azimuthType
surveyed Measured (omitted from XML) Measured (omitted)
compiled Compiled Compiled

Per-segment overrides set via R3PROPERTIES take priority over these defaults.

Shared boundary deduplication

When two adjacent lots share a boundary segment, both polylines contain that segment. The exporter deduplicates by matching point pairs in both directions (A to B equals B to A). When a duplicate is found, the version with observation overrides is preferred.

Survey header

The SurveyHeader and its child elements are populated from the survey plan metadata:

Element Source
SurveyHeader@name Plan number (digits only for DP plans)
SurveyHeader@type Survey Type — surveyed or compiled
SurveyHeader@desc Plan Heading
SurveyHeader@surveyorFirm Firm
SurveyHeader@surveyorReference Reference
Personnel@name Surveyor
PurposeOfSurvey@name Purpose
AdministrativeDate "Date Of Survey" Survey date
AdministrativeDate "Registration Date" Registration date (falls back to survey date)
AdministrativeArea entries LGA, Parish, County, Locality, Survey Region

Coordinate system

Element Value
CoordinateSystem@horizontalDatum Always Local (per NSW LRS recipe)
CoordinateSystem@datum From plan Datum setting — MGA2020, MGA94, MM, or Local
CoordinateSystem@verticalDatum From plan Vert. Datum (if set)
CoordinateSystem@desc Orientation plan number (when Datum is MM)
CgPoints@zoneNumber MGA zone number (written only for MGA datums)

Note

The horizontalDatum is always Local because drawing coordinates are in a local (assumed) grid. MGA coordinates for control marks are recorded separately in RedHorizontalPosition elements within the ObservationGroup.

Instrument setups

One InstrumentSetup is created for every unique point that appears as the start or end of an observation. Instrument height is always 0.

SCIMS control data (RedHorizontalPosition)

For each CgPoint that coincides with a SCIMS control mark on the SCIMS-CTRL layer, a RedHorizontalPosition element is written inside the ObservationGroup:

Attribute Source
latitude SCIMS MGA Northing
longitude SCIMS MGA Easting
horizontalDatum MGA2020
horizontalFix From SCIMS
class SCIMS GDA horizontal class
positionalUncertainty SCIMS positional uncertainty
currencyDate SCIMS retrieval date or GDA date (ISO 8601)

The link between plan points and SCIMS marks is by coordinate coincidence — the SCIMS DBPoint must be placed at the same position as the corresponding survey plan vertex.

Monuments

Monument data is read from XData on reference mark and connection line entities. Each endpoint with monument XData becomes a Monument element:

Attribute Source
type From Type field in Reference Mark expander (default: Peg)
state From State field in Reference Mark expander (default: Found)
originSurvey From Origin field in Reference Mark expander (omitted for Placed or Not Marked)

The Monuments block is omitted entirely if no monument data is found in the plan.

For reference mark observation lines, the exporter also auto-derives the ReducedObservation attributes from the same RM fields — distanceType, distanceAccClass, and adoptedDistanceSurvey are all set automatically based on the RM State and Origin. See Drawing reference marks for details.

Set monument data using the Reference Mark expander in R3PROPERTIES.


Number formatting

Distances are exported using your current R3UNITS length precision settings (significant figures, rounding), formatted as plain decimals with no thousands separator and no unit abbreviation. All distances are in metres.

Bearings use the NSW decimal DDD.MMSS format (e.g. 45.3015 = 45 degrees 30 minutes 15 seconds).

Areas are computed in square metres from polyline geometry.


Schema validation

After writing the file, R3Survey automatically validates the output against:

  • LandXML-1.2.xsd — the base LandXML schema
  • NSW ePlan CIF Protocol v4.0 — NSW-specific structure rules
  • NSW ePlan CIF Enumerated Types v4.0 — valid values for coded fields

Validation results are reported in the command line:

  • [VALIDATION] Schema validation PASSED — no errors. — the file is structurally valid
  • [VALIDATION] Schema validation: N error(s): — lists each error with line number
  • [VALIDATION] LandXML-1.2.xsd not found — schema validation skipped. — XSD files not found in the installation

Note

The export file is always written regardless of validation results. Fix any reported errors and re-export as needed. Schema validation checks XML structure — it does not check NSW business rules (misclose, area consistency, etc.).


How parcels are found

Polylines are included in the export if they meet either condition:

  • The entity has PlanNo XData matching the selected plan, or
  • The entity is on the plan's Boundaries component layer (from R3PLANLAYERSETTINGS)

This means polylines drawn on the correct plan layer are automatically included in the export even without being explicitly tagged with PlanNo XData.

Entities on the plan's Reference Marks, Other (connections), and Control component layers are also included as observations:

Component layer Observation desc Use for
Reference Marks Reference Lines from boundary corners to reference marks
Other (connections) Connection Lines from SCIMS marks to survey corners
Control Connection Lines between SCIMS marks (control traverse)

See Drawing layers for NSW LandXML export for the full layer setup guide.


Pre-export and post-export checks

  • Before export: Run R3XMLVALIDATE to check for common issues (missing metadata, unclosed parcels, misclose failures, self-intersecting geometry, missing lot numbers).
  • After export: Run R3XMLREPORT to generate a readable text report from the exported file. Check bearings, distances, areas, and reference marks against the plan.

See also