Editing¶
Creating features¶
Edit › Create draws new points, lines and polygons into the layer selected in Layers:
click once for a point, or click each vertex and double-click to finish a line or polygon
(Esc cancels). Delete (Del) removes the selected features across the map's layers.
Edit attributes in the attribute table (Ctrl+T): double-click a cell
to change it. Data › Data Design (and Data › Fields) adds and deletes fields and calculates a
field from an expression; Calculate Geometry (in the attribute table's toolbar) fills a new or
existing numeric field with each feature's area, perimeter, length or X/Y coordinate, in the units
you choose, for all features or the selected ones. Length and perimeter include feet and miles;
area includes square feet (ft2), acres (ac) and square miles (mi2). Every edit is one undo step.
Undo (Ctrl+Z) and Redo (Ctrl+Y or Ctrl+Shift+Z) restore project changes, not just feature edits; use Cmd instead of Ctrl on macOS. While typing in a text field, those shortcuts undo or redo the typing instead. Saving keeps the undo history; opening or creating a project clears it. Undo does not reverse files already written by an export.
Modifying features¶
The Edit tab's Edit button turns feature editing on or off for the map; with it off, feature creation, geometry changes and attribute edits are disabled. The Editing pane (Settings, Templates, Status, Modify) holds the rest. Its Distance units selector sets the units used for Move and constant elevation. The choice is remembered independently of the live map's measurement units. The entered numbers are interpreted in the selected units when you click Move, Constant or Apply elevation. The current elevation stays in effect while you edit the value or choose units; click Apply elevation to apply the new inputs.
- Modify: move the selected features by distances east and north, rotate them, scale them, merge them (polygons are unioned), explode multipart features, split a line where you click, and flip line direction. A single point turns and scales on itself, so Rotate and Scale leave points (text graphics included) as they are: with only points selected they change nothing, say so, and add no undo step. Edit › Tools lists every editing tool.
- Edit Vertices (Edit › Features): reshape the selected features on the map. Their vertices
show as square handles and each edge has a round midpoint handle. Drag a vertex to move it;
drag a midpoint, or click an edge, to insert a vertex; click a vertex and press Del to
remove it (a line keeps at least two vertices, a polygon ring three). Clicking elsewhere
selects the feature there (Shift adds it). Multipart features and polygon holes work the
same way, dragged vertices snap when snapping is on, and each move, insertion or deletion is
one undo step. Esc finishes. From scripts and the command line,
edit.vertexdoes the same to one vertex andedit.setGeometry(Set Geometry) replaces a feature's whole shape. - Feature templates: named default values for new features, made from a selected feature; the Create tool uses the chosen template.
- Snapping (Edit › Snapping): new and dragged vertices snap to nearby vertices, edges and
line ends of visible feature layers at the current scale (magenta marker; graphics and rasters
are not targets). Vertices and ends take priority over edges within the tolerance. Snapping
starts off; its vertex, edge and end options start on. The tolerance is how near, in screen
pixels, a vertex must come to snap (10 by default, 1 to 100):
edit.snapping={"on": true, "tolerancePx": 12, "edge": false}(without"on"it toggles snapping, even when other options are supplied).edit.snap={"lon":12.5,"lat":41.9}queries the current snap target without editing a feature. - Settings: Show Vertices marks the vertices of the selected features even when Edit
Vertices isn't on (
edit.settings={"showVertices": true}). - Elevation: new features get a
zattribute, constant or sampled from a raster surface at the feature's label point; this is not a change to its geometry's coordinates. - Ground to grid: a scale factor and rotation applied to entered distances and directions
(Move, and
edit.traverse, which draws a line or polygon from distances and bearings). - Topology: rules (must not overlap, must not have gaps, must not self-intersect, must not have dangles, must be covered by); Validate lists the errors, and clicking one zooms to it.
- Status: features added, changed and deleted per layer since the last save.
Distance units in commands¶
edit.move, edit.traverse and constant edit.elevation accept "units": "Feet",
"Meters", "Kilometers" or "Miles" (case insensitive). Omitting units keeps the
existing metre default. All traverse legs use the command's units. Conversion to metres
happens before ground-to-grid corrections and distance limits; stored elevation stays in
metres. Feet mean international feet (0.3048 m), independently of the source CRS's units.
For example, edit.move={"dx":500,"dy":0,"units":"Feet"} moves selected features
152.4 metres east.
Data design¶
The Data tab's Data Design pane keeps attributes valid, on every edit (creating, pasting, attribute edits, Calculate Field):
- Domains: coded values (
code=description) or a numeric range for a field. - Subtypes: an integer field's codes, each with a name and default values for new features; the layer is symbolized by subtype.
- Attribute rules: calculations (a field set from an expression on every insert and update) and constraints (a SQL condition every feature must meet).
- Contingent values: the combinations of values allowed across fields.
- Archiving: keeps every edit with its time; restore the layer as it was minutes ago.
- Relationships: link two layers by key fields; Related Data selects the rows related to the selection.
Clipboard and pop-ups¶
Copy (Ctrl+C) and Cut (Ctrl+X) take selected features from one layer: the active layer if it has a selection, otherwise the first layer with selected features. Paste (Ctrl+V) adds them to the layer selected in Layers, matching fields by name and converting values to the destination field types; unmatched fields stay empty. Geometry types must match. Paste Special adds them as a new layer instead. Copied features also go on the system clipboard as GeoJSON, so they can be pasted into another RustGIS window or a text editor, and GeoJSON copied elsewhere pastes into RustGIS. Copy Path copies the selected layer's data source path.
Whole-layer copying is separate: use Copy Layer or Copy Group and Paste Layer in the Layers pane's context menus to preserve symbology and other layer settings, including when moving layers between maps.
Pop-ups (Home › Navigate) choose which layers a click with Explore identifies: the topmost layer under the click, every visible layer, only selectable layers, only the layer selected in Layers, or nothing. The pop-up lists every feature under the click in those layers, overlapping ones included (up to 100): step through them with ‹ ›. The feature shown is the one selected. The magnifier in the pop-up's header zooms to it.
The topmost and visible modes also identify the features of vector tile layers under the click:
PMTiles and MBTiles archives and vector tiles added as data (not catalog basemaps or MapLibre
styles), beneath the map's own layers. Each shows its tile layer and source layer (firenze ›
buildings) and its attributes; tile features can't be selected or zoomed to.