Skip to main content

Glossary and File Map

This is the chapter's reference sheet. The first table is Esri's vocabulary with the meaning it has here, which is sometimes narrower than the SDK documentation; the second is our own vocabulary; then the constants, the environment, and the file map.

Esri terms, as used here​

TermIn this codebase
AGOL / portalArcGIS Online, the SaaS portal our organisation (X84q166Srnyl4JMV) lives in
Portal itemAnything stored in the portal with an id: the WebMap, a vector tile style, a layer reference
WebMapThe one portal item loaded as the map; carries basemap, operational layers, symbology, groups
Operational layerAny WebMap layer that is not the basemap; a hundred-odd of them, toggled from the Layers Menu
FeatureServer / FeatureLayerA hosted vector service and the SDK layer that reads it; also used client-side with source: []
StreamServer / StreamLayerA Velocity push service over WebSocket and its layer; holds only features received on the current connection
VelocityArcGIS Velocity, the real-time service that publishes the camera streams and their persisted outputs
Event Hubsesri_cameras and esri_velocity: the hubs the backend publishes to, which Velocity turns into streams and AI hits
Layer viewThe view-side object that draws a layer; owns filter, highlight(), queryFeatures on drawn data
definitionExpressionA server-evaluated SQL where clause on a layer; owned here by the type and spotlight filters
layerView.filterA client-evaluated filter on the layer view; owned here by the area scope (and, for streams, composed by one writer)
RendererThe rule mapping attributes to symbols: UniqueValueRenderer for arrows and LOS, SimpleRenderer for FOV
Visual variableRotation, size or opacity driven by a field or an Arcade expression, evaluated on the GPU
ArcadeEsri's expression language; used for arrow opacity, cluster labels and the cluster filter
CIM symbolCartographic Information Model symbol: the multi-stroke LOS line and the animated AI picture marker
PictureMarkerSymbolAn image marker; our arrows are generated SVG data URLs in this form
Feature reductionClustering (FeatureReductionCluster) on the camera service; opt-in
applyEditsThe batch edit call on a feature layer: add, update, delete features in one request
outFieldsWhich attributes a query or hit returns; ['*'] on the camera service so hits carry cId
ObjectIDA feature's unique id; allocated by us on client layers, by the server on hosted ones
hitTestScreen point to graphics; always called with an include list on hover-rate events
reactiveUtilswatch / when / whenOnce on view properties; when(stationary) is the preferred zoom hook
IdentityManagerThe SDK's credential registry; one token registered by URL prefix, challenges for unknown servers refused
Web Mercator / WGS84wkid 102100 (or 3857) for the view and metres; wkid 4326 for lat/lon. Client layers are WGS84
Scale vs zoomScale is continuous and persisted; zoom is a whole level. A "zoom" over 24 is a scale in disguise
GeodesicMeasured on the ellipsoid; the alert ring and area buffer are geodesic or they are wrong
Map components@arcgis/map-components: <arcgis-map>, <arcgis-legend>, <arcgis-distance-measurement-2d>

Our terms​

TermMeaning
ArrowsThe client feature layer of camera headings; one feature per camera, keyed on cId
FOV / LOSField-of-view wedge and line-of-sight line; drawn for hovered, selected and recently-moved cameras
Cursor LOSThe black line following the cursor on a camera image; one graphic on a graphics layer
Persistent setRecently-moved cameras whose LOS stays on the map; also unioned into the proboscis beam filter
Legacy camera serviceThe hosted camera feature layer (LEGACY_CAMERA_LAYER_TITLES); parked at startup, cameras come from Velocity
Client layersCursor LOS, the one layer created in code; listed in CLIENT_LAYERS
Parking / parkedA toggled-off WebMap layer removed from its collection by the catalog, so it never loads
CatalogThe snapshot of the WebMap tree that remembers each layer's parent and position
Locations / Viewshed / Proboscis / Camera FeedThe four Velocity kinds: points, FOV polygon, LOS beam, live point feed
CompanionA persisted feature output of the same environment drawn beneath a claimed stream as its warm-start
HandoffExcluding from a companion each camera its stream has delivered a drawable event for
Beam setThe camera ids whose viewshed/proboscis may draw; deviceId IN (…) or 1=0
Pick modeA mode that owns the next map click (area pick, Get Coordinates); disarms on Escape and unmount
SlotA placeholder div the singleton map overlay tracks (desktop-map, mobile-drawer-map, mobile-location-map)
On-demand modulearcgisOnDemandModule.ts, the single lazy boundary for non-map features that need the SDK

