Introduction¶
Conness GIS is an open-source framework for building GIS web apps on MapLibre GL JS. It's a clone-and-edit alternative to proprietary GIS app builders. Instead of dragging boxes around a builder, you describe your app in a few configuration files and the framework builds it. It works on mobile without extra setup.
The long-term goal is a visual editor for these settings, so building an app means filling in a few forms, then building and deploying.
What you get¶
A fresh clone is a complete mapping app:
- Layers from GeoJSON, PMTiles (vector or raster), tile servers (TileJSON or
{z}/{x}/{y}), FlatGeobuf, GeoParquet and ArcGIS REST services, each configured as a plain object. GeoParquet runs on DuckDB in the browser, so files in a projected coordinate system are reprojected automatically, and large files can be drawn as tiles cut on the fly. - A layer list, legend, basemap switcher, search, measure, draw, bookmarks and live coordinates, each placed in the top bar, the side rail, or floating over the map.
- Feature popups, turned on per layer and drawn by templates you control.
- A phone layout, where the same app switches to a top-bar carousel and a bottom sheet.
- Colors from one palette: change the
primarytoken and most of the app follows. - A top bar, collapsible side panels, floating controls, a right-click menu and a loading overlay around the map.
How it's organized¶
The project has two parts:
- The shell (
app/src/) is framework code. You rarely touch it. - The user files are yours: one folder per app in
app/projects/(settings.json,layers.json,basemaps.json,theme.json,symbology.json,popups.tsx,info.md), with its data files inlayers/, plus the sharedapp/widgets/folder.
Widgets are the panels and buttons your users work with: search, locate me, filter data, draw shapes and so on. Use the built-in ones, extend them, or write your own; the shell handles their layout and styling. See Building a Custom Widget.
You build your app entirely in the user files, and the shell reads them and renders. That split is what makes Conness GIS a template you can update, not a one-off app. Concepts explains how it fits together.
Built with¶
Core
Geospatial
- PMTiles
- flatgeobuf
- DuckDB-WASM, for GeoParquet and opt-in GeoJSON (loaded from a CDN only when a layer needs it)
- esri-gl
- @mapbox/mapbox-gl-draw
- Turf.js
- OpenFreeMap
UI & content
- react-markdown
- re-resizable, for the resizable popup
- hyparquet-writer, for GeoParquet downloads (loaded only when used)
License¶
Conness GIS is licensed under the Apache License 2.0: you can use, modify and distribute it freely, commercially too, as long as you keep its copyright and license notices. The license also includes an explicit patent grant.
To run it, go to the Quick Start.