The two modes of editing

Editing an annotation means two different things depending on what you're changing.

Attribute edit is the common case — change the class, update the condition rating, add a note, mark the annotation as approved. Happens in the panel. Doesn't change where the annotation lives on the map.

Geometry edit is less common but heavier — reshape a polygon, move a point, split a line. Happens on the map itself in geometry edit mode. The annotation's location changes; downstream consumers (route engines, spatial joins, regulatory exhibits) need to know.

The interface separates the two on purpose. Attribute editing is fast and low-risk; geometry editing is deliberate and logged differently.

Attribute editing

Select an annotation, open the panel, change the field you want to change, click Save. Validation runs as you type — required fields show inline errors, numeric fields enforce min/max, free-text fields enforce character limits. Save is disabled until validation passes.

When you save, three things happen:

  • The annotation updates on the map (color, label, marker style — whatever the attribute drives)
  • An entry goes into the activity log: who, when, before → after
  • If a downstream sync is configured (push to ArcGIS Online, write to a data warehouse), the sync fires

Save is atomic. If any of the three steps fails (network drop during the sync push, for example), the save rolls back and you see a warning. No half-written state.

Bulk attribute editing

Select multiple annotations (shift-click on the map, or rectangle-select with the selection tool), open the panel, and the panel switches to bulk mode. Editable attributes appear with their current value if all selected annotations agree, or with "(multiple)" if they differ. Change a value, click Apply to All, the change writes to every selected annotation atomically.

The activity log records bulk edits as bulk — one entry with a list of affected annotation IDs, not 47 separate entries. That matters when you audit history later.

Geometry editing

Geometry edit is opt-in. From the panel, click "Edit Geometry." The annotation goes into edit mode on the map: vertices become draggable, you can add or delete vertices, you can move the whole feature. Other annotations dim so you can see what you're working on.

When you're done, click Save Geometry. The annotation updates and the geometry change is logged separately from attribute changes. Geometry edits often require a review step that attribute edits don't — for many of our clients, only senior reviewers can save a geometry change.

Snapping

Snapping is on by default. As you drag a vertex, it snaps to nearby features (other annotations, road centerlines, parcel boundaries) within a configurable tolerance (default 5 pixels). Hold Alt to disable snapping for a single drag.

Snapping matters for projects where annotations need to align with authoritative layers — lane lines snapping to road centerlines, sign locations snapping to the road edge, easement boundaries snapping to parcel lines. Without snapping, you get drift that compounds across thousands of annotations.

Splitting and merging

Split a line annotation by selecting it, choosing Split from the geometry menu, and clicking on the line where you want to split. The annotation becomes two annotations, each inheriting the original's attributes, with new IDs and a log entry on the original noting "split into X and Y."

Merge works in reverse: select two adjacent annotations of the same class, choose Merge. The combined annotation gets a new ID. The originals are kept in the database with a "merged into Z" tombstone, not deleted — important for audit and undo.

Undo behavior

Undo (Ctrl-Z or Cmd-Z) reverts the most recent change. Multiple undos walk back through the change stack for your session.

The catch: undo is local to your session. Once another user has seen the change (because the change synced to the server and someone else's map refreshed), undo doesn't propagate to them. You need to make a new edit that reverses the previous one.

We considered making undo collaborative (multi-user undo with conflict resolution) and decided against it. The complexity wasn't worth the rare case where two people simultaneously edit the same annotation and one wants to undo.

Conflict resolution

Two users editing the same annotation at the same time will conflict. Our default resolution is optimistic locking: every annotation carries a version number, your edit sends the version you were working from, the server rejects the edit if the version doesn't match, and you get a refresh-and-retry prompt.

In high-concurrency workflows (5+ active annotators on the same project at the same time) we add real-time presence: cursors on the map show where other people are working, so collisions are visible before they happen.

Pure last-write-wins is also available as a config option. We don't recommend it for production work because it silently overwrites edits.

Keyboard shortcuts

For users doing high-volume work, the difference between mouse-heavy and keyboard-heavy operation is roughly 2x throughput. The shortcuts that matter most:

  • N — next annotation on the map (in the current filter)
  • P — previous annotation
  • E — enter edit mode on selected annotation
  • G — toggle geometry edit mode
  • Enter — save (when in panel, with valid attributes)
  • Esc — cancel current edit and close panel
  • Ctrl-Z / Cmd-Z — undo
  • / — focus the search bar
  • F — flag for review
  • A — approve (if you have permission)

The shortcuts are customizable per-user via Settings. Power annotators often remap based on their finger habits.


Want to see the editing workflow on your data? We can spin up a pilot map with your annotations and your team in under a week. Test the workflow on real cases before deciding to roll it out.