Skip to content
View JosephDillard's full-sized avatar

Block or report JosephDillard

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JosephDillard/README.md

Joseph C. Dillard — Geospatial Portfolio

Portfolio Home: Joseph C. Dillard Geospatial Project Stack

This repository now includes a GitHub Pages / Jekyll portfolio site for job search visibility, with pages for resume sections, project/repo explanations, architecture diagrams, function screenshots, skills, and contact information. Existing resume files and profile README content remain in place.

Screenshot documentation: Project screenshots

Architecture diagrams: Development and Docker network views

Recent additions: Four recent projects — ArcGIS Enterprise Capacity Planning Model, OSINT Source Library, Open GEOINT Watch, and Atlas / AI Brain. The page includes public descriptions and labels the two private repository links as requiring access.

Link to Download My Resume: GIS Solution Architect 2026

Geospatial / GeoAI Project Stack

I am building a connected geospatial and GeoAI project stack around a practical operational workflow: check incoming customer data, process imagery or vector data, load accepted layers into spatial services, refresh a live map, and let an analyst use map-aware assistant tools without hiding how the system works. Each repo can be used or extended by itself, but together they show a full path from data handoff to operational map use.

Plain-English flow: the ETL toolkit checks files before they are trusted, the GeoAI platform can turn imagery into GIS-ready detections, the data gateway moves accepted data into PostGIS and announces refresh events, the Status Board displays the operational map through GeoServer/MapLibre, and the MCP/incident analyst projects add explainable map commands and location context.

GeoAI Asset Detection Platform

A Python-based GeoAI workflow platform for turning imagery into GIS-ready detection output. It is aimed at workflows such as road or asset detection, where a user or developer needs more than a model result: they need tiles, vectors, files, API status, and a path into PostGIS or a map.

How it works: FastAPI exposes workflow endpoints, Python handles raster/vector processing, model steps can run through PyTorch/ONNX-style inference, and GeoPandas-style output can be written as GeoPackage or loaded into PostGIS. The basic flow is imagery input, tile/chip preparation, model inference, vectorization, export, then optional database load.

How it fits: this repo produces or prepares spatial intelligence that can be loaded by the data gateway, published through PostGIS/GeoServer, and reviewed in the Status Board map.

Links: Repo · README

Keywords: GeoAI, computer vision, semantic segmentation, PostGIS, GeoPackage, COG, PyTorch, ONNX, GeoPandas

Geospatial Status Board

A Grails-based operational map and dashboard for incidents, infrastructure, GeoAI layers, response support, weather context, MGRS workflows, and assistant-driven map tasks. It is the place where the backend pieces become visible to an analyst, operator, or developer.

How it works: the app runs as a Grails web application, uses H2 for the simplest local development path, and can optionally connect to PostGIS and GeoServer. MapLibre renders the browser map, GeoServer can provide WFS/WMS layers, and the app includes tools for layer control, MGRS, drawing, incident plotting, GeoAI requests, Wiki/GeoNames lookup, OpenStreetMap response support, and a reviewed Map Assistant prompt flow.

How it fits: this is the visualization layer for the stack. It consumes spatial services, receives gateway refresh events, and hosts the shared map surface that can call GeoAI, incident, support, and assistant workflows.

Links: Repo · README · Architecture

Keywords: Grails, MapLibre, GeoServer, PostGIS, WFS, dashboard, incident mapping, SignalR, MGRS, response support, map command assistant

Geospatial Data Gateway

A .NET and Python data gateway for moving accepted geospatial data into a live mapping environment. It focuses on the part of the system that often gets hand-waved: registering datasets, tracking ingest jobs, loading spatial data, and telling map clients when a layer should refresh.

How it works: ASP.NET Core provides the API surface, Python worker logic handles file-oriented geospatial processing, PostGIS stores loaded spatial tables, and SignalR-style events notify browser clients that a layer changed. The basic flow is dataset registration, ingest job creation, file validation/load, PostGIS write, then a refresh event to the map.

How it fits: this repo acts as the ingestion and notification layer between validated handoff data and the Status Board map.

Links: Repo · README

Keywords: .NET, ASP.NET Core, SignalR, Python, PostGIS, GeoJSON, Shapefile, GeoPackage, CSV, real-time mapping

