Skip to main content

Features

Search, map builder, data ingestion, raster/VRT, AI chat, and role-based access control. GeoLens is a complete open-source GIS data catalog with OGC API support.

Create and share maps

Compose multi-layer maps in minutes

Combine vector and raster datasets from your catalog with point-and-click layer controls. Pick basemaps, reorder layers, adjust styling, and publish a shareable map URL without writing SQL or leaving the browser. Run PostGIS analysis on any layer in the map and save the output back to the catalog.

  • Drag-and-drop layer ordering and visibility
  • Save and share maps via share links with optional expiration presets (1, 7, 30, or 90 days)
  • Embed maps in any webpage
  • Buffer, centroid, clip, and dissolve any vector layer, then save the result as a new dataset

Read the docs

GeoLens map builder showing the multi-layer "Restless Earth" map — earthquakes, volcanic eruptions, tectonic plate boundaries, and a quake-intensity heatmap over global relief — with all seven layers in the stack and the earthquake style editor open

Ingest any format

Upload, validate, publish

Drop a Shapefile, GeoPackage, GeoJSON, GeoParquet, CSV, XLSX, or GeoTIFF and GeoLens handles validation, CRS inspection, column sampling, and catalog indexing automatically. Metadata fills in from the file; you just click publish.

  • Shapefile, GeoPackage, GeoJSON, GeoParquet, CSV, and XLSX, plus GeoTIFF and COG rasters
  • Import from WFS, ArcGIS FeatureServer, and OGC API URLs, or register existing tables in the GeoLens PostGIS database in place, with no copy
  • Automatic schema + CRS detection with sample-value preview
  • Optional title/summary overrides before commit

Read the docs

GeoLens dataset detail page post-ingest showing metadata fields, geometry type, feature count, and an extent thumbnail

Raster and VRT mosaics

Mosaic and serve large rasters at scale

Stitch multiple Cloud-Optimized GeoTIFFs into a single VRT mosaic, then serve raster tiles via Titiler, with band selection, colormaps, and min/max stretch controls, plus a direct COG download from the dataset page.

  • VRT mosaics stitched from multiple raster sources
  • Cloud-Optimized GeoTIFF (COG) serving and download
  • Browse and import satellite imagery with STAC search, filtered by collection, date, and bounding box
  • Colormap and stretch controls for single-band rasters
  • Titiler-backed tile serving with no custom tile server to run

Read the docs

GeoLens map builder rendering the Matterhorn as a 3D terrain mesh — a Virtual Raster mosaic of dozens of swissALTI3D COG tiles served as tiles via Titiler — with labeled peaks, climbing routes, the layer stack, and a legend

AI-assisted exploration

Ask questions about your data in plain language

Configure an OpenAI-compatible endpoint or Anthropic key and chat with your GeoLens catalog. Ask which datasets cover a region, request a filtered layer, or inspect spatial relationships in natural language.

  • Works with OpenAI-compatible endpoints or Anthropic keys
  • Map builder context-aware - AI sees your active layers
  • Reads metadata, attributes, and spatial extent to answer questions
  • Previews a buffer or a centroid on a layer straight from the conversation

Read the docs

GeoLens "Ask AI" assistant panel open beside the "Restless Earth" tectonics map, showing a plain-language request to enlarge the earthquake markers and the assistant's confirmation that it applied the change

Role-based access control

Fine-grained control for your team

Assign roles, approve or reject users, and scope dataset visibility per dataset. GeoLens ships with admin, editor, and viewer roles plus JWT-based sessions and OAuth (Google, Microsoft, OIDC).

  • Admin, editor, and viewer roles with per-dataset permissions
  • OAuth sign-in with Google, Microsoft, and any OIDC provider
  • Audit-log viewing and filtering for activity tracking

Read the docs

GeoLens admin users page showing the user list with role assignments, approval status, and per-user actions

Programmability

Automate & integrate

Everything you do in the UI is scriptable. Drive catalogs, datasets, and maps from the command line or your own code: define a catalog as a manifest, commit it to version control, and apply it in CI. The CLI and SDKs talk to the same open APIs.

CLI

Script catalogs and manifest-as-code from your terminal. Installs the geolens command.

pip install geolens-cli

Python SDK

Build pipelines and integrations in Python against the full GeoLens API.

pip install geolens

TypeScript SDK

Embed GeoLens in JavaScript and TypeScript apps with a typed client.

npm install @geolens/sdk

MCP server

Point Claude Code, Cursor, or Codex at your catalog: five read-only tools for dataset search, schemas, features, and maps.

pip install geolens-mcp

GeoParquet in, GeoParquet out: export any vector dataset and query it straight from DuckDB.

INSTALL spatial; LOAD spatial;
SELECT * FROM 'my-dataset.parquet' LIMIT 10;

Standards support

OGC API Features and Records

GeoLens serves OGC API Features and Records with CQL2, plus STAC and DCAT 3 metadata, so every dataset is reachable by standards-aware clients and your catalog travels in open formats. The Features and Records APIs return their advertised classes at /conformance.

Features API

Read and filter geospatial features by bounding box. Part 1 (Core); CQL2 filtering is available on the catalog Records collection.

  • • Core
  • • GeoJSON
  • • CQL2 Text
  • • CQL2 JSON
  • • Basic CQL2

Records API

Discover datasets and records via OGC-standard catalog queries: browse collections, filter by metadata, and retrieve individual records as JSON.

  • • Record Core
  • • Record Query Parameters
  • • Sorting
  • • JSON

Read the docs

Install GeoLens with one command

Run the public installer, log in, and upload your first dataset. It lands on your own infrastructure, not ours. The Quickstart also covers the source checkout path.

curl -fsSL https://getgeolens.com/install.sh | sh
Read the Quickstart Integrate via the API

Or script it: automate GeoLens from the command line or your own code.