GeoSet brings robust geospatial visualization capabilities to Apache Superset with native PostGIS compatibility.
GeoSet bridges the gap between Superset and GIS tooling. This is accomplished by extending Apache Superset with custom deck.gl-based map visualization plugins purpose-built for geospatial data. It allows users to visualize points, lines, and polygons stored natively within PostGIS's Geography or Geometry data types. Features include:
- Single and multilayer maps
- Visibility toggling by zoom
- Hover over and additional details pane
- Color by category or value (number or percentile bounds; either can be used with Point Size Scaling)
- Point size scaling by value (number or percentile bounds)
- Collapsible legend with layer toggling and dynamic iconography
- Native dashboard integration
- Text Overlay Formatting
| Color by Metric | Dynamic Point Sizing |
![]() |
![]() |
| Ruler & Tooltip | Point Clustering |
![]() |
![]() |
| Color by Category | Text Overlay |
![]() |
![]() |
| Conditional Zoom Visibility | Layer Toggling |
![]() |
![]() |
GeoSet is an extension of Superset. Everything that can be done within Superset can be done within GeoSet. GeoSet was created to improve Superset's geospatial visualization capabilities. While Superset does provide various map charts, their functionality is limited and varying data formatting requirements and inconsistent configurability make them difficult to use.
There is a Docker Compose file at the root of the repository. This file is based off docker-compose-light.yml in the upstream Apache Superset repository. We add a PostGIS database service to the stack and preload it with example data.
Create a copy of the the file docker/.env.example and store at docker/.env.
cp docker/.env.example docker/.envYou'll need to supply a Mapbox API key in order to render the maps. Update the line MAPBOX_API_KEY='' with your Mapbox API token. You can create a token for free within your Mapbox account. Create the token, copy it into the quotes, and save the file.
Run the following command from the root of the repository. GeoSet will be accessible at [http://localhost:9001] with username admin and password admin when the build completes. This can take about 5 to 10 minutes on the first run.
docker compose upThe Dockerfile at the root of the repository uses the same Debian-based image used by upstream Superset. This image suffers from numerous high and critical CVEs. For environments with increased security requirements we offer a hardened image based on RHEL 8 with 0 critical and 0 fixable high CVEs. This image can be used in place of the Debian image by running the following command. Note, these images have identical behavior.
DOCKERFILE=Dockerfile.rhel docker compose upWe've created an example dashboard accessible at http://localhost:9001/superset/dashboard/geoset-example-dashboard.
Contributions are always welcome! Please take a look at open issues or you can create a new issue / feature request. Note: the scope of issues and feature requests must correspond with GeoSet functionality. Any issue or feature request pertaining to Superset core should be made here.
Please refer to the Development Guide wiki page for details regarding environment setup and details regarding core code directories for GeoSet.











