GIS consulting
GIS consulting, from the field form to the dashboard.
Hosted layers, field collection, dashboards and scheduled automation for cities, counties, fire districts, watershed councils and the consultancies that serve them. Fourteen years in GIS and wildland fire operations, based in Medford, Oregon.
The problem
The data exists. The system around it does not.
Most agencies and consultancies we talk to already have the data. It sits in a field notebook, a shared drive, a spreadsheet one person understands and a hosted layer nobody has touched since the intern left. Every month somebody rebuilds the same report by hand, and every flight or field season lands as a folder that has to be opened before it means anything.
We build the piece that is missing: the form the crew fills in, the layer it lands in, the dashboard the manager reads, the script that runs at two in the morning, and the handover that lets your staff own it. We have been the GIS staff. We know what has to survive the next reorganisation.
What we build
Six things, usually in this order
A system is the hosted data, the way it is collected, the way it is read, and the automation that keeps it current. We build any one of them, and we would rather build them to fit each other.
Hosted data
ArcGIS Online feature services with the schema, domains and permissions worked out before the first record lands. One copy of the truth, read by every app below it.
Field systems
Survey123 and Field Maps forms designed with the crew that will use them, deployed to their tablets, working offline, with the checks built in so the data holds up to audit.
Dashboards and apps
Dashboards, Experience Builder and Scene Viewer apps, and StoryMaps that show the same day what the field collected. Built for the people who have to read them, which is usually not the GIS staff.
Automation
Scheduled and event driven Python: arcpy, the ArcGIS Python API, notebooks and GitHub Actions. The monthly report writes itself. The flight that lands at midnight is a package by morning.
Analysis
R and Python for canopy delineation, species and health classification, zonal statistics and change detection, validated on held out ground truth and reported with the error.
Delivery
Into your GIS, in your schema and your coordinate system: file geodatabase, hosted services, shapefile, GeoTIFF, LAS, KMZ, PDF. With the documentation and the admin rights.
Proof
Three systems that run without us in the room

A fire package that builds itself
A pilot submits a raw thermal export through one form. About five minutes later the incident has a PDF map, shapefiles, a KMZ, a geodatabase and the interpretation log, written back to the submission with nobody at a desk. We designed and built that pipeline, ran it with the Oregon Department of Forestry in the 2024 season, and later handed it to the UAS Wildland Fire Collaborative, where it still runs.

A tree inventory the city works from
For the City of Eugene we classified 12,632 crowns across 390 acres and found 5,261 Oregon ash, at 85 percent accuracy on 290 crowns the model never saw. The result is not a report on a shelf: it is hosted map products the city's GIS and forestry staff use directly, with every crown carrying its species, height and the confidence behind the call.

A review app that fixed the model
On a 423 acre river corridor the species calls went to the project's botanist in an Experience Builder viewer we set up for the job. The corrections came back as data, not emails, and went into the training samples before the final classification. That is what a hosted layer with the right form on top does: it turns an expert's afternoon into a better map.
How we work
Three ways to hire us
Whichever way, you get the code, the documentation and the admin rights. Nothing we build needs us to keep running, unless you want us to run it.
By the hour
A form that needs rebuilding, a script that stopped running, a layer that has to be in a different schema by Friday. Small jobs, billed as they happen.
A fixed scope
A system with a written definition of done: the field form, the hosted layer, the dashboard, the automation behind it, and the handover. One price, agreed before the work starts.
A retainer
We run it. The nightly job, the dashboard, the monthly report, the users and the fixes, for a monthly fee sized to the system. You keep the admin rights either way.
Who it is for
The desk that has no GIS staff, or too much for the one it has
- Cities and counties with data in five places and one person who understands the spreadsheet
- Fire districts and emergency managers who need the map before the briefing, not after
- Watershed councils and land trusts reporting to funders on ground they manage
- Engineering, planning and forestry consultancies that need a GIS bench without a hire
- Utilities and cooperatives with a vegetation or corridor program to track
- Nonprofits and collaboratives running a data program with no staff for it
What we work in
ArcGIS Pro, arcpy and the ArcGIS Python API. ArcGIS Online, Survey123, Field Maps, Dashboards, Experience Builder, Scene Viewer and StoryMaps. Python, R, GitHub Actions and scheduled notebooks for the automation. Global Mapper, Metashape and the R LiDAR stack when the data comes off an aircraft, which with us it often does.
The full tool list and delivery formats
Most of this work is remote. When it needs a field day, Medford puts us two hours from Roseburg and Klamath Falls, three from Eugene and Redding, and a flight from anywhere else. Where we work in Oregon.
When the data comes from the air
The same desk flies the aircraft
A lot of our GIS work starts with our own flights: drone LiDAR for terrain and canopy, multispectral for species and health, thermal infrared for heat and water. The advantage is that the person who designed the hosted layer also designed the flight that fills it, so the schema, the accuracy statement and the delivery match from the start.
Tell us what the data has to do.
Who collects it, who reads it, and what decision it feeds. We will come back with the system and what it would cost.
Email info@roguerecon.net or call 808 298 6290.
