Skip to content

Repository files navigation

ATAK Plugin — Feature Layer

Download Feature Layer 0.10 (pick the one matching your ATAK-CIV version, sideload, then load it in ATAK's Plugins manager):

All releases: https://github.com/takwerx/feature-layer/releases

User guide with screenshots: docs/USER_GUIDE.md (https://github.com/takwerx/feature-layer/blob/main/docs/USER_GUIDE.md)


PURPOSE AND CAPABILITIES

Live ArcGIS feature layers on the ATAK map, the way a GIS analyst sees them in ArcGIS: every point, line and area stays a feature you can tap for its attributes, drawn with the symbology its community uses.

Built-in sources:

  • NIFC: the National Incident Feature Service, live. Sign in with your own NIFC ArcGIS login (MFA supported), find a fire, and its Event Points, Event Lines, Perimeter Lines, Event Polygons, IR Points and Polygons, Accountable Property and Label Points load with the NWCG PMS 936 symbology: the standard point icons, lettered hand/road/mixed/plow lines, dozer X chains, one-sided ticks on the uncontained edge, Repair Status halos on request.
  • SARCOP Training: NAPSG's Search and Rescue Common Operating Platform sandbox, public, with NAPSG's own US&R symbology for waypoints, worksites, tracklogs, segments and divisions.
  • CA Air Intel: statewide California fire perimeters from FIRIS, CAL FIRE intel flights, USFS, NIFC and WFIGS, public. Each source toggles on its own, a time window picks how far back to look, and only the latest perimeter per fire per source is drawn.
  • Add your own org: any ArcGIS Online organization. Sign in, search its content, add a layer; it draws with the service's own renderer.

Every layer: ON/OFF, per-type ON/OFF and fill, labels, zoom gate, automatic refresh with a per-layer interval, cached on the phone so it survives restarts and loss of signal. Search inside a layer by name, number or type, sorted by distance from you or from the map center, newest or oldest. Tap a feature for its attributes, a bloodhound, a range and bearing line, or a marker.


STATUS

0.10, one versionCode per APK: the same plugin as 0.9, rebuilt so that each ATAK target's APK carries its own versionCode, the plugin version and the ATAK version folded into one integer. An MDM handed the 5.7 and 5.8 builds of 0.9 saw two different files claiming one revision and reported an incompatible build (issue #1); with 0.10 it holds all three, and a phone moving up an ATAK version takes the matching build as a normal update. Nothing else changed.

0.9, DART and FireGuard: NIFC's live positions are two layers, vehicles and personnel, drawn the way NIFC's own EGP viewer draws them, with whole callsigns and a ring that says how recently each reported (green under 10 minutes, yellow under 70, red older). Vehicles are colored by fleet, people by how they share (Field Maps pin, inReach handset, WFTAK badge), and an inReach S.O.S. is labeled as one. A layer fetches what is in view and follows the map, with a ceiling and a cap that say when to zoom in. Every layer has a label zoom: names from a chosen scale and closer, symbols alone further out. Find lists a DART layer's kinds with counts in view, a typed callsign asks the feed nationally, and a row opens its details with Go there. FireGuard adds NIFC's detections, filled by age the way EGP colors them. Point and area names are drawn whole, never trimmed. 0.7 and 0.8 were the same work; each went to tak.gov once and was superseded on a scan finding before publication.

0.6, distances that follow the map: a feature list was measured once, when it was drawn, so panning the map left every row reading its distance from wherever the map used to be - which is worse than no distance, because it still looks right. The list now follows the map center and the self marker as they move, re-sorting when the sort is Nearest and updating the numbers in place otherwise (0.1 could not sign in, its OAuth client ID was empty; 0.2 lost cached features on the first toggle after a restart; 0.3 searched all of ArcGIS Online instead of your own organization for Find layer; 0.4 was the first release for feedback, with the illustrated guide; 0.5 drew multi-part areas correctly, named a CA Air Intel flight by its mission, and kept a type's fill setting across a refresh). Tested on ATAK-CIV 5.8 with live NIFS incidents, the SARCOP training sandbox and CA Air Intel. SARCOP Live is not wired yet.


POINT OF CONTACTS

Andreas Johansson, TAKwerx. Bug reports and requests: https://github.com/takwerx/feature-layer/issues


PORTS REQUIRED

Outbound HTTPS (TCP 443) only; nothing inbound.

  • The organization's ArcGIS portal (for example nifc.maps.arcgis.com, or the org you add) for OAuth 2.0 sign-in and content search.
  • ArcGIS Online hosted feature services on services*.arcgis.com: NIFC (services3.arcgis.com), NAPSG SARCOP (services.arcgis.com), CA Air Intel (services1.arcgis.com), and whatever services your own org hosts.

Sign-in is OAuth 2.0 authorization code with PKCE in an in-app browser; the plugin never sees a password. An organization's token is sent only to that organization's own servers, never in a URL.


EQUIPMENT REQUIRED

An Android device running ATAK-CIV 5.6, 5.7 or 5.8 with a network connection to load or refresh layers. Cached layers draw without one.


EQUIPMENT SUPPORTED

Any device ATAK-CIV supports. Exercised on a Samsung Galaxy XCover Pro.


COMPILATION

Standard ATAK plugin build against the ATAK-CIV SDK:

cp template.local.properties local.properties   # then set sdk.path and arcgis.clientId
./gradlew assembleCivRelease

arcgis.clientId is the OAuth client ID of an ArcGIS application registration (a public-client identifier, not a secret); without it the sign-in button says so and the public sources still work.


DEVELOPER NOTES

Features are written into an ATAK feature store (FeatureDataStore2 / FeatureLayer3) on the SD card under atak/tools/featurelayer, one SQLite store per layer, and rendered by ATAK's own feature renderer, so the map stays vector and every feature stays tappable. NWCG marks that ATAK's strokes cannot draw (letters, X chains, ticks, chevrons, zigzags) are generated as ground-sized geometry inside the line's own feature. Symbol images and colors come from the NWCG PMS 936 symbology pages and NAPSG's published US&R symbol library. Area names sit at the centroid by pairing the polygon with its center point in one feature under an empty label style.

LICENSE

Copyright (C) 2026 Andreas Johansson (TAKWERX).

Feature Layer is free software, licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later), with an additional permission for the TAK Software so that this plugin may be built against the TAK SDK, loaded into ATAK and distributed without the AGPL reaching into ATAK itself.

You may run it, study it, modify it, and share it -- for any purpose, commercial or not, with no fee and no per-seat license. What the AGPL adds over a permissive license is a guarantee that it stays free: modify Feature Layer and pass it on, and the people you pass it to are owed the complete corresponding source of your version under the same license. Nobody can take this, close it, and sell it back to the emergency-services community.

If you only install and use Feature Layer, this obligation never touches you. Running it, in any agency, on any number of devices, triggers nothing.

Scope. The AGPL covers Feature Layer's own code. It does not change the license of the TAK Software, which stays under the TAK Software License Agreement, and it does not cover the parts of this repository scaffolded from the TAK-SDK plugin template -- those are listed under Provenance in LICENSE-EXCEPTION.md. No SDK binary is distributed here.

Contributions are welcome -- see CONTRIBUTING.md for the contribution terms and the Contributor License Agreement.

About

ATAK Plugin: Feature Layer — live ArcGIS feature layers from NIFC, SARCOP, CA Air Intel and your own org, with NWCG symbology. Downloads, guide and issues here.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages