FieldOps GIS
Now in Active Development

FieldOps GIS

Full GIS engine power. None of the complexity. Open-source spatial platform built for field operations, geospatial analytics and AI-driven workflows.

GeoAI Spatial Analytics Open Source Field Operations
Remote Sensing Enterprise Ready
FieldOps GIS josephmoturi.com/fieldops

Our Tools

Two complementary tools built for GIS field operations.

FieldOps GIS

FieldOps GIS

Standalone Desktop App

A full GIS desktop application built on the QGIS engine. Designed for field teams who need a clean, focused environment for spatial data work — without the complexity of the full QGIS interface.

Map Canvas Layer Panel Browser Panel Project Scanner Print Layout AI Assistant Touch ID Plugin Manager
Vector Feature Editor

Vector Feature Editor

QGIS Plugin

A QGIS plugin purpose-built for building footprint digitising, attribute editing, and spatial data verification. Runs directly inside QGIS and adds a focused editing dock to your existing workflow.

Feature Digitising Attribute Editing Operations Calculator Report Designer CSV Export Snapping Controls Spatial QA

Everything you need. Nothing you don't.

Each panel is purpose-built — no settings buried three menus deep.

🗺️

Map Canvas

Full QGIS-powered map canvas with pan, zoom, feature picker, coordinate display and scale control.

📂

Layer Panel

Symbol swatches, search/filter bar, inline opacity slider, group drag-drop reordering — closer to the original QGIS panel than ever.

🌐

Browser Panel

Stable custom browser with XYZ tile support (OSM, Google Satellite, Stadia and more), Favourites, and lazy filesystem navigation.

🔍

Project Scanner

Scans your Mac for spatial files automatically using Spotlight or recursive search — grouped by folder, no flash or lag.

✏️

Digitising Tools

Add, move, delete features with snapping. Full vertex editor. Works on any vector layer in edit mode.

📋

Attribute Panel

Inline attribute editing in a right-side dock. Edit field values directly without opening a full attribute table.

🎨

Layer Properties

Custom 5-tab crash-free dialog: Information, Fields, Symbology (categories & ranges), Rendering (opacity, scale, blend), and Metadata.

🤖

AI Assistant

Integrated FieldOps AI dock — ask questions about your project, get spatial analysis suggestions, and more.

🔐

Touch ID Lock Screen

Biometric authentication on macOS. Auto-triggers when lock screen appears. Falls back to password gracefully.

🗒️

Print Layout Designer

Create print-ready map layouts with title, north arrow, scalebar and legend. Export to PDF or image.

🔌

Plugin Manager

Load and manage QGIS-compatible Python plugins inside FieldOps GIS without touching the main QGIS install.

🌙

Dark / Light Theme

Full theme system — switch between dark and light modes across every panel, dialog and toolbar.


Screenshots

A look at the app in action.

Map workspace with satellite basemap and layer panel
Map workspace — satellite basemap, layer panel, Vector Feature Editor dock
Start page with recent projects and AI assistant
Start page — recent projects grid, FieldOps AI, project scanner
FieldOps Security Setup
Workspace Security — enable Touch ID, set lock timeout and recovery key

Tech Stack

Built entirely in Python — no C++ required.

Python 3 PyQGIS PyQt5 QGIS LTR Engine QgsMapCanvas QStandardItemModel QgsProject QgsVectorLayer QgsRasterLayer QSettings (XYZ tiles) macOS Spotlight (mdfind) Touch ID (LocalAuthentication) GitHub Actions macOS .app bundle

FieldOps GIS wraps the QGIS engine (the same engine that powers the world's leading open-source GIS desktop) inside a completely custom PyQt5 UI. Every panel — the layer tree, browser, attribute editor, map canvas, toolbar system — is written from scratch in Python, giving full control over UX without modifying QGIS itself. The result is a focused, stable desktop app that ships as a .app bundle on macOS.


Changelog

What's been built, version by version.

v0.8.0
2026-03-28
Latest
New Features
  • Layer Properties Dialog — custom 5-tab crash-free replacement for QgsVectorLayerProperties: Information, Fields, Symbology (categories/ranges table), Rendering (opacity, scale, blend mode), Metadata
  • Browser Panel rewrite — replaced crash-prone QgsBrowserModel with stable QStandardItemModel-based browser; XYZ Tiles, Favourites, lazy filesystem sections
  • Layer panel search/filter bar — real-time filter across all layer names, hides empty groups
  • Layer panel opacity slider — right-click any layer to set opacity 0–100%
  • Group drag-drop reordering — drag layer groups up/down in the panel
  • Symbol swatches in layer panel — live symbol preview per layer row
Bug Fixes
  • Scan flash — mid-scan widget rendering caused visible unsorted flash; fixed by deferring all rendering to scan completion
  • Touch ID auto-trigger — fixed broken cross-thread invoke using pyqtSignal; auto-triggers on lock screen show
  • XYZ tile blank render — fixed URI encoding using QgsDataSourceUri.encodedUri() + bytes decode
  • Browser right-click crash — was querying stale C++ QgsDataItem pointers; fixed by using only Qt model data roles
v0.7.0
2026-02-14
Stable
New Features
  • XYZ Tile connections — 7 common basemaps seeded at startup (OSM, Google Satellite, Google Hybrid, Stadia, CartoDB, Esri Imagery, Esri Topo)
  • Plugin Manager — load/unload QGIS-compatible Python plugins; disabled list to safely skip problem plugins
  • Dev Dashboard — floating developer panel with live log, process monitor and quick-launch actions
Bug Fixes
  • openlayers_plugin crash — fixed NoneType on layerTreeView() + NotImplementedError for setTransformContext()
  • Touch ID popup timing — increased delay to 900ms to prevent popup appearing before lock screen renders
v0.6.0
2025-12-20
Stable
New Features
  • Print Layout Designer — create, edit and export map layouts to PDF/image
  • AI Assistant dock — integrated FieldOps AI side panel
  • Task Board — persistent task checklist at ~/.fieldops-gis/tasks.json
  • Deploy button — one-click git add/commit/push from within the app
  • Pending Changes indicator — status bar badge shows uncommitted changes
Bug Fixes
  • Start page recent projects — fixed duplicate entries and thumbnail caching
  • Unclosed file handles — fixed resource leak on project scan
v0.5.0
2025-10-05
Stable
New Features
  • Touch ID lock screen — biometric authentication with password fallback
  • Project Scanner — Spotlight + rglob scan for spatial files, grouped by folder
  • Theme system — dark/light mode toggle across all panels and dialogs
  • Status bar — coordinate display, scale selector, CRS badge, magnifier

Roadmap

What's being worked on next.

Attribute table inline editing Edit cell values directly in the table without a separate dialog.

Open discovered files as layers Clicking a scanned .shp / .gpkg should add it as a layer, not open as a QGIS project.

Print layout crash fix New print layout crashes in standalone context — root cause investigation underway.

Reveal in Finder Right-click a discovered spatial file to reveal its location in Finder.

Move to Trash Delete discovered files safely from the scan results panel.

Windows support Currently macOS only — Windows port planned once core features stabilise.

QgsField deprecation cleanup Minor: update constructor calls to non-deprecated form.

Documentation site Full user guide and technical reference hosted here.

High priority Planned Done

Get involved

Looking to connect with GIS professionals, spatial developers, and anyone building spatial workflows for the field.

Follow on LinkedIn Connect with Joseph View on GitHub Portfolio