Open Source GIS
 Cloud Native • Web/App Development • System Administration 
 Linux • GDAL • PostgreSQL/PostGIS • AWS • SQL/Bash/PHP/C/Python • HTML/CSS/JavaScript • MapServer • QGIS 

Projects Notebook Resume

  Projects

FEMA Flood, National Risk Index & Insurance
Open source femaFHZ.com allows home-owners and land-owners to visualize hazards in their area, particularly targeting the insurance sector.

This map depicts FEMA flood hazard zones (updated daily), building footprints, addresses, extensive National Risk Index data at state, county and census tract levels, in-depth current hurricane threats, flood forecasts and station monitoring data, extensive current weather data, past/present wildfires and much more useful data.
Cloud Native Maps SDK
Creates one or more LeafletJS map layers from an unlimited number of geospatial raster and vector data files, transparently fetching/drawing data as you interact with the map.

Driven by a highly configurable user defined JSON file. Requires only geospatial data files and web browser. No intermediate servers/services, no back-end are needed.
JSLegend
JSLegend is a tiny JavaScript library for creating dynamic map legends in various styles.

The intent of JSLegend is to simply create custom client side legends without being dependent on backend solutions. It's easy to grasp for developers of all skill levels. JSLegend is exclusively vanilla JavaScript/HTML/CSS and has no dependencies, avoiding unnecessary abstractions. JSLegend remains robust without being cumbersome.
Municipal Maps on Budget
Throwing away resources on displaying static map data?

Much of the data you're sharing with the public is probably static, data that gets updated hourly, daily, weekly, etc. That data can be stored cost efficiently on any out of the box web server or cloud storage like AWS S3. Static data served on proprietary enterprise systems, that burn through credits is simply a waste.
Interactive Recreational Maps
Building interactive topographic maps for trip planning or rainy day, armchair hiking.

Postholer.com has been a work-in-progress since 2006 and it's my longest running project. The interactive map originated with Google Maps v1 and has currently matured to complete open-source. The 134 layers cover features such as, base maps, hiking trails, points of interest, current weather, current wildfires, climate, sleeping bag ratings, elevation/precip charts, protected areas and lands, etc. Anything an outdoor enthusiast may need for trip discovery/planning is here.
Print Maps
When electronic devices just won't do. Printed maps.

Creating topographic printed maps or base maps/tiles from a blank page can be a daunting task. It requires the accumulation of many data sources, layered in the correct order and each layer style that (hopefully) compliments the other layers. For this particular map we'll use 29 different layers, made up of twice that many individual classes, using the following stack: GDAL, PostgreSQL/PostGIS, MapServer, Apache, SQL & Bash

Notebook

Serverless
Cloud Native approach to creating interactive maps without backend server processing or services. Requires data in cloud native formats hosted on cloud storage like AWS S3 or out of the box web server. This showcases the use of VRTMate, COGMate and FGBMate on a LeafletJS interactive map, including seamless display of global 10KM, 5KM, 1KM, 500m DEM's and 1,340 10 meter DEM's for CONUS.

COGMate.js
For adding Cloud Optimized GeoTiff's (COG) to a LeafletJS map. Add, remove, show, hide COG. Allows for multi-band pixel math. Multiple palette styles, grayscale, gradient, colorStop, Look-Up Table. Define colors based on values.

FGBMate.js
For managing FlatGeoBuf's in LeafletJS. Update FGB's in zoom level range, with user defined feature styling. Painlessly uses zIndex for layers. Requires flatgeobuf-geojson.

VRTMate.js
Use GDAL virtual rasters (.vrt) as a Cloud Optimized GeoTiff (COG) source. Extracts .vrt meta data and raster paths by spatial bounding box. Incredibly useful for managing large COG data sets for interactive web maps.

Query Rasters External to the Database
Using a PostgreSQL/PostGIS database, work with individual pixels of an external (local or remote) raster that is not in the database. This includes raster/raster and raster/vector analysis.

CLI Raster Viewer
Occasionally, you just want to view a raster, locally or remote. Possibly, just a bounding box of a large or virtual raster set. Here's a simple function placed in your .bashrc to do just that.

National Digital Forecast Data
Quick start on working with NDFD data, using GDAL.

Your own Elevation Service
Here's a simple way to create your own 30 meter global or 10 meter CONUS elevation service without any local DEM rasters.

Last updated Jan 2, 2026

www.Postholer.com © 2005-2026