Geospatial MCP Services

A Docker-ready Model Context Protocol services repo for geospatial assistant tools. It gives an AI client or MCP-aware host a controlled way to ask map-related questions without giving the model direct access to the whole application.

How it works: MCP servers expose named tools over stdio. One tool path enriches a latitude/longitude with GeoNames and Wikipedia context. Another incident-analysis path uses selected coordinates and incident data to return nearby incidents, risk context, recommended actions, summaries, and search links. MCP is the tool protocol; the tools can still call normal APIs internally.

How it fits: this repo adds the assistant/tool layer around the map experience while keeping the MCP transport and the internal API calls understandable.

Links: Repo · README · GeoNames/Wikipedia MCP · Incident Analyst MCP

Keywords: MCP, Docker, GeoNames, Wikipedia, incident analysis, map click, geospatial context, tool calling, LLM tools, stdio

Geospatial ETL Validation Toolkit

Python validation toolkit for checking incoming geospatial files before they are loaded into PostGIS, published through GeoServer, or handed to an application team. The purpose is to catch bad CRS, missing fields, invalid values, geometry problems, and raster-readiness issues before they become map or database problems.

How it works: GeoPandas or Pyogrio can read vector formats such as GeoPackage and Shapefile, raster metadata checks inspect GeoTIFF/COG readiness, configurable rule files define required fields and allowed domain values, and report writers produce batch summaries for customer handoffs. The basic flow is read file, inspect schema/geometry/metadata, apply rules, summarize pass/fail status, then optionally load accepted data into PostGIS.

How it fits: this repo is the data-quality gate before the data gateway loads a layer or before the Status Board depends on it.

Links: Repo · README

Keywords: Python, GeoPandas, Pyogrio, PostGIS, GeoPackage, Shapefile, GeoTIFF, COG readiness, data QA, batch reporting

Map-to-AI Incident Analyst

A user-facing MapLibre incident review and bridge demo for northern New Mexico. It focuses on analyst workflows such as viewing incidents, understanding why an incident is high risk, searching response support, working with MGRS coordinates, and packaging map context for assistant analysis.

How it works: the map uses MapLibre for the browser view, incident data is scored with deterministic rules such as severity, significant-event flag, operational impact, and nearby critical assets, and support lookups use OpenStreetMap-style POI results with local fallback behavior. The assistant boundary is intentionally reviewed: natural-language prompts become structured, allow-listed actions before anything changes on the map.

How it fits: this is the focused incident-analysis workflow that can be folded into the Status Board shared map and supported by the MCP services.

Links: Incident Analyst MCP · Status Board Architecture

Publication note: the standalone bridge/demo repo is currently a local checkout without a public GitHub remote, so the public site links to the related MCP and status-board architecture until that repo is published.

Keywords: MapLibre, MCP bridge, incident review, MGRS, OpenStreetMap, response support, risk scoring, prompt-to-action roadmap


GIS Architecture, Development & GeoAI References

Esri Architecture / Enterprise GIS

Link Notes
ArcGIS Architecture Center Esri’s main architecture reference for ArcGIS system patterns, deployment models, reliability, security, and performance planning.
ArcGIS Well-Architected Framework Blog Overview of Esri’s architecture framework and Architecture Center.
ArcGIS Enterprise System Architecture Best Practices Key planning guidance for ArcGIS Enterprise topology, colocation, load balancing, environment isolation, workload separation, and content delivery.
ArcGIS Enterprise Documentation Main documentation landing page for Enterprise administration, deployment, Portal, Server, Data Store, and Web Adaptors.
ArcGIS Enterprise: Architecting Your Deployment PDF Useful architecture whitepaper for planning Enterprise deployments, scaling, and component layout.
ArcGIS Enterprise SDK SDK for extending ArcGIS Enterprise services using SOEs, SOIs, service interceptors, and custom data feeds.
ArcGIS Enterprise Security Best Practices Hardening reference for certificates, tokens, permissions, services directory, standardized queries, and access controls.

Esri Development / Automation

