Background Image of a River

getBounds

Data | GIS | Maps | Web

Contact

Data Visualization

Charts

Maps are just the beginning. Interactive visuals help communicate the story behind the data.

Mapbox GL JS Maps

Map

Brand matters. Enhance user experience with custom map designs to match your brand.

Spatial Analysis

Data Grid

Spatial analytics can enrich and enhance any type of data associated with a physical location.

Vector Tile Hosting

Data Servers

Take control of web map data with a database-to-map pipeline or a self-hosted vector tile server.

All Projects

Open Source

awesome-custom-print-maps
A curated listing of sites selling exclusively custom map-related products such as posters, mugs, 3D maps, etc.
code fork icon 1 star icon 5  
leaflet-store-locator
A responsive open source store locator built with Leaflet and Bootstrap and based on the original Mapbox JS example.
JavaScript code fork icon 12 star icon 21  
parcel-viewer
Open Parcel Viewer - A mobile ready web app for displaying 50k parcels or polygons without needing a GIS server.
JavaScript code fork icon 12 star icon 24  
pwa-maps
A presentation on using OpenMapTiles and service workers to turn an interactive map into an offline-capable Progressive Web App.
JavaScript code fork icon 13 star icon 42  
GitHub

Latest Posts

View More

Portfolio

Portfolio Image Portfolio Image Portfolio Image Portfolio Image Portfolio Image

About & Contact

getBounds | Spatial solutions for the web. Owned and operated by Malcolm Meyer, getBounds provides custom geospatial consulting services for web applications. What started out as a simple GIS blog a decade ago has now turned into a part-time business and full-time passion. With ten years of experience in GIS and a passion for ecology, maps, open source software, urban planning, and web design, I am ready to tackle your next GIS project. I specialize in backend data analysis using PostgreSQL/PostGIS and Mapbox GL JS web map development. Interested in collaborating? Fill out the contact form and be sure to provide any specifics that will help get the conversation started.