Survey & RTK Workflows
Bring GPS/RTK survey points into SiteCAD as control points, and generate stake-out CSVs from any selection of entities for field layout with an RTK receiver.
Overview
SiteCAD bridges the gap between field survey equipment and site design. Two common workflows connect them:
Field → SiteCAD
Import GPS/RTK survey points (CSV, GeoJSON, LandXML) as Control Points (CPs). These anchor your site model to real-world coordinates, enabling accurate overlays, measurements, and exports.
SiteCAD → Field
Export entity positions as a stake-out CSV that your RTK controller can read. Use this to lay out designed positions — fence posts, building corners, tree locations — directly on the ground.
Importing GPS/RTK Points as Control Points
Most RTK controllers and total stations export survey data as CSV files. SiteCAD can import these directly and create a Control Point entity for each row.
Step 1 — Prepare Your CSV
Your CSV should have columns for name, latitude, longitude, and height (ellipsoidal, in meters). Coordinates must be in decimal degrees (WGS84). A header row is optional — SiteCAD auto-detects it.
name,lat,lon,height
CP-01,43.65321048,-79.38301022,178.432
CP-02,43.65318200,-79.38295100,178.551
CP-03,43.65325500,-79.38289800,178.210If your RTK exports coordinates in degrees-minutes-seconds (DMS) or UTM/state-plane format, convert them to decimal degrees first. Many RTK controllers have a “WGS84 decimal” export option. You can also ask the AI assistant: “Convert this DMS CSV to decimal degrees.”
Step 2 — Import via the Menu
- Open the menu (hamburger icon, top-left) and select Import
- Click Browse or drag your CSV file into the drop zone
- SiteCAD auto-detects the CSV format and shows a preview with the detected columns and row count
- Choose a parent component if you want the CPs nested under a specific component (e.g., “Survey Points Q1”)
- Click Confirm — one CP entity is created per row with lat/lon/height populated
The entire import is a single undo step. Press Ctrl+Z (or ⌘+Z) to undo all imported points at once.
Alternative — Import via the AI Assistant
You can also import by chatting with the AI assistant. It will walk you through file selection and handle the import automatically.
“Import survey points from my CSV file”
“Import these RTK points as control points under a component called ‘Phase 2 Survey’”
Step 3 — Verify Imported Points
After import, your CPs appear in the scene as cross markers. Verify they’re correct:
- Visual check — CPs should appear at their expected locations on the terrain. Select one and use Fly To to center the camera on it.
- Properties panel — Select a CP to see its lat/lon/height, accuracy, surveyor, and marker type in the properties panel.
- Site anchor — If this is your first survey import and no anchor is set, you may want to set the site anchor point to match your survey’s base station. Go to Menu → Site Settings → Anchor and enter the base station coordinates.
Importing ENU (Local Coordinate) Points
Some RTK controllers and total stations export points in East-North-Up (ENU) coordinates relative to a base station or project origin (anchor point), rather than in lat/lon. SiteCAD can import these too — the key is that your site anchor must be set correspondingly first, since ENU values are only meaningful relative to that origin.
name,east,north,up
CP-01,0.000,0.000,0.000
CP-02,12.450,3.210,0.119
CP-03,-5.320,18.740,-0.222ENU CSVs aren’t handled by the standard import dialog (which expects lat/lon). Instead, use the AI assistant — it will read the columns, convert each ENU position to geodetic via the site anchor, and create CPs with the correct lat/lon/height.
“Import this CSV of ENU survey points as control points”
“Import these local coordinates — the origin is at 43.6532°N, 79.3830°W”
Geodetic (lat/lon/height) is absolute — any receiver in the world resolves the same position. ENU is relative to a local origin (the anchor): East is +X, North is +Y, Up is +Z, in meters. ENU is convenient for small-area work where you want metric distances directly, but you must know the anchor point to convert back to global coordinates. SiteCAD stores CPs in geodetic *and* local coords.
Other Import Formats
CSV isn’t the only option. SiteCAD also imports survey points from:
- GeoJSON — Point features become CPs. Properties like
name,height, andaccuracyare mapped automatically. - LandXML —
<CgPoint>elements in survey data become CPs with full metadata. - DXF — Point entities are imported as CPs. Coordinates are converted from local ENU to geodetic using the site anchor.
CSV Format Reference
Whether importing or exporting, here are the CSV conventions SiteCAD uses.
Geodetic Format (Lat/Lon)
Import CSV (GPS → CPs)
Stake-Out CSV (CPs → RTK)
ENU Format (Local Meters)
ENU coordinates are in meters relative to the site anchor (East = +X, North = +Y, Up = +Z). Use this format when working with local grid systems or when your RTK controller is set up in a local project coordinate system.
Import CSV (ENU → CPs)
Stake-Out CSV (ENU)
Most RTK controllers (Trimble, Leica, Topcon, Hi-Target, Emlid, Smajayu) accept CSV in either geodetic or local grid format. Check your controller’s documentation for the expected column order — some expect lat/lon, others lon/lat; some use easting/northing labels. The AI assistant can reformat the CSV to match your specific device.
Generating a Stake-Out CSV
A stake-out CSV lists the coordinates of entities you want to physically mark in the field. You can export in geodetic (lat/lon) or ENU (local meters) format depending on how your RTK controller is configured. Load the file into your controller, which then guides you to each point.
Method 1 — Ask the AI Assistant
The fastest approach. Select the entities you want to stake out (or don’t select anything to include all), then ask the assistant to generate the CSV.
“Generate a stake-out CSV for the selected entities”
“Create a stake-out CSV of all fence post instances”
“Export a stake-out list for my Trimble — it expects lon,lat,height,name”
“Export all control points as a stake-out CSV with accuracy values”
“Generate a stake-out CSV in ENU local coordinates for the selected entities”
“Export stake-out points in east/north/up meters relative to the site anchor”
The assistant will write a script that queries the entity positions, converts them to geodetic (lat/lon/height) or ENU (east/north/up meters) coordinates, and outputs the CSV. You can copy the result or ask it to download as a file.
Method 2 — Write a Script
For a one-off export, use Menu → New Operation and write or paste a script. This example exports the selected entities (or all CPs if nothing is selected):
const selection = getSelection();
const entities = selection.length > 0
? await getEntities(selection)
: await queryEntities("type = 'g'");
const rows = ['Name,Latitude,Longitude,Height'];
for (const entity of entities) {
const geo = await getWorldGeodetic(entity.id);
if (geo) {
rows.push(
`${entity.name},${geo.lat.toFixed(8)},${geo.lon.toFixed(8)},${geo.height.toFixed(3)}`
);
}
}
output(rows.join('\n'), 'Stake-Out CSV');For ENU output (local meters relative to the site anchor), use getWorldPosition instead:
const selection = getSelection();
const entities = selection.length > 0
? await getEntities(selection)
: await queryEntities("type = 'g'");
const rows = ['Name,East,North,Up'];
for (const entity of entities) {
const pos = await getWorldPosition(entity.id);
if (pos) {
rows.push(
`${entity.name},${pos.x.toFixed(3)},${pos.y.toFixed(3)},${pos.z.toFixed(3)}`
);
}
}
output(rows.join('\n'), 'Stake-Out CSV (ENU)');Click Run to execute. The CSV appears in the output pane where you can copy it to your clipboard or save it to a file.
Use geodetic (lat/lon) when your RTK controller works in WGS84 global coordinates — this is the most common mode. Use ENU when your controller is configured for a local project grid tied to a known base station, or when you’re working with a total station in a local coordinate system.
Method 3 — Use Built-In CSV Export
For a quick export of existing control points:
- Select the CPs you want to export (or select none for all)
- Open Menu → Export
- Choose CSV as the format
- The exported CSV includes name, lat, lon, height, and accuracy columns
AI assistant: Best for ad-hoc exports or custom column orders. Script: Best when you want full control over filtering and formatting. Built-in export: Best for a quick dump of existing CP data. For entities that aren’t CPs (instances, solids, etc.), use the AI or script approach — they compute geodetic coordinates from the entity’s world position.
Creating a Reusable Operation
If you generate stake-out CSVs regularly, save the script as a named Operation so you can run it with one click (or a hotkey).
Save as an Operation
- Open Menu → New Operation
- Give it a name like “Stake-Out CSV”
- Paste your script (see the example above)
- Optionally add parameters to make it configurable (e.g., a filter by entity type or tag)
- Click Save — the operation appears in your operations list
Next time, just open the operation and click Run. You can also assign a hotkey for instant access.
Let the AI Create It
You can ask the AI assistant to create the operation for you:
“Create a saved operation called ‘Stake-Out CSV’ that exports selected entities as a stake-out CSV with name, lat, lon, height”
“Make a stake-out operation with a parameter to choose between all entities or just the selection”
Tips & Troubleshooting
Common Issues
- Points appear at the wrong location — Check that your coordinates are in decimal degrees, not DMS or UTM. Also verify that lat and lon columns aren’t swapped.
- Height values look wrong — SiteCAD uses ellipsoidal height (HAE), not orthometric height (MSL). The difference (geoid undulation) varies by location but can be 20–50 m. Check your RTK’s export settings.
- Stake-out points are offset — Make sure the site anchor is set correctly. The anchor defines the origin for coordinate transformations. If it’s wrong, all computed geodetic positions will be shifted.
- CSV not detected — Ensure the file has a
.csvextension and uses comma, tab, or semicolon delimiters. UTF-8 encoding is recommended.
Best Practices
- Set the site anchor first — Before importing survey data, set the site anchor to your RTK base station or a known benchmark. This ensures all coordinate conversions are accurate.
- Use descriptive CP names — Name your points systematically (e.g.,
BM-01,FENCE-NW-03) so they’re easy to identify in both SiteCAD and on your RTK controller. - Record accuracy metadata — If your RTK exports horizontal and vertical accuracy, include them in the CSV. SiteCAD stores these on the CP entity for quality tracking.
- Group survey campaigns — Place CPs from each survey session under a named component (e.g., “Survey 2026-04-10”). This keeps them organized and makes it easy to show/hide campaigns.
- Back up before re-importing — If you’re replacing survey data, export a scenario bundle first as a backup.