Link Notes
Esri Developer Documentation Main landing page for ArcGIS developer APIs, SDKs, services, and location platform documentation.
ArcGIS Maps SDK for JavaScript Primary SDK for custom 2D/3D web mapping apps, feature layers, map services, widgets/components, and web GIS integration.
ArcGIS API for Python Python automation for ArcGIS Online / Enterprise administration, content management, publishing, analysis, spatial data science, and notebooks.
ArcGIS REST APIs Core reference for Feature Services, Map Services, Image Services, Portal, Server Admin, replicas, sync, tokens, and service automation.
Feature Service REST API Important for editing/querying feature layers, tables, sync workflows, replicas, hosted layers, and enterprise feature services.
ArcGIS API for Python Samples Notebook examples for administration, deep learning, content cloning, analysis, imagery, and automation workflows.
Esri GitHub Esri sample code, SDK examples, open-source utilities, and developer resources.
ArcGIS Python API GitHub Source repository and samples for ArcGIS API for Python.
ArcGIS Maps SDK for JavaScript Resources JavaScript SDK templates and examples for modern front-end frameworks.

Esri GeoAI / AI

Link Notes
Esri GeoAI Overview Esri overview of GeoAI for extracting, classifying, detecting, predicting, and analyzing spatial patterns.
GeoAI in ArcGIS Pro ArcGIS Pro GeoAI concepts: imagery AI, feature/tabular ML, text analysis, prediction, classification, object detection, and spatial AI.
ArcGIS Pro GeoAI Toolbox Tool reference for using/training AI models against geospatial, tabular, imagery, text, and embedding data.
ArcGIS API for Python Deep Learning Setup Deep learning dependency setup for ArcGIS API for Python.
Esri Deep Learning Frameworks Esri deep learning framework installers for ArcGIS Pro / ArcGIS Python environments.
ArcGIS Python Deep Learning Samples Examples for object detection, feature extraction, imagery classification, and model deployment with ArcGIS.
Use Third-Party Language Models with ArcGIS Reference for integrating third-party LLMs with ArcGIS GeoAI text analysis workflows.
Agentic Mapping Apps with ArcGIS Maps SDK for JavaScript AI-driven / natural-language mapping application patterns using ArcGIS Maps SDK components.

Open Source GIS Foundations

Link Notes
OSGeo Open Source Geospatial Foundation; major hub for open geospatial projects, standards, and community software.
OSGeo Projects Directory of OSGeo and community geospatial projects.
QGIS Open-source desktop GIS for cartography, editing, analysis, plugins, processing models, and spatial data workflows.
QGIS Documentation Official QGIS user manual, training manual, server docs, and processing documentation.
PyQGIS API Python API for automating and extending QGIS.
GeoServer Java-based open-source server for publishing geospatial data with OGC services such as WMS, WFS, WCS, WMTS, and OGC API support.
GeoServer User Manual GeoServer installation, data publishing, styling, REST API, security, GeoWebCache, and production configuration.
PostGIS Spatial extension for PostgreSQL; core open-source spatial database technology for storing, indexing, and querying geometry/geography data.
PostGIS Documentation Official PostGIS manuals, reference docs, tips, and training materials.
GDAL Core raster/vector translation and processing library used across much of the GIS ecosystem.
PROJ Coordinate transformation and CRS engine used by many GIS tools.

Open Source Python GIS / Spatial Data Engineering

Link Notes
GeoPandas Python library that extends pandas with geospatial data types and spatial operations.
GeoPandas GitHub Source repository for GeoPandas.
Shapely Python geometry operations library built on GEOS; used heavily with GeoPandas.
PyProj Python interface to PROJ for coordinate transformations.
Rasterio Python library for reading/writing raster data using GDAL concepts with a Pythonic API.
Fiona Python library for reading/writing vector data using GDAL/OGR.
Pyogrio Fast vector I/O library used by modern GeoPandas workflows.
Xarray Useful for multidimensional raster, climate, temporal, and array-based geospatial datasets.
Dask Parallel/distributed Python compute; useful for large raster and GeoAI processing pipelines.

Open Source Web GIS / APIs