Constants that tune the integration​

ConstantValueFile
MASTER_MAP_PORTAL_ITEM_IDfrom env, default db68c797…data/constants.ts
BASIC_TOPO_MAP_PORTAL_ITEM_IDd5e02a0c… (alert area map)data/constants.ts
LEGACY_CAMERA_LAYER_TITLES['ALERTCalifornia Cameras']data/constants.ts
ARCGIS_AUTHENTICATED_SERVER_URLS6 prefixesdata/constants.ts
CLIENT_LAYERS / LAYERS_TO_IGNORE1 title / + topo and imagerydata/constants.ts
VELOCITY_LAYER_MATCHERSservice-name and title regexesdata/constants.ts
LOS_LENGTH40,233.6 m (25 mi)data/constants.ts
AI_DETECTION_PULSE_DURATION_MS10,000data/constants.ts
NORTH_AMERICA_MIN_SCALE / MAX_ZOOM_IN_SCALE / PUBLIC_MAX_ZOOM_SCALE70,000,000 / 1,000 / 9,027.98FeatureMap.tsx
Token lifetime / server refresh buffer / client refresh buffer720 min / 10 min / 5 minlib/server/arcgisToken.ts, queries/useArcGISToken.ts

Environment: ARCGIS_CLIENT_ID, ARCGIS_CLIENT_SECRET (local), Key Vault ESRIClientId, ESRISecret (production), NEXT_PUBLIC_MASTER_MAP_PORTAL_ITEM_ID.

File map​

ConcernFile
Map orchestration, boot, constraintscomponents/organisms/TileView/FeatureMap/FeatureMap.tsx
Singleton overlay and slotscontext/MapPortalContext.tsx
Token: mint and cache / route / query / registrationlib/server/arcgisToken.ts / pages/api/arcgis/token.ts / queries/useArcGISToken.ts / hooks/useArcGISAuth.ts
WebMap prepare and cataloghooks/featureMap/usePreparedWebMap.ts, util/map/webMapLayerCatalog.ts
Portal layers, menu tree, visibilityhooks/featureMap/useFeatureMapAGOLLayers.ts, hooks/usePageUpdates.ts
Client layers, filters, source switch, FOV/LOS editshooks/featureMap/useFeatureMapCameraLayers.ts
Renderers, symbols, arrow stateutil/map/featureMap/layerFactories.ts
FOV and LOS geometryutil/map/featureMap/geometryBuilders.ts
PTZ diff and geometry extractionutil/map/featureMap/cameraChangeDetector.ts
Real-time tickhooks/featureMap/useFeatureMapPolling.ts
Hover and tap / selection / cursor lineuseFeatureMapHover.ts / useFeatureMapSelection.ts / useFeatureMapCursorTracking.ts
Extent query and persistencehooks/featureMap/useFeatureMapExtent.ts
Velocity discovery and where compositionutil/map/featureMap/velocityLayers.ts
Source statestores/mapLayerSourceStore.ts
Area scope engine / geometry / boundariesuseFeatureMapAreaFilter.ts / areaFilterGeometry.ts / areaBoundaryLayers.ts
Pick modesuseAreaMapPick.ts, useCoordinateMapPick.ts, useAreaFilterPopupAction.ts
Alert pin, ring, captureuseFeatureMapPolygons.ts, util/map/captureAlertMapImage.ts, util/map/alertMapGeometry.ts
On-demand map featurescomponents/organisms/ArcGISOnDemand/, LocateOnMap/SightingsMapLayer.tsx, W3WMap/W3WMapLayer.tsx, PeakFinderCompanion/CompanionMapMarks.tsx
Map storesstores/mapStore.ts, mapCameraInteractiveStore.ts, layerVisibilityStore.ts, layerLoadingStore.ts, cameraAreaFilterStore.ts, mapCoordinatePickStore.ts
Typestypes/featureMapTypes.ts, models/Map/LayerModel.ts, arcgis-map-components.d.ts

The Features → Feature Map lessons teach the map from the operator's side with live playgrounds for the arrow state and the PTZ diff; Map Action Buttons covers the FAB tray and the Layers Menu UI; the deep dives Why FeatureMap, Layers That Load When Asked and Two Sources, One Map hold the measurements and the exhaustive Velocity reference. This chapter is the connective tissue between them.