Map View and Selection Tools

Primary page: /parcels/map/

Viewer Mode Controls

  • Zoom to all parcels
  • Label toggle
  • State As Of datetime filter (ref_ts)
  • Settings side panel (style/range + raster background controls)
  • Parcel side panel (details)
  • Selection dropdown + Deselect button

Background Raster Controls (Map Settings)

Open Map Settings and use:

  • Basemap: OpenStreetMap / Satellite / configured Stadia, MapTiler, or local PMTiles choices / None
  • DEM: choose a DEM dataset or None
  • DEM Render: Default Style, Elevation, Hillshade, or Elevation + Hillshade
  • DEM opacity slider
  • Landcover: choose a landcover dataset or None
  • Landcover opacity slider
  • DEM and landcover legends are loaded from selected dataset metadata and shown in the floating Legends panel
  • Each legend section in the Legends panel can be collapsed/expanded
  • Basemap/DEM/Landcover selections and opacity settings are remembered in this browser

The Basemap selector on /parcels/map/ is the only background selector in the application. Parcel detail, create/edit, draft, split/merge, and standalone /map/ displays inherit the saved browser choice. Those secondary maps do not show a layer chooser and do not replace the saved choice when a provider fails. Choose None to use every map without a background; parcel geometry and map controls remain available.

When configured by an administrator, MapTiler Streets, MapTiler Dataviz, and MapTiler Topo appear in the same Basemap selector. Switching backgrounds keeps the current map position, parcel selection, and drawing controls. MapTiler backgrounds show linked MapTiler and OpenStreetMap attribution, plus a MapTiler logo. The same active background, attribution, and required branding appear on all inherited map displays.

If the selected provider cannot render, the map tries only other backgrounds approved by the administrator. A small non-blocking status explains a fallback or a completely unavailable background. The app never inserts an unapproved OpenStreetMap layer as an emergency fallback.

Overlay order is fixed:

  • basemap at bottom
  • DEM/Landcover overlays above basemap
  • parcels above all raster overlays

Live Cursor Readout

Bottom-right readout updates live while moving the mouse on the map:

  • line 1: projected x y coordinates (from the configured parcel projected readout CRS, derived from PARCEL_STORAGE_PROJ4)
  • next lines: sampled raster values for selected overlays, shown as slug value
  • DEM example: srtm30 25 m
  • landcover example: esawcv22021 10 - Tree cover

Sampling uses persisted query source rasters under RASTER_QUERY_ROOT.
If a dataset was ingested before this feature, re-ingest it to enable value sampling.

Historical Map View (State As Of)

Use the State As Of datetime input in the map HUD to load parcel state for a historical timestamp.

  • Leave blank for current state
  • Set a timestamp to view historical geometry/attributes
  • When historical mode is active, the HUD shows a Historical view: YYYY-MM-DD HH:MM badge

Shape-Based Selection

Selection UI includes:

  • Selection Rule
  • Any touching polygon
  • Centroid within shape
  • Polygon totally within shape
  • Selection shape tools
  • Rectangle drag
  • Circle drag
  • Polygon draw

Selection request flow:

  1. User draws shape
  2. Client POSTs payload to /parcels/api/select/
  3. Server applies PostGIS predicate against visible parcels
  4. Selected IDs are written into tab-scoped selection store
  5. Map updates highlight and selection count

Deselect

Use Deselect button to clear all selected parcels in the current tab.

Visual Emphasis of Selected Parcels

Selected polygons remain in their existing thematic colors but receive stronger visual emphasis (shadow/glow) so they stand out clearly.

Boundary Snapping in Parcel Editors

Boundary snapping is available on the main map in edit mode, the parcel create page, and the parcel update page. Read-only detail and draft maps, selection and measurement tools, and split/merge maps do not use snapping.

Configure snapping from Map Settings on the main parcel map. Create and update editors inherit the same per-user values and do not show separate controls.

  • Point snapping selects an existing parcel vertex within the point tolerance.
  • Edge snapping selects the nearest position on an existing parcel edge when no valid point candidate exists.
  • Follow edge offers both existing-boundary paths between two consecutive anchors on the same exterior ring.
  • Maximum snap distance limits ground movement in metres, independently of pixel tolerance.
  • Minimum snap zoom disables automatic snapping below the configured zoom while leaving ordinary drawing available.

Point candidates have priority when point and edge candidates are both valid. A pending message means the server is confirming the exact authoritative coordinate. If confirmation fails, place the point again or choose Keep unsnapped.

For follow edge, inspect both metre lengths, use Switch direction if needed, then choose Confirm. Cancel removes the preview without inserting a path.

If a target parcel changes after a snap was saved, draft update, submission, or approval is rejected. Reload nearby parcels and place the affected points again. The application never silently moves a stale snap to a replacement parcel version.

Browser maps use WGS84 only for interaction and display. Exact snap coordinates, distances, path lengths, saved parcel geometry, and workflow revalidation use the database's projected metre-based parcel CRS. Snapping never modifies the parcel supplying the boundary.

Workspace Map Tools

Parcel detail, draft, create, update, split, and merge maps share the same coordinate readout and map settings. The readout keeps projected coordinates visible even when a selected raster has no value at the pointer.

Use Surrounding parcels to load current nearby parcels for the visible viewport. The overlay starts off, refreshes after panning or zooming, and never replaces the subject, draft, or topology geometry. When the response reaches 500 parcels, zoom in to obtain a complete local view. A fresh create workspace requires an active dataset with Editor access before surroundings can be enabled.