Link Notes
MapLibre GL JS Open-source WebGL vector tile mapping library for interactive browser maps.
OpenLayers Feature-rich open-source JavaScript mapping library for web GIS applications.
Leaflet Lightweight open-source JavaScript library for mobile-friendly interactive maps.
pygeoapi Python implementation of OGC API standards for publishing geospatial data through RESTful APIs.
OGC API Standards Modern REST-style standards for geospatial features, tiles, maps, records, processes, and coverages.
OpenMapTiles Open-source tooling and schema for vector tiles and basemap generation.
Martin Tile Server Fast vector tile server for PostGIS, MBTiles, and PMTiles.
PMTiles Single-file cloud-friendly archive format for tiled map data.

Open Source GeoAI / Remote Sensing AI

Link Notes
TorchGeo PyTorch domain library for geospatial datasets, samplers, transforms, and pretrained models.
TorchGeo GitHub Source repository for TorchGeo.
Raster Vision Open-source geospatial deep learning framework for chip classification, object detection, and semantic segmentation.
Raster Vision GitHub Source repository for Raster Vision.
Segment Anything Model - SAM General segmentation model that can be adapted for geospatial imagery workflows.
Prithvi Geospatial AI Foundation Model NASA/IBM geospatial foundation model for Earth observation use cases.
Hugging Face Geospatial Models Searchable model hub for geospatial, imagery, segmentation, and remote sensing models.
Microsoft Planetary Computer Cloud-hosted planetary-scale geospatial data catalog and APIs.
Google Earth Engine Planetary-scale remote sensing analysis platform.

Cloud-Native Geospatial / Imagery Standards

Link Notes
STAC Specification SpatioTemporal Asset Catalog standard for describing and indexing imagery, rasters, point clouds, and other spatiotemporal assets.
STAC GitHub Source repository for the STAC specification.
Cloud Optimized GeoTIFF Cloud-native GeoTIFF layout optimized for HTTP range requests and scalable raster access.
TiTiler FastAPI-based dynamic tile server for COG, STAC, MosaicJSON, and cloud-hosted raster data.
COG Validator Utility for validating Cloud Optimized GeoTIFF structure.
Zarr Chunked array storage format useful for multidimensional scientific and raster data.
Kerchunk Reference-based access to large scientific datasets without converting entire files.

Topics I Track

  • Enterprise GIS architecture and ArcGIS Enterprise deployment patterns
  • ArcGIS Server, Portal, Data Store, Web Adaptors, load balancing, and high availability
  • Feature services, map services, image services, replicas, sync, and offline workflows
  • ArcGIS REST API automation and Python-based administration
  • GeoAI for imagery classification, object detection, segmentation, feature extraction, and predictive analysis
  • Open-source GIS stacks using QGIS, GeoServer, PostGIS, GDAL, GeoPandas, and MapLibre
  • Cloud-native geospatial formats: COG, STAC, PMTiles, Zarr
  • Utility GIS, mobile GIS, enterprise geodatabases, and spatial data engineering

Repository guidance and copyright

Repository-specific coding and validation instructions are in AGENTS.md. See COPYRIGHT.md for ownership, licensing scope, and third-party notices. Original Joseph Dillard material is reserved unless a more specific existing license applies; this repository does not grant a general open-source license.

Popular repositories Loading

  1. JosephDillard JosephDillard Public

    Config files for my GitHub profile.

    CSS

  2. docker-arcgis-enterprise docker-arcgis-enterprise Public

    Forked from Wildsong/docker-arcgis-enterprise

    A set of dockers for ESRI Arcgis Enterprise

    Python

  3. geospatial-data-gateway geospatial-data-gateway Public

    .NET and Python geospatial data gateway for registering datasets, loading validated layers into PostGIS, and broadcasting live map refresh events.

    C#

  4. geospatial-status-board geospatial-status-board Public

    Grails, MapLibre, GeoServer, and PostGIS operational status board for incidents, infrastructure, GeoAI outputs, response support, and live geospatial map workflows.

    Groovy

  5. geoai-asset-detection-platform geoai-asset-detection-platform Public

    Python GeoAI workflow platform for tiling imagery, running segmentation models, vectorizing detections, and loading GIS-ready outputs to GeoPackage/PostGIS.

    Python

  6. geospatial-mcp-services geospatial-mcp-services Public

    Docker-ready Model Context Protocol servers for map-aware GeoNames/Wikipedia lookup and incident risk analysis from selected coordinates.

    Python