A common operating picture across connected and off-grid teams
Field Data Collector provides the map, position and communications building blocks for a mobile COP: TAK Cursor-on-Target traffic when a server path is available, Meshtastic traffic when teams depend on LoRa mesh, and one shared marker store behind the operational view.
What COP, SA and C2/C3 mean here
This is a practical field foundation, not a claim of a complete enterprise command suite.
Common operating picture
Current CoT and mesh-derived markers are organized through one store and presented on the host map.
Situational awareness
Callsign, team, affiliation, coordinate, course, speed, timestamp and stale status provide the immediate context around a marker.
Command, control & communications
Position reports, marker awareness and text communication establish the information path used to coordinate field activity.
Connected when possible. Mesh when necessary.
Default port 8087
Radio carries LoRa mesh traffic
How the LoRa path works
The iOS app connects to a network-reachable Meshtastic radio over TCP, normally on port 4403. The radio—not the phone—handles the long-range LoRa mesh link.
The working COP / SA surface
CoT marker ingest
Receive newline-delimited CoT XML over a configured TAK Server plain-TCP connection.
Send my position
Build and send an a-f-G-U-C situational-awareness report using the device location and callsign.
Live marker overlay
Add and update map annotations from the shared marker store, with callsign, team and CoT type context.
Stale-marker pruning
Remove expired positions from the map and marker manager so the picture reflects current information.
Mesh text messages
Send broadcast text and receive messages through a TCP-connected Meshtastic radio.
Status & activity
Connect and disconnect each transport, view marker counts and inspect a timestamped activity log.
Small, testable building blocks behind the picture
The local Swift package keeps CoT data, transport code and the shared marker lifecycle separate from the Mapbox Classic host UI. That makes the current app a foundation that can grow without duplicating operational state.
- XML parser for incoming CoT events
- Builders for SA / PLI, emergency and GeoChat CoT XML
- Visible marker fields modeled as sendable data
- Shared main-actor marker manager used by both transport paths
- Swift Testing coverage for parsers, builders, codecs and marker lifecycle
TAK, GeoChat, Meshtastic, map, forms, tools and GeoNames
Clips from the GeoNames TAK build
Use the radio network already carried by the team
The Meshtastic service handles StreamAPI framing and a hand-rolled protobuf codec without adding SwiftProtobuf to the package.
- TCP transport with configurable host and port
- Text-message encode, send and receive
- Position encode and receive callbacks
- Node, waypoint and telemetry data models
- ATAK plugin payload port recognized by the codec layer
Current-release scope
The app’s integrated TAK connection is plain TCP; a certificate/TLS enrollment workflow is not currently exposed. Emergency and GeoChat XML builders exist in the package, while the shipping settings screen currently exposes TAK PLI and Meshtastic chat. This page intentionally distinguishes toolkit capability from app UI.
Connect the field picture with TeamTrack
Visit Tech Maven’s TAK Server and continue exploring the wider geospatial portfolio.
