Import design points, lines and surfaces

Bring CSV, PNEZD, GeoJSON, GPX, KML, DXF, LandXML, GeoPackage and zipped shapefiles into a project as design features you can stake out.

On this page

Import brings in coordinates someone else produced, such as control, design points, a GPX route, a CAD drawing or a LandXML surface. Everything you import becomes a design feature. It's kept apart from what you measured, drawn dashed in the stakeout colour, and ready to stake out, check against or view as a route in 3D.

Before you start

  • An active project. Imports go into the active project.
  • The file in the Files app. See Getting files onto the phone.
  • The zone, if the file holds northings and eastings. For a CSV of northings and eastings, set the project's zone first under Tools → Coordinate system. Without it the import stops with "These look like projected coordinates (northing/easting). Pick your zone first…". For DXF, LandXML, GeoPackage and shapefiles you can pick the zone in the import sheet itself.

Import a file

  1. Go to Tools → Import points & routes.
  2. The Files picker opens. Choose your file.
  3. The Import sheet opens with a summary, for example 12 design points · 2 routes found in site.csv. Under the summary you'll see any notes, such as which zone northings and eastings were read in, and warnings in orange, such as rows skipped.
  4. Answer the questions the sheet asks. Only the ones that apply to this file appear; see The import questions.
  5. Check Preview. It lists the first five points with their coordinates and descriptions, and the first five lines with their vertex count, length and height range.
  6. Tap Import as design features. The app switches to the Survey map.

Tap Cancel to leave without importing anything. If the file can't be read, a Couldn't import alert says why.

What each format becomes

The app recognises a file by its contents, not its extension. A LandXML file saved as .xml, or a DXF with an unusual name, still imports.

Format What's read Becomes
CSV / text One point per row. Comma, semicolon or tab separated. Design points
PNEZD point file Point, northing, easting, elevation, description. See No header row. Design points
GeoJSON Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection Points, routes, areas
GPX Waypoints; tracks and routes, with elevations and times Points; routes
KML Placemarks with a Point, LineString or Polygon Points, routes, areas
DXF POINT; POLYLINE and LWPOLYLINE (closed ones become areas) Points, routes, areas
LandXML CgPoints; PlanFeatures; Parcels; Surfaces (TINs) Points; routes; areas; design surfaces
GeoPackage (.gpkg) Every feature layer of points, lines and polygons, including multi-part geometries Points, routes, areas
Shapefile, zipped Every .shp in the ZIP, with its .dbf, .prj and .cpg Points, routes, areas

In the project, points become Design Point, open lines become Design Line / Route and closed rings become Design Area. Unnamed features are numbered for you (Design Point 1, Route 1, Design Area 1), starting after the highest number already in use. A feature's description or code goes into its notes.

Imported features have no accuracy estimate and no fix type. They're recorded as imported design data, and exports mark them with the design role.

Where names and descriptions come from

  • GeoJSON: name from the name or id property; description from description, desc, code or notes.
  • DXF: names come back only from drawings this app exported. Otherwise the description is the entity's layer name.
  • GeoPackage and shapefile: name and description from attribute columns with the same names a CSV uses (see below). If there's no description, the layer name is used.

What doesn't come in

  • Polygon holes. Only the outer ring of a polygon is imported. The sheet counts the holes it skipped.
  • Text labels in a DXF. TEXT and MTEXT are ignored, and the sheet says how many.
  • Multi-segment GPX tracks are joined into one route, with a "segments joined" note.
  • Shapefile MultiPatch features, and shapefile records marked as deleted, are skipped.
  • Multi-part shapefile records become one feature per part, numbered (1), (2) and so on.
  • KMZ. A KMZ is zipped, so it isn't read. Export plain KML instead.
  • A GeoPackage with no feature layers (tiles or plain tables only) is refused.
  • A loose .shp. A shapefile has to arrive as a ZIP of its .shp, .shx, .dbf and .prj. Otherwise you'll see "That zip has no .shp in it."

CSV columns

If the first row is a header, columns are matched by name. Matching ignores case, but the name must match exactly:

Meaning Accepted column names
Latitude lat, latitude, y_wgs84, lat_dd
Longitude lon, lng, long, longitude, x_wgs84, lon_dd
Northing northing, north, n, y
Easting easting, east, e, x
Name name, point, pt, id, label, point_id, pointid
Description description, desc, code, notes, comment
Elevation elev, elevation, z, alt, altitude, height
  • If the file has both a latitude and a longitude column, it's read as WGS 84 degrees and any northing or easting columns are ignored.
  • Otherwise a northing and an easting column make it a projected file, read in a zone.
  • Fields in double quotes can contain the separator.
  • Rows without readable coordinates are skipped and counted, for example 3 rows skipped (unparseable).

No header row (PNEZD)

Without a recognised header, each row is read by position:

  • If the first field isn't a number, the row is read as name, northing, easting, elevation, description. This is the PNEZD layout.
  • If the first field is a number, the first two fields are taken as the coordinates, followed by elevation and description.

Coordinates that fit latitude and longitude ranges are read as latitude, longitude. Anything larger is read as northing, easting in the project's zone.

The import questions

Coordinate system of the file

This appears for any file with northings and eastings. Northing/easting are in is set to the zone the file declares, if it declares one. LandXML, GeoPackage and shapefiles with a .prj can. Otherwise it starts on the project's zone, which is only a guess.

If the file came from a different zone, the points land hundreds of metres out and still look plausible, so check it. Changing the zone recalculates the preview straight away. If no zone is chosen (— pick a zone —), Import as design features stays disabled.

Heights in file are

This appears when the file has heights and doesn't say what they're measured from. Choose Above sea level (the default; GPX and most GIS exports use it) or Ellipsoidal for raw GNSS heights above the WGS 84 ellipsoid. The two differ by tens of metres.

Heights are measured in

Choose Meters, Feet or US survey feet. This setting only affects heights; northings and eastings are read in the zone's own unit.

  • LandXML states its unit, and a DXF may state it in its header. When the file states a unit, that's pre-selected.
  • Otherwise the unit follows the zone: US survey feet for a ftUS zone, Feet for an international-foot zone, Meters otherwise.

Heights are converted to metres on the way in. Reading feet as metres scales every height by 3.28.

Duplicate names

If a point's name already exists in the project, or appears more than once in the file, a Duplicate names section lists a few of them. Names match regardless of case and surrounding spaces. Choose:

  • Rename (the default): keeps both, adding (2), (3) and so on to the incoming name.
  • Skip: leaves the existing point alone and drops the incoming one.
  • Import anyway: accepts two points with one name.

Design surfaces

If a LandXML file contains surfaces, they're listed with their triangle counts and imported along with the points. They're stored with the project but aren't assets. Find them under Tools → Design surfaces, with cut and fill for every collected point.

Getting files onto the phone

Imports start inside the app, from the Files picker. It shows On My iPhone, iCloud Drive and any other storage provider you've set up in Files. To get a file there:

  • Email or Messages: open the attachment and save it to Files.
  • AirDrop: send it from a Mac, then save it to Files.
  • iCloud Drive or another cloud provider: put it there from your computer. It then appears in the picker.