Help
GratisGIS documentation. Pick a topic from the sidebar or use the search box to find what you need. Each page covers one concept end-to-end, no five-step workflows in your way when you just want to know how Buffer works.
Getting Started
- What is GratisGISGratisGIS is a self-hosted open-source portal for publishing maps, datasets, forms, and apps. Familiar niche for teams coming from ArcGIS Online, without commercial licensing or a drop-in clone claim.
- Creating your first mapStart a new map item, add a layer, save. The single shortest path from "I just signed in" to "I have a map I can share."
- Build from a descriptionDescribe a layer, map, form, or app in a sentence, or say it out loud, and GratisGIS creates the items.
- Sharing an itemEvery item carries its own ACL. This page shows you the three sharing tiers and how to change them.
- Uploading a CSVPick a CSV on the New Data Layer page. A latitude / longitude pair is mapped directly. An address column is mapped through the local geocoder.
- Connecting to a PostgreSQL + PostGIS databaseRegister a live connection to your PostGIS database so maps read tables on demand without copying data into the portal.
- Browse public rasters from QGIS with STACPoint QGIS 3.42+ Data Source Manager at the portal's public STAC API to discover and open published rasters without a plugin.
Coming From Arcgis
- Coming from ArcGIS OnlineOrientation for ArcGIS Online users. GratisGIS covers portal, sharing, field collection, and QGIS. It is not a full ArcGIS Online replacement.
- Terminology mapWord-for-word mapping between ArcGIS Online vocabulary and GratisGIS vocabulary.
- Feature service to data layerMove an ArcGIS Online hosted feature service into a GratisGIS data layer. Schema, symbology, and features all come over.
- Web map to mapWhat WebMap JSON import and export move, and what stays on ArcGIS Online until you stage hosted feature services as portal data layers.
- Survey123 to formBring a Survey123 survey over by exporting its XLSForm and importing into a GratisGIS form item.
- App builders comparisonHow Experience Builder, Web AppBuilder, and Operations Dashboard map onto GratisGIS web apps. Not a drop-in for any of them.
Items
- MapAn item that composes layers, a viewport, and a basemap. Maps are what web apps render and what print templates print against.
- Data layerAn item that holds one or more PostGIS-backed feature tables, with OGC Features and public API surfaces. Same niche as a hosted feature service for many layers, not an ArcGIS FeatureServer drop-in.
- Bundle exportPack a data layer (and optionally its related tables and feature attachments) into a single ZIP archive.
- FormCollect features or non-spatial responses from people in the field or at their desks. Close to what Survey123 covers for many surveys, with a different designer and sync model.
- Data collectionA field deployment that opens a map plus editable layers and forms on a phone or tablet, with offline download, sync, and QR / link share.
- Form submission collectionA non-spatial item type that stores form responses when those responses don't map onto a feature.
- Web appA standalone web page built from a map plus widgets. Nearby to Web AppBuilder. Not an Experience Builder drop-in.
- Print templateA paper layout (page size, map frame, legend, text, parameters) that a web app's Print tool or the map editor Print button fills in and renders for PDF.
- DashboardDashboards are web apps started from the KPI Dashboard or Operations Board template. There is no dashboard item type.
- Report templateDocument report templates are not built. Use a print template for paper output from a web app.
Map Editing
- LabelsRender a text label per feature, computed from one or more fields, with placement and visibility controls.
- FiltersShow only the features of a layer that match a condition, without altering the underlying data.
- Markup and redliningDraw colored pins, lines, polygons, text, arrows, and circles on a shared map to flag issues or call out places for the team to discuss, then download a set as GeoJSON or promote it into a real data layer when you are ready.
- PopupsCustomize what shows when a user clicks a feature: title, body, field list, attachments, links.
- Comments and conversationsThreaded comments on a map, optionally anchored to a selected feature or markup sketch so reviewers can talk about a specific place.
- Live presenceSee who else is looking at the same map right now and where their cursor is.
- ViewportThe default center, zoom, bearing, and pitch a map opens at, plus optional bookmarks for saved views.
- Simple symbologyRender every feature of a layer with the same fill, stroke, and size. The default and the right starting point.
- Categorical symbologyRender each feature differently based on the value of one field. Status colors, asset types, land use classes.
- Graduated symbologyDrive a feature's color (or size) by a numeric field, using class breaks or a continuous ramp.
Forms
- Form designerThe visual builder for a form item. Drag in questions, set validation, preview, publish.
- Question typesThe catalog of form question types and which backing field types they're compatible with.
- Conditional logicShow or hide form questions based on the answers to earlier questions. Same expression dialect as filters and calculate steps.
- Importing an XLSFormBring a Survey123, ODK, or KoboToolbox XLSForm into a GratisGIS form item. The form designer's Import button accepts .xlsx alongside .json.
Web Apps
- Custom Web AppThe drag-and-drop builder for the Custom web app template. Layout, widgets, theme, and configuration on one canvas.
- TemplatesThe four built-in web app templates and which is the right fit for each use case.
- ThemesPer-web-app color, font, and logo overrides. Picks up the org brand by default; lets one app stand out.
- Layer list widgetA panel that lists the map's layers with toggle-on / toggle-off, opacity, and per-layer actions.
- Search widgetA search bar that finds locations (via a geocoder) and / or features (via field-text search).
- Export widgetToolbar tool that downloads the visible features of the bound map as CSV or Excel.
- Print widgetOpen a print template against the bound map, fill parameters, and print or save as PDF from the browser.
- Attribute table widgetA bottom panel that shows feature rows in a sortable, filterable table tied to one or more map layers.
- Basemap gallery widgetLet viewers switch the map's basemap from a curated list. Streets, imagery, topographic, your custom basemap.
- Splash widgetA modal dialog that opens when a Custom Web App loads. Use for welcome messages, disclaimers, or required terms of use.
Print Templates
- Print this mapPrint or PDF-export a map directly from its editor without first building a custom web app wrapper.
- Print template overviewHow print template items lay out a paper page for the Print widget and the map editor Print button — not document reports or DOCX.
- ParametersInputs a print template declares; the Print widget form prompts for them at print time.
- Template tokensParameter and dynamic chips in print-template text elements — not mustache report syntax or DOCX merge fields.
Analysis
- Workflows (graphs of analysis steps)Arrange an analysis recipe as a chain of steps. The canvas saves positions and order. Branching execution is not available.
- FilterKeep rows from a source layer that match a {{field}} expression. The simplest derived-layer step.
- CalculateAdd a computed column from field expressions, or add length / perimeter / area via Calculate geometry.
- Spatial joinAttach a count or selected attributes from a second data layer onto each input feature via within, intersects, or nearest.
- Spatial filterKeep input rows whose geometry matches a predicate against another data layer (or inline geometry). No attribute join.
- BufferExpand each input feature outward (or inward) by a fixed distance to produce a polygon at that offset.
- Top NKeep the N rows with the highest or lowest numeric attribute value. Geometry and attributes pass through.
- Random sampleKeep a deterministic random subset by percentage or exact count, keyed by a stable seed.
- Nearest neighborAdd nearest_distance_m — geographic meters to the closest other feature in the same layer.
- Group byRoll up rows by group keys with count/sum/avg/min/max/first aggregates; geometry is always ST_Union per group.
Admin
- HousekeepingThe admin dashboard that surfaces stale items, quiet users, and orphaned dependencies, with bulk actions to clean up.
- GeocodersMake a geocoding service item from your own data or an ArcGIS GeocodeServer, and use it in a map's search bar.
- BackupsWhat an admin backup contains, how to restore it, and what it does not cover.
- Organization settingsWhere the organization-wide settings live, and which limits come from the server rather than a page.
- RolesThe three roles, who can do what, and how to change a role or disable an account.
- BrandingSet the organization name and what visitors see on the public landing page.
Reference
- Item typesThe full catalog of GratisGIS item types in one place, with one-line descriptions and links to each item's detail page.
- Expression languageThe SQL-like dialect used across filters, calculate steps, conditional visibility, and template tokens. One vocabulary, many surfaces.
- GlossaryQuick lookup of GratisGIS-specific terms. Each entry one or two sentences.
- API keysConnect scripts, notebooks, and scheduled jobs to your portal without signing in through a browser.
- Python clientRead, filter, create, and export layers from Python, with the same code on your laptop and on the server.
- ScriptsRun Python on the portal, by hand or on a schedule, with a run history you can read afterwards.
- The HTTP APIThe routes the Python client calls, for anyone working in another language.
- Cite a public itemDownload BibTeX, RIS, or Schema.org JSON-LD for a public catalogue item.
- MCP serverA small Model Context Protocol server that lets MCP-compatible AI clients read your portal (including the public Records catalog and a capped OpenStreetMap query) and, with a write-capable API key, run tools or create a data layer from GeoJSON.