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¶
- Type
R3EXPORTLANDXMLNSW - If no working plan is set, select any entity belonging to the plan to export
- In the save dialog, choose a location and filename for the
.xmlfile - R3Survey writes the LandXML file and runs schema validation automatically
- Validation results are reported in the command line
Prerequisites¶
Before exporting, ensure:
- The plan exists as a survey plan in the drawing (created with
R3PLorR3PLANLAYERSETTINGS) - Plan metadata is complete — surveyor, firm, date, datum, zone, LGA, parish, county, locality, purpose, and scale factor (CSF). See survey plan metadata
- Parcel polylines are on the plan's component layers with attributes set via
R3PROPERTIES— lot number, class, state - SCIMS control marks are imported as R3_PM_A blocks on the Control Marks layer, with datum terminals assigned (X and Y)
- Mark blocks (R3_BC_A, R3_RM_A, R3_PM_A) are in model space — marks placed on a layout are not exported (see Annotative mark blocks)
- Observation overrides are set where legal dimensions differ from drawn geometry (see observation overrides)
- Issues reported by
R3XMLVALIDATEhave been addressed - Lot dimensions and areas have been reviewed with
R3LOTEDIT
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.
Points shared between parcels are deduplicated — each physical vertex appears once.
Control points that coincide with an R3_PM_A block on the plan's Control Marks layer additionally include an AHD height as a third coordinate value.
Parcels¶
Each parcel polyline is exported as a Parcel element containing geometry that traces the boundary.
| What is written | Source |
|---|---|
| Name | From Lot field in R3PROPERTIES. "PT" prefix is stripped for Part lots. |
| Class | From Class dropdown — Lot, Road, Easement, etc. Auto-populated from layer component type. |
| State | proposed, existing, or adjoining. Default: proposed. |
| Type | Auto-detected: Part if lot name starts with "PT", otherwise Single. |
| Format | From ParcelFormat. Default: Standard. |
| Area | From area override if set, otherwise computed from legal dimensions (traverse from rounded bearings/distances — same calculation as R3LOTEDIT). See Area below. |
| Description | Road name, easement description, water body name, etc. Written when populated. |
A centroid point 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.
Area¶
The exported area follows this priority:
- Area override — if set in the Areas expander in R3PROPERTIES, this value is used directly
- Computed legal area — calculated from the legal dimensions (bearings and distances, including any dimension overrides) using the same traverse calculation as R3LOTEDIT
- No area — if the polyline is self-intersecting (>500ppm difference), no area is exported
Area is written for:
- Lots — always (proposed and existing)
- Roads — only when Export Road Area is ticked in the Areas expander in R3PROPERTIES
- Other parcel classes — when an area is available
Part lots and multipart parents¶
When multiple polylines have the same lot number with a "PT" prefix (e.g. PT101), R3Survey automatically:
- Strips the "PT" prefix from the lot name
- Sets the type to
Parton each individual parcel - Assigns letter suffixes (A, B, C...) to distinguish the parts
- Generates a Multipart parent with the summed total area of all parts (using area overrides where set)
Observations¶
Every parcel boundary segment becomes an observation with bearing and distance. Observations from reference mark, connection, and control layers are also included.
| What is written | Source |
|---|---|
| Bearing | Computed from vertex positions, or legal bearing override |
| Distance | Computed from vertex positions, or legal distance override |
| Category | Boundary, Road, Easement, Reference, or Connection — determined by the component layer |
| Method | From Survey Leg Properties (Method field). Default: Measured for surveyed plans, Compiled for compiled plans. Omitted when it matches the plan default. |
| Dim. Suffix | Free text from the Dimension Overrides expander, included as a field note |
For arc segments, the chord bearing, arc length, radius, and rotation direction are written. Overrides for arc length and radius are used when set.
For reference mark lines, the observation attributes are auto-derived from the RM State and Origin fields — see Reference Mark expander.
Combined scale factor (CSF)¶
The plan's CSF is written only on Control layer observations (traverse lines between SCIMS marks). It is NOT applied to boundary, connection, or reference mark observations. All plan dimensions are ground distances.
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. When a duplicate is found, the version with observation overrides is preferred.
Survey header and coordinate system¶
The survey header is populated from the plan metadata set in R3PL or R3PLANLAYERSETTINGS — plan number, survey type, plan heading, surveyor, firm, reference, date, purpose, and administrative areas (LGA, parish, county, locality, region).
The coordinate system horizontal datum is always Local (per the NSW LRS recipe). MGA coordinates for control marks are recorded separately in the SCIMS control data.
SCIMS control data¶
For each CgPoint that coincides with an R3_PM_A block on the plan's Control Marks layer, the mark's MGA coordinates, accuracy class, positional uncertainty, and currency date are included in the exported file. The link is by coordinate coincidence — the R3_PM_A block insertion point must match the corresponding survey plan vertex.
Moved marks
Mark blocks are annotative, and each annotation scale can hold its own position. If a PM has been moved at one scale only, the export may read a different position from the one a viewport shows, and the PM will no longer coincide with its control line end — its SCIMS data is then left out. Move marks with MOVE in the Model tab then R3RESETMARKS (see Moving marks).
The export pre-check and R3XMLVALIDATE warn about any R3_PM_A that isn't at a control point: "SSM 12345 is not at any control point — its SCIMS data will not be exported" (rule R3-PM in the validator). Fix these before lodging.
Monuments¶
Monument data is read from the R3_BC_A and R3_RM_A blocks in model space (placed by R3INSERTCORNERS) and from reference mark line XData. Each corner or mark with monument data is included with its type, state, and origin survey. Default for boundary corners is Peg/Placed — you only need to change the details for non-standard marks.
Two States produce no Monument element:
- No Mark Required — a referenced point that isn't a subject boundary corner (e.g. an adjoining corner). The point is still exported with its normal type.
- Traverse Only — a traverse point with no physical mark. The point is exported as
pntSurv="traverse".
If a mark is found at a No Mark Required point, set its Type — the State switches to Found and the mark is exported.
Number formatting¶
Distances are exported using your current R3UNITS length precision settings (significant figures, rounding), formatted as plain decimals with no thousands separator. All distances are in metres.
Bearings use the NSW decimal DDD.MMSS format (e.g. 45.3015 = 45°30′15″).
Areas are in square metres.
Schema validation¶
After writing the file, R3Survey automatically validates the output against the LandXML-1.2 schema and NSW ePlan CIF Protocol v4.0 rules. Results are reported in the command line.
The export file is always written regardless of validation results. Fix any reported errors and re-export as needed.
Note
Schema validation checks XML structure — it does not check NSW business rules (misclose, area consistency, etc.). Use the LRS Connect Digital Plans Validation Tool for full validation before lodgement.
How parcels are found¶
Polylines are included in the export if they are on a recognised plan component layer or carry PlanNo XData matching the selected plan. Entities on the following component layers are included:
| Component layer | What is exported |
|---|---|
| Boundaries | Parcel geometry + boundary observations |
| Roads | Parcel geometry + road observations |
| Easements | Parcel geometry + easement observations |
| Hydrography | Parcel geometry + boundary observations |
| Administrative Areas | Parcel geometry |
| Adjoining Boundaries | Connection observations (dimensioned, no parcel element) |
| Reference Marks | Reference observations |
| Connections | Connection observations |
| Control | Connection observations + CSF |
See Drawing layers for NSW LandXML export for the full layer setup guide.
Pre-export and post-export checks¶
- Before export: Run
R3XMLVALIDATEto check for common issues, including PMs that aren't at a control point. RunR3LOTEDITon each parcel to review dimensions and areas. - After export: Run
R3XMLREPORTto generate a readable summary. Check bearings, distances, and areas against the plan. Optionally runR3IMPORTLANDXMLto import the XML back into a new drawing as a cross-check.
See also¶
- NSW Digital Plans overview — end-to-end workflow and plan metadata
- Drawing Workflow — step-by-step drawing guide
- Observation Overrides — setting and checking legal dimension overrides
- Natural Boundaries — natural boundary export workflow
- Known Limitations — unsupported scenarios
- R3PROPERTIES — viewing and editing parcel and observation properties
- R3XMLVALIDATE — pre-export validation
- R3XMLREPORT — post-export report