GIS and Mapping
Geographic information systems (GIS) and mapping tools enable organisations to capture, store, analyse, and visualise location-based data. These tools support programme delivery, monitoring and evaluation, asset management, and stakeholder communication through spatial analysis and cartographic output.
This page covers tools for spatial data management (storage and querying), spatial analysis (buffer, overlay, proximity operations), web map publishing (tile servers, feature services), and collaborative map creation. Tools focused exclusively on mobile data collection appear in Data Collection Tools; beneficiary registration systems with mapping components appear in Beneficiary Identity Systems.
Assessment methodology
Tool assessments derive from official vendor documentation, published API references, release notes, and technical specifications as of January 2026. Feature availability varies by product tier, deployment model, and region. Verify current capabilities directly with vendors during procurement. Community-reported information is excluded; only documented features are assessed.
Requirements taxonomy
This taxonomy defines evaluation criteria for GIS and mapping tools. Requirements are organised by functional area and weighted by typical priority for mission-driven organisations. Adjust weights based on operational context.
Functional requirements
Core capabilities that define what the tool must do.
Spatial data management
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F1.1 | Vector data support | Storage and querying of point, line, and polygon geometries with associated attributes | Full: supports all geometry types including multi-part, Z/M values, and curved geometries. Partial: basic geometry types only. | Review data model documentation; test geometry creation | Essential |
| F1.2 | Raster data support | Storage and processing of gridded data including satellite imagery, elevation models, and classified surfaces | Full: multiple raster formats, band operations, pyramids, tiling. Partial: limited format support or read-only. | Review raster documentation; test import/export | Essential |
| F1.3 | Coordinate reference system handling | Support for geographic and projected coordinate systems with transformation capabilities | Full: EPSG database, custom CRS definition, on-the-fly reprojection. Partial: limited CRS support. | Test CRS assignment and transformation | Essential |
| F1.4 | Spatial indexing | Optimised storage structures for efficient spatial queries | Full: R-tree, GiST, or equivalent with automatic maintenance. Partial: manual index creation required. | Review indexing documentation; benchmark query performance | Important |
| F1.5 | Topology support | Validation and enforcement of spatial relationships between features | Full: topology rules, validation, editing with snapping. Partial: basic validation only. | Review topology documentation; test rule enforcement | Important |
| F1.6 | Versioning and history | Track changes to spatial data over time with rollback capability | Full: temporal versioning, branch/merge, audit trail. Partial: timestamp tracking only. | Review versioning documentation | Desirable |
| F1.7 | Large dataset handling | Efficient processing of datasets exceeding available memory | Full: streaming, chunked processing, database-backed storage. Partial: memory-limited operations. | Test with 10+ million feature dataset | Important |
| F1.8 | 3D data support | Storage and visualisation of three-dimensional geometries | Full: 3D geometries, mesh data, point clouds. Partial: 2.5D (Z values) only. | Review 3D documentation; test 3D rendering | Context-dependent |
Spatial analysis
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F2.1 | Buffer operations | Create zones at specified distances around features | Full: variable-width buffers, dissolve options, geodetic accuracy. Partial: Euclidean only. | Test buffer creation with verification | Essential |
| F2.2 | Overlay operations | Intersect, union, difference, and symmetric difference between layers | Full: all overlay types with attribute handling options. Partial: limited overlay types. | Test each overlay operation | Essential |
| F2.3 | Proximity analysis | Calculate distances, find nearest features, create Thiessen polygons | Full: multiple proximity functions, k-nearest neighbour. Partial: basic distance calculation. | Review proximity analysis documentation | Important |
| F2.4 | Network analysis | Route calculation, service area analysis, location-allocation | Full: comprehensive network solver with turn restrictions. Partial: simple routing only. | Review network analysis capabilities | Context-dependent |
| F2.5 | Raster analysis | Map algebra, zonal statistics, reclassification, terrain analysis | Full: comprehensive raster calculator, slope/aspect, viewshed. Partial: basic operations. | Review raster analysis documentation | Important |
| F2.6 | Geostatistics | Spatial interpolation, kriging, hot spot analysis | Full: multiple interpolation methods, statistical significance testing. Partial: basic interpolation. | Review geostatistical tools | Desirable |
| F2.7 | Geocoding | Convert addresses to coordinates and reverse geocoding | Full: batch geocoding, multiple providers, address parsing. Partial: single-record or external only. | Test geocoding accuracy and throughput | Important |
| F2.8 | Spatial joins | Associate attributes between layers based on spatial relationships | Full: multiple relationship types, aggregate functions. Partial: basic containment join. | Test spatial join operations | Essential |
Cartography and visualisation
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F3.1 | Thematic mapping | Graduated symbols, choropleth, proportional symbols, dot density | Full: multiple classification methods, custom breaks, normalisation. Partial: limited symbolisation. | Review symbology documentation | Essential |
| F3.2 | Label placement | Automatic and manual label positioning with conflict resolution | Full: rule-based placement, leader lines, annotation conversion. Partial: basic labelling. | Test labelling with dense features | Important |
| F3.3 | Print layout | Compose maps with titles, legends, scale bars, and north arrows | Full: templates, data-driven pages, export to multiple formats. Partial: basic layout. | Create publication-quality map | Important |
| F3.4 | Interactive web maps | Publish maps with pan, zoom, and feature identification | Full: vector tiles, popups, layer control, custom styling. Partial: static tiles only. | Deploy and test web map | Essential |
| F3.5 | Time-enabled visualisation | Animate temporal data and filter by date/time | Full: time slider, temporal queries, animation export. Partial: static time filtering. | Test temporal visualisation | Desirable |
| F3.6 | Custom styling | Define visual appearance using expressions and rules | Full: expression-based styling, multiple geometry renderers. Partial: simple property mapping. | Create complex multi-rule style | Important |
| F3.7 | Heatmap generation | Visualise point density as continuous surfaces | Full: configurable radius, weight field, colour ramp. Partial: fixed parameters. | Generate and customise heatmap | Desirable |
| F3.8 | Clustering | Aggregate dense point features for readability | Full: configurable threshold, cluster statistics, drill-down. Partial: fixed clustering. | Test clustering at multiple scales | Important |
Data interoperability
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F4.1 | Vector format support | Read and write common vector formats | Full: GeoJSON, Shapefile, GeoPackage, KML, GPX, FileGDB. Partial: limited formats. | Test import/export of each format | Essential |
| F4.2 | Raster format support | Read and write common raster formats | Full: GeoTIFF, JPEG2000, MrSID, NetCDF, HDF. Partial: limited formats. | Test import/export of each format | Essential |
| F4.3 | OGC service consumption | Connect to WMS, WFS, WMTS, WCS services | Full: all major OGC services with authentication. Partial: limited service types. | Connect to each service type | Essential |
| F4.4 | OGC service publishing | Expose data through OGC-compliant services | Full: WMS, WFS, WMTS, WCS publishing with configuration. Partial: limited services. | Publish and validate services | Important |
| F4.5 | Database connectivity | Connect to spatial databases | Full: PostGIS, Oracle Spatial, SQL Server, cloud databases. Partial: limited databases. | Connect to PostGIS database | Essential |
| F4.6 | Cloud storage integration | Access data from cloud object storage | Full: S3, Azure Blob, GCS with cloud-optimised formats. Partial: basic cloud access. | Access data from S3 bucket | Desirable |
| F4.7 | CAD format support | Import and export CAD drawings | Full: DWG, DXF with layer and attribute preservation. Partial: read-only or limited. | Test CAD import/export | Context-dependent |
| F4.8 | API data access | Consume data from REST APIs | Full: configurable API connections, pagination handling. Partial: limited API support. | Connect to REST API data source | Important |
Collaboration and sharing
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F5.1 | Multi-user editing | Concurrent editing by multiple users with conflict resolution | Full: real-time or versioned editing, locking, merge tools. Partial: exclusive locking only. | Test concurrent editing scenario | Important |
| F5.2 | Web-based editing | Edit features through web interface without desktop software | Full: full-featured web editor, snapping, attribute forms. Partial: basic point editing. | Test web editing capabilities | Important |
| F5.3 | Map embedding | Embed interactive maps in external websites | Full: iframe embed, JavaScript API, customisable controls. Partial: static image only. | Embed map in test page | Essential |
| F5.4 | Export and sharing | Export maps as images, PDFs, or data packages | Full: multiple formats, resolution options, georeferenced output. Partial: limited formats. | Test export options | Essential |
| F5.5 | Annotation and markup | Add temporary or persistent annotations to maps | Full: drawing tools, text, symbols, saving annotations. Partial: temporary markup only. | Test annotation capabilities | Desirable |
| F5.6 | Public map galleries | Share maps publicly with discovery and search | Full: searchable catalogue, metadata, access control. Partial: simple sharing links. | Create and discover shared maps | Desirable |
Technical requirements
Infrastructure, deployment, and integration considerations.
Deployment and hosting
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| T1.1 | Self-hosted deployment | Install and operate on organisation-controlled infrastructure | Full: documented installation, configuration options, updates. None: SaaS only. | Review installation documentation | Essential for data sovereignty |
| T1.2 | Cloud deployment | Deploy on major cloud platforms | Full: AWS, Azure, GCP with managed services. Partial: IaaS only. | Review cloud deployment options | Important |
| T1.3 | Container deployment | Run in Docker or Kubernetes environments | Full: official images, Helm charts, orchestration support. Partial: community images. | Deploy using Docker/Kubernetes | Important |
| T1.4 | Desktop application | Native application for workstation use | Full: Windows, macOS, Linux support. Partial: single platform. | Install on target platforms | Context-dependent |
| T1.5 | Offline capability | Function without internet connectivity | Full: offline data, cached basemaps, local processing. Partial: limited offline. | Test in air-gapped environment | Essential for field operations |
| T1.6 | Horizontal scaling | Distribute load across multiple instances | Full: load balancing, tile caching, distributed processing. Partial: vertical scaling only. | Review scaling documentation | Important |
Scalability and performance
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| T2.1 | Tile caching | Pre-generate and cache map tiles for performance | Full: configurable seeding, invalidation, multiple backends. Partial: basic caching. | Configure and test caching | Essential for web maps |
| T2.2 | Query optimisation | Efficient spatial query execution | Full: query planning, index utilisation, parallel execution. Partial: basic optimisation. | Benchmark complex queries | Essential |
| T2.3 | Concurrent user support | Handle multiple simultaneous users | Document: maximum concurrent users, connection pooling, session management. | Load test with target user count | Essential |
| T2.4 | Large file handling | Process raster and vector files exceeding 1GB | Full: streaming processing, virtual rasters. Partial: memory-limited. | Process 10GB raster file | Important |
Integration architecture
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| T3.1 | REST API | Programmatic access to functionality | Full: comprehensive API, documentation, versioning. Partial: limited endpoints. | Review API documentation completeness | Essential |
| T3.2 | API authentication | Secure API access methods | OAuth 2.0, API keys, basic auth options and security features documented. | Review authentication documentation | Essential |
| T3.3 | Webhook support | Event-driven notifications | Full: configurable events, retry logic, payload customisation. Partial: limited events. | Configure and test webhooks | Desirable |
| T3.4 | SDK availability | Client libraries for development | Full: official SDKs for major languages. Partial: REST only. | Review SDK availability | Important |
| T3.5 | Plugin architecture | Extend functionality through plugins | Full: plugin API, marketplace, development documentation. Partial: limited extensibility. | Review plugin documentation | Desirable |
| T3.6 | Standards compliance | Adherence to OGC and other standards | Document: WMS, WFS, WCS, WMTS, GeoPackage, SLD compliance levels. | Validate OGC compliance | Essential |
Security requirements
Security controls and data protection capabilities.
Authentication and access control
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| S1.1 | Multi-factor authentication | MFA support for user accounts | Full: TOTP, WebAuthn, push notifications. Partial: single MFA method. | Review MFA documentation | Essential |
| S1.2 | Single sign-on integration | Federated identity via SSO | Full: SAML 2.0, OIDC, multiple IdPs. Partial: single protocol. | Test SSO integration | Essential |
| S1.3 | Role-based access control | Permission management based on roles | Full: custom roles, granular permissions, inheritance. Partial: fixed roles. | Review RBAC documentation | Essential |
| S1.4 | Layer-level security | Restrict access to specific data layers | Full: configurable layer permissions by role. Partial: all-or-nothing. | Configure layer-level permissions | Important |
| S1.5 | Feature-level security | Restrict access to individual features | Full: row-level security based on attributes. Partial: layer-level only. | Test feature-level restrictions | Context-dependent |
| S1.6 | API key management | Secure API credential handling | Full: key generation, rotation, scoping, revocation. Partial: basic keys. | Review API key management | Essential |
Data protection
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| S2.1 | Encryption at rest | Data encrypted when stored | Full: AES-256, documented key management. Partial: available but not default. | Review encryption documentation | Essential |
| S2.2 | Encryption in transit | Data encrypted during transmission | Full: TLS 1.2+ enforced. Partial: TLS available but not enforced. | Test with SSL analyser | Essential |
| S2.3 | Audit logging | Logging of data access and changes | Full: comprehensive logs, configurable retention, export. Partial: limited logging. | Review audit log capabilities | Essential |
| S2.4 | Data residency controls | Specify and enforce data storage location | Full: regional deployment options, data flow documentation. Partial: limited regions. | Review data residency options | Essential |
Security certifications
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| S3.1 | SOC 2 Type II | Independent security audit | Full: current certification available. Partial: Type I only. None: no certification. | Request SOC 2 report | Important |
| S3.2 | ISO 27001 | Information security management certification | Full: current certification. None: no certification. | Request certificate | Important |
| S3.3 | GDPR compliance documentation | EU data protection compliance | Full: DPA available, processing records. Partial: general privacy policy. | Review GDPR documentation | Essential |
Operational requirements
Day-to-day administration and management considerations.
Administration
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| O1.1 | Administrative interface | Quality and capability of admin tools | Full: web-based admin, bulk operations, monitoring. Partial: limited admin UI. | Review admin interface | Important |
| O1.2 | Configuration management | Manage settings through files or API | Full: configuration as code, version control. Partial: UI-only configuration. | Review configuration options | Important |
| O1.3 | User management | Create, modify, and remove user accounts | Full: bulk operations, self-service, directory sync. Partial: manual management. | Review user management capabilities | Essential |
| O1.4 | Backup and recovery | Data protection and restoration | Full: automated backups, point-in-time recovery. Partial: manual backup. | Review backup documentation | Essential |
| O1.5 | Monitoring and alerting | System health visibility | Full: metrics, health endpoints, alerting integration. Partial: basic status. | Review monitoring capabilities | Important |
Support and maintenance
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| O2.1 | Documentation quality | Completeness and accuracy of documentation | Full: comprehensive, current, searchable. Partial: incomplete or outdated. | Assess documentation during evaluation | Essential |
| O2.2 | Support channels | Available methods for obtaining help | Document: community forum, email, chat, phone, response times. | Review support options | Important |
| O2.3 | Release cadence | Frequency and predictability of updates | Full: published roadmap, regular releases, LTS options. Partial: irregular releases. | Review release history | Important |
| O2.4 | Community health | Vitality of user and developer community | Metrics: contributors, commit frequency, issue response time. | Review repository statistics | Important for FOSS |
Data management requirements
Data handling, portability, and lifecycle management.
Import and export
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| D1.1 | Bulk data import | Efficiently import large datasets | Full: batch import, progress tracking, error handling. Partial: limited batch size. | Import 1+ million features | Essential |
| D1.2 | Complete data export | Export all organisation data | Full: complete export including styles, metadata. Partial: data only. | Verify export completeness | Essential |
| D1.3 | Metadata preservation | Maintain metadata through import/export | Full: ISO 19115, Dublin Core support. Partial: basic metadata. | Test metadata round-trip | Important |
| D1.4 | Style export | Export symbology and styling | Full: SLD, Mapbox Style, QML export. Partial: limited style formats. | Export and reimport styles | Important |
Data lifecycle
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| D2.1 | Data archival | Move inactive data to lower-cost storage | Full: automated archival, retrieval process. Partial: manual archival. | Review archival options | Desirable |
| D2.2 | Data deletion | Permanently remove data | Full: hard delete with audit trail. Partial: soft delete only. | Test deletion capabilities | Essential |
Commercial requirements
Licensing, pricing, and vendor considerations.
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| C1.1 | Pricing model | Cost structure and predictability | Document: pricing model, free tier, volume discounts. | Review pricing documentation | Important |
| C1.2 | Nonprofit programme | Discounted or free access for qualifying organisations | Full: established programme, significant discount. Partial: ad-hoc discounts. None: standard pricing. | Research nonprofit programme | Important |
| C1.3 | Open source licence | Licence terms for FOSS options | Document: licence type, copyleft implications. | Review licence file | Essential for FOSS |
| C1.4 | Vendor stability | Financial health and longevity | For commercial: funding, customer base. For FOSS: maintainer commitment, governance. | Research organisation | Important |
| C1.5 | Jurisdictional factors | Legal jurisdiction and data access implications | Document: HQ location, data centre locations, applicable laws. | Review legal documentation | Important |
Accessibility requirements
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| A1.1 | WCAG compliance | Web Content Accessibility Guidelines conformance | Full: Level AA documented. Partial: Level A or partial. | Review accessibility statement | Important |
| A1.2 | Keyboard navigation | Full functionality without mouse | Full: all features keyboard accessible. Partial: limited support. | Test keyboard navigation | Important |
| A1.3 | Screen reader support | Compatibility with assistive technology | Full: tested and documented. Partial: basic compatibility. | Test with screen reader | Important |
Assessment methodology
Tools are assessed against each requirement using the following scale:
| Rating | Symbol | Definition |
|---|---|---|
| Full support | ● | Requirement fully met with documented, production-ready capability |
| Partial support | ◐ | Requirement partially met; limitations documented in notes |
| Minimal support | ○ | Basic capability exists but significant gaps |
| Not supported | ✗ | Capability not available |
| Not applicable | - | Requirement not relevant to this tool |
| Not assessed | ? | Insufficient documentation to assess |
Additional notation:
- $ -Feature requires paid tier or add-on
- β -Feature in beta or preview
- E -Feature available in enterprise tier only
- P -Feature requires plugin or extension
Functional capability comparison
Spatial data management
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| F1.1 | Vector data support | ● | ● | ● | ● | ◐ | ● | ● | ● |
| F1.2 | Raster data support | ● | ● | ● | ● | ✗ | ● | ◐ | ● |
| F1.3 | CRS handling | ● | ● | ● | ● | ○ | ● | ● | ● |
| F1.4 | Spatial indexing | ● | ● | ● | ● | - | ● | ● | ● |
| F1.5 | Topology support | ● | ● | ◐ | ◐ | ✗ | ○ | ✗ | ● |
| F1.6 | Versioning and history | ◐P | ◐ | ◐ | ● | ● | ● | ✗ | ●$ |
| F1.7 | Large dataset handling | ● | ● | ● | ● | ✗ | ● | ● | ● |
| F1.8 | 3D data support | ●P | ● | ◐ | ◐ | ✗ | ◐ | ● | ● |
Assessment notes -Spatial data management:
- QGIS F1.6: Version control via plugins (Sketsketcher, GeoGig integration); not native to core
- PostGIS F1.6: Temporal support available but requires application-level implementation
- uMap F1.1: Supports points, lines, polygons but no multi-part geometries or advanced geometry types
- uMap F1.3: Uses Web Mercator (EPSG:3857) only; no custom CRS support
- Earth Engine F1.5: Basic geometry validation; no topology rule enforcement
- GeoNode F1.8: 3D Tiles support added in version 4.4; limited 3D editing
Spatial analysis
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| F2.1 | Buffer operations | ● | ● | ●P | ○ | ✗ | ● | ✗ | ● |
| F2.2 | Overlay operations | ● | ● | ●P | ○ | ✗ | ● | ✗ | ● |
| F2.3 | Proximity analysis | ● | ● | ●P | ○ | ✗ | ● | ✗ | ● |
| F2.4 | Network analysis | ●P | ●P | ✗ | ✗ | ◐P | ✗ | ●$ | ●$ |
| F2.5 | Raster analysis | ● | ● | ●P | ○ | ✗ | ● | ✗ | ● |
| F2.6 | Geostatistics | ●P | ◐ | ✗ | ✗ | ✗ | ● | ✗ | ●$ |
| F2.7 | Geocoding | ●P | ✗ | ✗ | ◐ | ◐ | ✗ | ●$ | ●$ |
| F2.8 | Spatial joins | ● | ● | ●P | ○ | ✗ | ● | ✗ | ● |
Assessment notes -Spatial analysis:
- GeoServer F2.1-F2.8: Analysis available through WPS extension; requires additional configuration
- GeoNode: Relies on GeoServer WPS for analysis; limited native analysis tools
- uMap F2.4: Route drawing with OpenRouteService integration; not analytical routing
- uMap F2.7: Address search via Nominatim; not batch geocoding
- PostGIS F2.4: pgRouting extension required for network analysis
- Mapbox F2.4: Directions API requires additional subscription; client-side only
- ArcGIS F2.4: Network Analyst requires Standard or Advanced licence tier
Cartography and visualisation
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| F3.1 | Thematic mapping | ● | - | ● | ● | ◐ | ● | ● | ● |
| F3.2 | Label placement | ● | - | ● | ◐ | ○ | ○ | ● | ● |
| F3.3 | Print layout | ● | - | ◐ | ○ | ◐β | ○ | ✗ | ● |
| F3.4 | Interactive web maps | ●P | - | ● | ● | ● | ● | ● | ● |
| F3.5 | Time-enabled visualisation | ● | - | ● | ◐ | ✗ | ● | ◐ | ● |
| F3.6 | Custom styling | ● | - | ● | ● | ◐ | ● | ● | ● |
| F3.7 | Heatmap generation | ● | - | ● | ◐ | ● | ● | ● | ● |
| F3.8 | Clustering | ● | - | ● | ● | ● | ◐ | ● | ● |
Assessment notes -Cartography and visualisation:
- PostGIS: Database system; visualisation requires client applications
- QGIS F3.4: Web publishing via QGIS Server or qgis2web plugin
- uMap F3.3: Print feature in beta as of version 3.4
- Earth Engine F3.2: Basic labelling; limited placement control
- Earth Engine F3.3: Code Editor export; no print composer
- Mapbox F3.3: Export via Static Images API; no interactive print layout
Data interoperability
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| F4.1 | Vector format support | ● | ● | ● | ● | ◐ | ◐ | ● | ● |
| F4.2 | Raster format support | ● | ● | ● | ● | ✗ | ● | ○ | ● |
| F4.3 | OGC service consumption | ● | ✗ | ● | ● | ○ | ○ | ○ | ● |
| F4.4 | OGC service publishing | ●P | ✗ | ● | ● | ✗ | ✗ | ✗ | ● |
| F4.5 | Database connectivity | ● | ● | ● | ● | ✗ | ◐ | ✗ | ● |
| F4.6 | Cloud storage integration | ●P | ◐ | ● | ◐ | ✗ | ● | ● | ● |
| F4.7 | CAD format support | ● | ✗ | ◐ | ◐ | ✗ | ✗ | ✗ | ● |
| F4.8 | API data access | ●P | ✗ | ● | ● | ● | ● | ● | ● |
Assessment notes -Data interoperability:
- uMap F4.1: GeoJSON, GPX, KML, CSV; no Shapefile or GeoPackage
- Earth Engine F4.1: GeoJSON, Shapefile via upload; limited direct format support
- Earth Engine F4.3: Limited WMS/WMTS support; uses proprietary data access
- Mapbox F4.2: Raster tile display; limited raster analysis format support
- PostGIS F4.3: Database storage only; OGC services require GeoServer or similar
Collaboration and sharing
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| F5.1 | Multi-user editing | ◐ | ● | ◐ | ● | ● | ◐ | ✗ | ● |
| F5.2 | Web-based editing | ✗ | ✗ | ◐ | ● | ● | ● | ●$ | ● |
| F5.3 | Map embedding | ●P | - | ● | ● | ● | ● | ● | ● |
| F5.4 | Export and sharing | ● | ● | ● | ● | ● | ● | ● | ● |
| F5.5 | Annotation and markup | ● | ✗ | ○ | ◐ | ● | ○ | ○ | ● |
| F5.6 | Public map galleries | ✗ | - | ◐ | ● | ● | ● | ◐ | ● |
Assessment notes -Collaboration and sharing:
- QGIS F5.1: Via PostGIS or GeoPackage with file locking; no real-time collaboration
- GeoServer F5.2: WFS-T for transactional editing; requires client application
- Earth Engine F5.1: Code sharing; limited simultaneous asset editing
- uMap F5.1: Real-time collaboration in beta development
Technical capability comparison
Deployment and hosting
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| T1.1 | Self-hosted deployment | ● | ● | ● | ● | ● | ✗ | ✗ | ●E |
| T1.2 | Cloud deployment | ◐ | ● | ● | ● | ● | ● | ● | ● |
| T1.3 | Container deployment | ◐ | ● | ● | ● | ● | - | - | ◐ |
| T1.4 | Desktop application | ● | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ● |
| T1.5 | Offline capability | ● | ● | ● | ◐ | ✗ | ✗ | ◐ | ● |
| T1.6 | Horizontal scaling | - | ● | ● | ● | ◐ | ● | ● | ● |
Deployment details:
| Tool | Self-hosted infrastructure | Container support | Minimum resources | Cloud regions |
|---|---|---|---|---|
| QGIS | Windows, macOS, Linux | Community Docker images for QGIS Server | Desktop: 4GB RAM, 2GB disk | N/A (desktop) |
| PostGIS | Linux, Windows; PostgreSQL 13-18 | Official Docker images, Kubernetes operators | 2 CPU, 4GB RAM, variable storage | N/A (self-hosted) |
| GeoServer | Linux, Windows; Java 17+ | Official Docker images, Helm charts | 4 CPU, 8GB RAM, 50GB storage | N/A (self-hosted) |
| GeoNode | Linux (Ubuntu, CentOS); Docker required | Official Docker Compose setup | 8 CPU, 16GB RAM, 100GB storage | N/A (self-hosted) |
| uMap | Linux; Python 3.10+, Django | Official Docker image | 2 CPU, 2GB RAM, 10GB storage | N/A (self-hosted) |
| Earth Engine | SaaS only | N/A | N/A | Global (Google Cloud) |
| Mapbox | SaaS only | N/A | N/A | Global CDN |
| ArcGIS | Enterprise: Linux/Windows | ArcGIS Enterprise on Kubernetes | 16 CPU, 32GB RAM (Enterprise) | Online: 10+ regions |
Integration architecture
| Tool | REST API | Authentication methods | Rate limits | SDK availability |
|---|---|---|---|---|
| QGIS | ✗ (desktop) | N/A | N/A | Python (PyQGIS), C++ |
| PostGIS | ✗ (SQL access) | Database auth | Connection pool limits | Multiple language drivers |
| GeoServer | ● | Basic, digest, OAuth2, LDAP | Configurable | Java, Python (gsconfig) |
| GeoNode | ● | OAuth2, session, token | Configurable | Python |
| uMap | ◐ | Session, anonymous | None documented | None official |
| Earth Engine | ● | OAuth 2.0, service account | Quota-based | Python, JavaScript |
| Mapbox | ● | API token | Per-account limits | JavaScript, iOS, Android, Qt |
| ArcGIS | ● | OAuth 2.0, API key, token | Per-plan limits | JavaScript, Python, .NET, Java, Swift, Kotlin |
Standards compliance:
| Tool | WMS | WFS | WMTS | WCS | OGC API - Features | GeoPackage |
|---|---|---|---|---|---|---|
| QGIS | ● (consume) | ● (consume) | ● (consume) | ● (consume) | ● (consume) | ● |
| PostGIS | - | - | - | - | - | ● (via GDAL) |
| GeoServer | ● | ● | ● | ● | ● | ● |
| GeoNode | ● | ● | ● | ◐ | ◐ | ● |
| uMap | ○ (consume) | ✗ | ○ (consume) | ✗ | ✗ | ✗ |
| Earth Engine | ○ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Mapbox | ○ (consume) | ✗ | ● (consume) | ✗ | ✗ | ✗ |
| ArcGIS | ● | ● | ● | ● | ● | ● |
Security capability comparison
Authentication and access control
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| S1.1 | Multi-factor authentication | - | ✗ | ◐P | ● | ✗ | ● | ● | ● |
| S1.2 | Single sign-on | - | ✗ | ● | ● | ◐ | ● | ● | ● |
| S1.3 | Role-based access control | - | ● | ● | ● | ○ | ● | ● | ● |
| S1.4 | Layer-level security | - | ● | ● | ● | ○ | ● | ◐ | ● |
| S1.5 | Feature-level security | - | ● | ◐ | ◐ | ✗ | ○ | ✗ | ●E |
| S1.6 | API key management | - | - | ● | ● | ✗ | ● | ● | ● |
Authentication methods:
| Tool | Local auth | LDAP/AD | SAML 2.0 | OIDC | Social login |
|---|---|---|---|---|---|
| QGIS | N/A | N/A | N/A | N/A | N/A |
| PostGIS | ● | ● | ✗ | ✗ | ✗ |
| GeoServer | ● | ● | ●P | ●P | ✗ |
| GeoNode | ● | ●P | ● | ● | ● |
| uMap | ● | ✗ | ✗ | ◐ | ● (OSM) |
| Earth Engine | ● | - | - | ● | ● (Google) |
| Mapbox | ● | ✗ | ✗ | ✗ | ● |
| ArcGIS | ● | ● | ● | ● | ● |
Data protection and certifications
| Req ID | Requirement | QGIS | PostGIS | GeoServer | GeoNode | uMap | Earth Engine | Mapbox | ArcGIS |
|---|---|---|---|---|---|---|---|---|---|
| S2.1 | Encryption at rest | - | ● | - | - | - | ● | ● | ● |
| S2.2 | Encryption in transit | - | ● | ● | ● | ● | ● | ● | ● |
| S2.3 | Audit logging | - | ● | ● | ● | ○ | ● | ● | ● |
| S2.4 | Data residency controls | N/A | N/A | N/A | N/A | N/A | ◐ | ◐ | ● |
| S3.1 | SOC 2 Type II | - | - | - | - | - | ● | ● | ● |
| S3.2 | ISO 27001 | - | - | - | - | - | ● | ● | ● |
| S3.3 | GDPR documentation | - | - | - | - | - | ● | ● | ● |
Notes:
- Self-hosted tools (QGIS, PostGIS, GeoServer, GeoNode, uMap): encryption and certifications depend on deployment infrastructure
- PostGIS S2.1: PostgreSQL Transparent Data Encryption or filesystem encryption
- Earth Engine S2.4: Limited region selection; data processed in Google data centres globally
- Mapbox S2.4: Data stored in US; limited regional options
Commercial comparison
Pricing models
| Tool | Type | Model | Free tier | Nonprofit programme | Typical cost (small org) | Typical cost (medium org) |
|---|---|---|---|---|---|---|
| QGIS | Open source | Free | ● Full product | N/A | £0 | £0 |
| PostGIS | Open source | Free | ● Full product | N/A | £0 + infrastructure | £0 + infrastructure |
| GeoServer | Open source | Free | ● Full product | N/A | £0 + infrastructure | £0 + infrastructure |
| GeoNode | Open source | Free | ● Full product | N/A | £0 + infrastructure | £0 + infrastructure |
| uMap | Open source | Free | ● Full product | N/A | £0 (hosted) or infrastructure | £0 (hosted) or infrastructure |
| Earth Engine | Commercial | Usage-based | ● Noncommercial | ● Free for qualifying | £0 (nonprofit) | £0 (nonprofit) |
| Mapbox | Commercial | Usage-based | ◐ 50,000 loads/month | ✗ | £0-200/month | £200-2,000/month |
| ArcGIS | Commercial | Per-user subscription | ◐ Limited | ● Significant discount | £300-1,500/year | £3,000-15,000/year |
Infrastructure costs for self-hosted tools (estimated monthly):
| Scale | PostGIS + GeoServer | GeoNode | Notes |
|---|---|---|---|
| Small (<10 concurrent users) | £30-80 | £80-150 | 2 CPU, 8GB RAM VM |
| Medium (10-50 concurrent users) | £100-300 | £200-500 | 4 CPU, 16GB RAM, separate database |
| Large (50+ concurrent users) | £300-1,000+ | £500-1,500+ | Clustered deployment, managed database |
Vendor details
| Tool | Organisation | Founded | HQ location | Business model |
|---|---|---|---|---|
| QGIS | QGIS.org (OSGeo project) | 2002 | Switzerland (association) | Donations, sustaining members |
| PostGIS | OSGeo project | 2001 | N/A (community) | Community-maintained |
| GeoServer | OSGeo project | 2001 | N/A (community) | Community, commercial support vendors |
| GeoNode | OSGeo project | 2010 | N/A (community) | Community, commercial support vendors |
| uMap | umap-project (OSM France) | 2012 | France | Donations, community |
| Earth Engine | Google LLC | 2010 | United States | Subscription, free for research |
| Mapbox | Mapbox Inc | 2010 | United States | Subscription |
| ArcGIS | Esri | 1969 | United States | Subscription, perpetual licences |
Jurisdictional considerations:
- Earth Engine, Mapbox, ArcGIS Online (US HQ): Subject to CLOUD Act; US government can compel access regardless of data location
- Earth Engine: Data processing occurs in Google data centres; limited control over processing location
- Mapbox: Data stored on AWS infrastructure; US-centric
- ArcGIS Online: Regional data centres available; some control over data residency with Enterprise
- Self-hosted options: Complete data sovereignty when deployed on own infrastructure
Detailed tool assessments
QGIS
- Type
- Open source desktop GIS
- Licence
- GPL-2.0 -requires source disclosure if distributing modified versions
- Current version
- 3.42 “Münster” (February 2025); 4.0 scheduled February 2026
- Deployment options
- Desktop (Windows, macOS, Linux); QGIS Server for web services
- Source repository
- https://github.com/qgis/QGIS
- Documentation
- https://docs.qgis.org/
Overview
QGIS is a full-featured desktop geographic information system that provides data viewing, editing, and analysis capabilities comparable to commercial alternatives. The software supports over 100 vector and raster formats through GDAL/OGR integration and connects to all major spatial databases including PostGIS, Oracle Spatial, and SQL Server.
The project originated in 2002 and became an OSGeo project in 2007. Development follows a predictable release cycle with feature releases every four months and long-term support releases maintained for one year. The transition to Qt6 with version 4.0 represents the largest architectural change since the Qt5 migration.
QGIS addresses the full GIS workflow from data management through analysis to cartographic output. The print composer produces publication-quality maps, while the processing framework provides access to over 1,000 geoprocessing algorithms including native tools, GDAL, GRASS, and SAGA.
Capability assessment for mapping and GIS
QGIS excels at desktop spatial analysis and cartography. The software handles complex symbology including rule-based rendering, data-driven styling, and 3D visualisation. For web mapping, QGIS Server provides OGC-compliant WMS, WFS, and WMTS services, while the qgis2web plugin exports interactive maps using Leaflet or OpenLayers.
The plugin architecture extends capabilities significantly. Over 1,000 plugins address specialised needs including geocoding, network analysis, remote sensing, and database management. Python scripting through PyQGIS enables automation and custom tool development.
For mission-driven organisations, QGIS eliminates software licensing costs while providing capabilities matching commercial software. The learning curve is moderate; users familiar with other GIS software adapt within days.
Key strengths:
- Complete desktop GIS at no cost with no feature restrictions
- Extensive format support through GDAL/OGR (100+ formats)
- Rich plugin ecosystem addressing specialised requirements
- Publication-quality cartographic output with flexible print composer
- Strong PostGIS integration for enterprise spatial databases
- Active development with predictable release cycle
Key limitations:
- Desktop-focused; web collaboration requires additional components
- Multi-user editing depends on database backends (no native collaboration)
- Performance degrades with very large datasets (10+ million features)
- Some advanced analysis requires plugin installation and configuration
- No cloud-hosted option; requires local installation
Deployment and operations
Desktop requirements:
Operating system: Windows 10/11, macOS 10.15+, Linux (Ubuntu 20.04+)Memory: 4GB minimum, 16GB recommended for large datasetsStorage: 2GB for installation, variable for dataServer requirements (QGIS Server):
Operating system: Linux (Ubuntu 20.04+, Debian 11+)Memory: 4GB minimum, 16GB recommendedDependencies: Apache or Nginx with FastCGIDeployment complexity: Low for desktop; Medium for server Operational overhead: Low -automatic updates available on Windows/macOS Upgrade path: Direct installation of new versions; projects forward-compatible
Integration capabilities
API coverage: PyQGIS provides complete access to QGIS functionality
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| PostGIS | Native | Production | https://docs.qgis.org/latest/en/docs/training_manual/databases/ |
| GeoServer | Native | Production | Via WMS/WFS |
| GRASS GIS | Native | Production | https://docs.qgis.org/latest/en/docs/user_manual/processing/grass.html |
| MapTiler | Plugin | Production | https://plugins.qgis.org/plugins/maptileplugin/ |
Standards supported: WMS 1.1/1.3, WFS 1.0/1.1/2.0, WMTS 1.0, WCS 1.0/1.1, OGC API Features, SLD 1.0/1.1, GeoPackage 1.2
Security assessment
Authentication: N/A for desktop; QGIS Server supports HTTP Basic, digest, and external authentication Authorisation: Project-level access control; layer visibility settings Data protection: Dependent on operating system and database security Certifications: N/A (desktop software)
Cost analysis
Direct costs:
- Licence: Free
- Support: Community support free; commercial support from multiple vendors (£500-5,000/year)
- Training: Free online resources; commercial training available
Infrastructure costs: Desktop hardware only for basic use
Hidden costs to consider:
- Staff training time for users new to GIS
- Plugin compatibility verification during upgrades
- Server infrastructure if deploying QGIS Server
Organisational fit
Best suited for:
- Organisations requiring full GIS capabilities without licensing costs
- Teams with technical capacity to manage desktop software deployment
- Projects requiring complex spatial analysis and cartographic output
- Environments with existing PostGIS databases
Less suitable for:
- Organisations requiring web-only access with no desktop installation
- Use cases requiring real-time multi-user collaboration
- Contexts where centralised IT management is unavailable
PostGIS
- Type
- Open source spatial database extension
- Licence
- GPL-2.0 -requires source disclosure if distributing modified versions
- Current version
- 3.6.1 (November 2025)
- Deployment options
- PostgreSQL extension (Linux, Windows); Docker; cloud managed services
- Source repository
- https://github.com/postgis/postgis
- Documentation
- https://postgis.net/documentation/
Overview
PostGIS extends PostgreSQL with spatial data types, indexes, and functions, transforming a standard relational database into a spatial database capable of storing and querying geographic data. The extension provides over 400 spatial functions covering geometry operations, coordinate transformations, raster processing, and topology.
Originally developed by Refractions Research in 2001, PostGIS became an OSGeo project and remains the most widely deployed open source spatial database. The project maintains compatibility with PostgreSQL versions 13 through 18 and coordinates releases with PostgreSQL’s annual cycle.
PostGIS functions as infrastructure rather than end-user software. Desktop applications (QGIS, ArcGIS), web mapping servers (GeoServer), and custom applications connect to PostGIS for spatial data storage and query processing. This architectural position makes PostGIS foundational to many open source GIS deployments.
Capability assessment for mapping and GIS
PostGIS provides the data management and spatial processing foundation that other tools build upon. Spatial queries execute within the database, reducing data transfer and enabling complex analysis at scale. The ST_* function family supports standard spatial operations: buffers, intersections, unions, and distance calculations.
For large datasets, PostGIS outperforms file-based storage. Spatial indexes (GiST, SP-GiST) enable sub-second queries across millions of features. Parallel query execution, introduced in PostgreSQL 9.6, accelerates computationally intensive operations.
Raster support (PostGIS Raster) stores gridded data alongside vector features, enabling integrated analysis. Point cloud support handles LiDAR data at scale. The pgRouting extension adds network analysis capabilities including shortest path, travelling salesman, and service area calculations.
Key strengths:
- Enterprise-grade spatial database with ACID compliance and replication
- Spatial SQL enables complex queries without application-level processing
- Scales to billions of features with proper indexing
- Integrates with standard PostgreSQL ecosystem (backup, monitoring, administration)
- Raster and point cloud support alongside vector data
- Strong integration with all major GIS applications
Key limitations:
- Database expertise required for installation, tuning, and maintenance
- No user interface; requires client applications for visualisation
- Complex queries require SQL knowledge
- Horizontal scaling requires PostgreSQL-specific approaches (Citus, read replicas)
- Geographic functions assume sphere; some calculations less accurate than geodetic alternatives
Deployment and operations
Self-hosted requirements:
Operating system: Linux (Ubuntu 20.04+, RHEL 8+), Windows Server 2019+PostgreSQL: Version 13-18GEOS: 3.8+ (3.14+ for all features)PROJ: 6.1+Memory: 4GB minimum, 16GB+ recommendedStorage: Variable (allow 2x raw data size for indexes)Deployment complexity: Medium -requires PostgreSQL administration knowledge Operational overhead: Medium -regular maintenance (VACUUM, ANALYZE, backups) Upgrade path: pg_upgrade for PostgreSQL; ALTER EXTENSION UPDATE for PostGIS
Cloud managed options:
| Provider | Service | Notes |
|---|---|---|
| AWS | RDS for PostgreSQL | PostGIS extension available |
| Azure | Database for PostgreSQL | PostGIS extension available |
| GCP | Cloud SQL for PostgreSQL | PostGIS extension available |
| Crunchy Data | Crunchy Bridge | PostGIS-focused managed service |
Integration capabilities
API coverage: SQL access via any PostgreSQL client library
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| QGIS | Native | Production | DB Manager, Processing |
| GeoServer | Native | Production | https://docs.geoserver.org/stable/en/user/data/database/postgis.html |
| Django/GeoDjango | Native | Production | https://docs.djangoproject.com/en/stable/ref/contrib/gis/ |
| Node.js (node-postgres) | Native | Production | https://node-postgres.com/ |
Standards supported: SQL/MM Spatial, OGC Simple Features, GeoPackage (via ogr2ogr)
Security assessment
Authentication: PostgreSQL methods (password, LDAP, certificate, GSSAPI) Authorisation: PostgreSQL role system; schema and table-level permissions; row-level security Data protection: Transparent Data Encryption (TDE) in PostgreSQL 17+; SSL/TLS connections Audit logging: PostgreSQL logging; pgAudit extension for detailed audit trails
Cost analysis
Direct costs:
- Licence: Free
- Support: Community free; commercial from multiple vendors
- Training: PostgreSQL training widely available
Infrastructure costs:
| Scale | Configuration | Monthly estimate |
|---|---|---|
| Small (<100GB data) | Single server, 4 CPU, 16GB RAM | £50-150 |
| Medium (100GB-1TB) | Primary + replica, 8 CPU, 32GB RAM | £200-600 |
| Large (1TB+) | Clustered, managed service | £600-3,000+ |
Hidden costs:
- Database administration expertise or managed service
- Backup storage and testing
- High availability configuration
Organisational fit
Best suited for:
- Organisations with PostgreSQL expertise or willingness to develop it
- Projects requiring spatial queries at database level
- Multi-application environments sharing spatial data
- Large datasets (millions of features) requiring efficient querying
Less suitable for:
- Small projects with simple spatial data needs (consider GeoPackage)
- Organisations without database administration capacity
- Serverless or edge computing scenarios
GeoServer
- Type
- Open source geospatial server
- Licence
- GPL-2.0 -requires source disclosure if distributing modified versions
- Current version
- 2.28.0 (October 2025)
- Deployment options
- WAR deployment (Tomcat, Jetty); Docker; Kubernetes
- Source repository
- https://github.com/geoserver/geoserver
- Documentation
- https://docs.geoserver.org/
Overview
GeoServer publishes spatial data from various sources as OGC-compliant web services. The server implements WMS, WFS, WCS, and WMTS standards, enabling interoperability with desktop GIS, web mapping libraries, and other geospatial systems. Recent versions add OGC API support for modern REST-based access patterns.
The project began in 2001 at The Open Planning Project and became an OSGeo project. Development continues with community and commercial contributor support, maintaining quarterly releases and long-term support branches. GeoServer achieved OGC CITE certification in 2025 after a multi-year effort.
GeoServer connects to PostGIS databases, file-based data (Shapefile, GeoPackage, GeoTIFF), cloud storage, and other data sources. The server handles coordinate transformation, styling (SLD and CSS), tile caching (via integrated GeoWebCache), and security. This positions GeoServer as the publication layer in open source spatial data infrastructures.
Capability assessment for mapping and GIS
GeoServer excels at serving spatial data to multiple clients simultaneously. A single GeoServer instance can publish hundreds of layers from diverse sources, applying consistent styling and security. The cascading capabilities allow aggregation of external WMS/WMTS services.
Styling uses SLD (Styled Layer Descriptor) or the simpler CSS extension. Style expressions enable data-driven rendering including classification, scaling, and conditional visibility. The REST API allows programmatic style and layer management.
The WPS extension adds server-side geoprocessing, enabling spatial analysis without client-side processing. This proves valuable for web applications requiring buffer, overlay, or aggregation operations.
Key strengths:
- OGC-compliant service publishing (certified 2025)
- Connects diverse data sources through single interface
- Integrated tile caching (GeoWebCache) for performance
- Flexible styling with SLD and CSS
- REST API for administration and configuration
- Active development with regular security updates
Key limitations:
- Java application requires JVM tuning for optimal performance
- Memory consumption increases with concurrent requests
- Web administration interface has learning curve
- WPS extension requires careful configuration for production use
- No built-in user management (relies on external systems)
Deployment and operations
Self-hosted requirements:
Operating system: Linux (Ubuntu 20.04+), Windows Server 2019+Java: 17 LTS or 21 LTSApplication server: Tomcat 9+, Jetty 10+Memory: 4GB minimum, 8GB+ recommendedStorage: Variable (data directory, tile cache)Docker deployment:
docker pull docker.osgeo.org/geoserver:2.28.0docker run -d -p 8080:8080 \ -e GEOSERVER_DATA_DIR=/var/geoserver/data \ -v geoserver-data:/var/geoserver/data \ docker.osgeo.org/geoserver:2.28.0Deployment complexity: Medium -requires Java application server knowledge Operational overhead: Medium -monitoring, cache management, security updates Upgrade path: Replace WAR file; data directory compatible across minor versions
Integration capabilities
API coverage: REST API covers all administrative functions
API details:
| Endpoint | Purpose | Documentation |
|---|---|---|
| /rest/workspaces | Workspace management | https://docs.geoserver.org/stable/en/user/rest/workspaces.html |
| /rest/layers | Layer configuration | https://docs.geoserver.org/stable/en/user/rest/layers.html |
| /rest/styles | Style management | https://docs.geoserver.org/stable/en/user/rest/styles.html |
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| PostGIS | Native | Production | https://docs.geoserver.org/stable/en/user/data/database/postgis.html |
| GeoPackage | Native | Production | https://docs.geoserver.org/stable/en/user/data/vector/geopkg.html |
| GeoNode | Native | Production | GeoNode uses GeoServer as backend |
| Cloud Object Storage | Extension | Production | https://docs.geoserver.org/stable/en/user/extensions/geostyler/ |
Standards supported: WMS 1.1.1/1.3.0, WFS 1.0/1.1/2.0, WCS 1.0/1.1/2.0, WMTS 1.0, WPS 1.0, OGC API Features/Tiles, SLD 1.0/1.1, SLD-SE 1.1
Security assessment
Authentication: HTTP Basic, digest; extensions for LDAP, OAuth2, SAML Authorisation: Layer, service, and rule-based security with GeoFence integration Data protection: TLS termination at reverse proxy recommended Audit logging: GeoServer logging; detailed request logging available Security track record: Active security response; CVE tracking; timely patches
Cost analysis
Direct costs:
- Licence: Free
- Support: Community free; commercial from GeoSolutions, Boundless (archived), others
- Training: Workshops, commercial training available
Infrastructure costs:
| Scale | Configuration | Monthly estimate |
|---|---|---|
| Small (<100 concurrent users) | Single instance, 4 CPU, 8GB RAM | £50-150 |
| Medium (100-500 users) | Load balanced, 2+ instances | £200-600 |
| Large (500+ users) | Clustered, tile cache CDN | £500-2,000+ |
Organisational fit
Best suited for:
- Spatial data infrastructure deployments requiring OGC compliance
- Organisations sharing data with external partners via standard services
- Web mapping applications requiring server-rendered or cached tiles
- Environments with PostGIS databases requiring web publication
Less suitable for:
- Simple static map embedding (consider MapLibre GL JS direct)
- Organisations without Java application server experience
- Resource-constrained environments (high memory requirements)
GeoNode
- Type
- Open source geospatial content management system
- Licence
- GPL-3.0 -requires source disclosure if distributing modified versions
- Current version
- 5.0 (2025); 4.4 (January 2025 stable)
- Deployment options
- Docker (required); Kubernetes
- Source repository
- https://github.com/GeoNode/geonode
- Documentation
- https://docs.geonode.org/
Overview
GeoNode provides a complete spatial data infrastructure (SDI) platform combining data management, map creation, and catalogue services in a unified web interface. The platform integrates GeoServer (for OGC services), PostGIS (for storage), pycsw (for catalogue), and MapStore (for web mapping) with Django-based user and content management.
Originally developed by the World Bank and UNEP for the OpenDRI initiative, GeoNode serves organisations requiring spatial data portals without assembling individual components. The software is widely deployed by international organisations, governments, and NGOs for disaster risk management, environmental monitoring, and development planning.
Version 5.0 introduces a redesigned interface, customisable metadata schemas, and vector dataset constraints. The 3D Tiles support added in 4.4 expands capabilities for urban and infrastructure visualisation.
Capability assessment for mapping and GIS
GeoNode excels at spatial data cataloguing and sharing. Users upload datasets through a web interface; GeoNode handles publication to GeoServer, style assignment, metadata extraction, and catalogue registration automatically. The search interface enables discovery across organisational data holdings.
The map composer allows non-technical users to combine layers with basemaps and save shareable map configurations. Permission controls enable public, registered-user, or role-based access to individual resources.
For mission-driven organisations, GeoNode provides immediate value for spatial data sharing without custom development. The self-service upload and metadata editing reduce IT bottlenecks.
Key strengths:
- Complete SDI platform requiring no component assembly
- Self-service data upload with automatic publication
- Integrated metadata catalogue with search
- Fine-grained permission control on resources
- Web-based map creation without GIS software
- Active development with growing feature set
- Wide deployment in humanitarian and development sector
Key limitations:
- Docker-only deployment increases operational complexity
- Resource-intensive (16GB RAM minimum for production)
- Customisation requires Django development skills
- Upgrade process between major versions requires careful planning
- Limited offline functionality
- Analysis capabilities rely on GeoServer WPS
Deployment and operations
Self-hosted requirements:
Operating system: Linux (Ubuntu 20.04+)Container runtime: Docker 20.10+, Docker Compose 2.0+Memory: 16GB minimum, 32GB recommendedStorage: 100GB minimum (expandable for data)CPU: 8 cores recommendedDocker deployment:
git clone https://github.com/GeoNode/geonode.gitcd geonodecp .env.sample .env# Edit .env with configurationdocker-compose up -dDeployment complexity: High -multi-container orchestration, configuration management Operational overhead: Medium-High -container management, backup coordination Upgrade path: Database migration scripts; backup before major version upgrades
Integration capabilities
REST API: Full CRUD for resources, users, groups, maps
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| GeoServer | Core | Production | Backend for OGC services |
| PostGIS | Core | Production | Primary data store |
| MapStore | Core | Production | Map viewer framework |
| pycsw | Core | Production | CSW catalogue service |
| QGIS | Plugin | Production | https://plugins.qgis.org/plugins/geonode-qgis/ |
Security assessment
Authentication: Local, LDAP, OAuth2, SAML 2.0, social authentication Authorisation: Resource-level permissions; layer permissions via GeoServer Data protection: TLS termination at reverse proxy; database encryption configurable Audit logging: Django audit logging; GeoServer request logs
Cost analysis
Direct costs:
- Licence: Free
- Support: Community free; commercial from GeoSolutions and others
- Training: Workshops available
Infrastructure costs:
| Scale | Configuration | Monthly estimate |
|---|---|---|
| Small (<50 users) | Single server, 8 CPU, 16GB | £100-200 |
| Medium (50-200 users) | Load balanced, 2+ servers | £300-800 |
| Large (200+ users) | Kubernetes deployment | £800-2,500+ |
Organisational fit
Best suited for:
- Organisations requiring spatial data portals with cataloguing
- Projects sharing data across teams or with external partners
- Humanitarian and development organisations (strong sector adoption)
- Use cases requiring self-service data upload and management
Less suitable for:
- Simple web mapping without data management requirements
- Resource-constrained infrastructure environments
- Organisations requiring extensive customisation without Django expertise
uMap
- Type
- Open source collaborative mapping platform
- Licence
- AGPL-3.0 -requires source disclosure for network use
- Current version
- 3.4.2 (November 2025)
- Deployment options
- Python/Django application; Docker
- Source repository
- https://github.com/umap-project/umap
- Documentation
- https://docs.umap-project.org/
Overview
uMap enables creation of collaborative web maps using OpenStreetMap basemaps without requiring GIS expertise. Users draw features, import data, and share interactive maps through a browser interface. The software prioritises simplicity and accessibility over advanced GIS functionality.
Developed within the OpenStreetMap France community since 2012, uMap powers the public instance umap.openstreetmap.fr hosting over one million maps. The AGPL licence ensures improvements to hosted instances benefit the community.
uMap serves non-technical users creating lightweight interactive maps for communication, community engagement, and simple data visualisation. The software does not compete with GIS platforms for analysis or complex data management.
Capability assessment for mapping and GIS
uMap excels at rapid collaborative map creation. The interface enables drawing points, lines, and polygons with popups containing text, images, and links. Data import supports GeoJSON, GPX, KML, and CSV with coordinates. OpenRouteService integration (version 3.4+) adds route drawing and isochrone generation.
Layer management organises features with separate styling and permissions. Map owners can share editing access via secret URLs or require authentication. Version history tracks changes with rollback capability.
For mission-driven organisations, uMap provides immediate value for project communication, field location mapping, and community engagement without IT infrastructure investment. The public hosted instance eliminates deployment requirements.
Key strengths:
- Minimal learning curve for non-technical users
- No account required to create maps (optional for persistence)
- Collaborative editing with permission controls
- Data layer permissions for granular sharing
- Route and isochrone tools via OpenRouteService
- Public hosted instance available (umap.openstreetmap.fr)
- Lightweight self-hosting option
Key limitations:
- No spatial analysis capabilities
- Limited to OpenStreetMap basemap projections (Web Mercator)
- Maximum dataset size constrained by browser performance
- No attribute table or data editing interface
- Feature queries and filtering limited
- No OGC service publishing
Deployment and operations
Self-hosted requirements:
Operating system: Linux (Ubuntu 20.04+)Python: 3.10+Database: PostgreSQL 12+ with PostGIS (or SQLite for development)Memory: 2GB minimumStorage: 10GB+ depending on upload volumeDocker deployment:
docker pull umap/umapdocker run -d -p 8000:8000 umap/umapDeployment complexity: Low-Medium Operational overhead: Low Upgrade path: pip install —upgrade umap-project
Integration capabilities
API: Limited API for map and data layer access
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| OpenRouteService | Native | Production | Route drawing, isochrones |
| Nominatim | Native | Production | Address search |
| Overpass API | Native | Production | OSM data import |
| Remote data | Native | Production | GeoJSON URL import with refresh |
Security assessment
Authentication: Local accounts, OpenStreetMap OAuth Authorisation: Map-level and layer-level sharing permissions Data protection: TLS termination at reverse proxy
Cost analysis
Direct costs:
- Licence: Free
- Hosting: Public instance free; self-hosted infrastructure only
Infrastructure costs:
| Scale | Configuration | Monthly estimate |
|---|---|---|
| Self-hosted | Single server, 2 CPU, 4GB | £20-50 |
| Public instance | N/A | Free |
Organisational fit
Best suited for:
- Rapid creation of communication-focused maps
- Community engagement and participatory mapping
- Field teams marking locations without GIS training
- Projects requiring simple, shareable web maps
- Organisations preferring hosted services
Less suitable for:
- Spatial analysis requirements
- Large dataset handling (10,000+ features)
- Custom basemap requirements
- Integration with enterprise systems
Google Earth Engine
- Type
- Commercial cloud geospatial platform
- Licence
- Proprietary -free for noncommercial research use
- Current version
- Cloud service (continuous updates)
- Deployment options
- SaaS only
- Source repository
- N/A (proprietary)
- Documentation
- https://developers.google.com/earth-engine
Overview
Google Earth Engine provides planetary-scale analysis of satellite imagery and geospatial datasets using Google Cloud infrastructure. The platform hosts a multi-petabyte archive including Landsat (1972-present), Sentinel, MODIS, and hundreds of other datasets. Users write analysis scripts that execute on Google’s distributed computing infrastructure.
Earth Engine launched in 2010 and remained free for research and nonprofit use until 2022, when commercial pricing was introduced. Nonprofit organisations, academics, and government users from Least Developed Countries retain free access for noncommercial work.
The platform addresses analysis challenges intractable with desktop GIS: continental-scale land cover classification, multi-decadal change detection, and real-time environmental monitoring. Google’s infrastructure handles data storage, processing, and scaling transparently.
Capability assessment for mapping and GIS
Earth Engine excels at raster analysis at scale. The functional programming model applies operations to imagery collections; Earth Engine handles parallel execution across thousands of images. Built-in machine learning algorithms support supervised and unsupervised classification directly on imagery.
For mission-driven organisations working on environmental monitoring, agriculture, or disaster response, Earth Engine provides capabilities unavailable in traditional GIS. Change detection across decades of imagery requires a single script rather than manual processing.
Vector support exists but is secondary to raster capabilities. Earth Engine handles feature collections for analysis (e.g., zonal statistics) but provides limited vector editing or management.
Key strengths:
- Planetary-scale analysis without infrastructure management
- Multi-petabyte curated data archive with continuous updates
- Parallel processing transparent to users
- Interactive code editor for rapid development
- Built-in machine learning classifiers
- Python and JavaScript APIs
- Free for qualifying nonprofit and research use
Key limitations:
- SaaS only; no self-hosting option
- Vendor lock-in with proprietary API
- Data residency concerns (US-headquartered; CLOUD Act applies)
- Learning curve for functional programming model
- Limited vector editing and management
- Export quotas and processing limits
- Commercial use requires paid subscription
Integration capabilities
API: Python and JavaScript client libraries; REST API
API details:
| Capability | Method | Documentation |
|---|---|---|
| Interactive analysis | Code Editor | https://code.earthengine.google.com |
| Python integration | earthengine-api | https://developers.google.com/earth-engine/guides/python_install |
| Export | Tasks API | https://developers.google.com/earth-engine/guides/exporting |
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| Google Cloud Storage | Native | Production | Export destination |
| BigQuery | Native | Production | Table export |
| Colab | Native | Production | Python notebooks |
| TensorFlow | Native | Production | ML model training |
Security assessment
Authentication: Google OAuth 2.0, service accounts Authorisation: Cloud project-based access control Data protection: Google Cloud security controls; data encrypted at rest and in transit Certifications: Google Cloud certifications (SOC 2, ISO 27001, etc.)
Jurisdictional considerations: Google LLC is US-headquartered. Data processing occurs in Google data centres globally. The CLOUD Act authorises US government access to data regardless of storage location. This presents compliance challenges for organisations with data sovereignty requirements.
Cost analysis
Direct costs:
- Noncommercial use: Free (verified eligibility required)
- Commercial use: Platform fee ($1,000-12,000/month) plus usage charges
Commercial pricing (2025):
| Plan | Platform fee | Batch EECU-hours | Online EECU-hours |
|---|---|---|---|
| Limited | $0 | Pay-per-use | Pay-per-use |
| Basic | $1,000/month | 10,000 included | 200 included |
| Professional | $5,000/month | 100,000 included | 1,000 included |
Organisational fit
Best suited for:
- Environmental monitoring, land cover mapping, climate research
- Organisations qualifying for free noncommercial access
- Projects requiring analysis of archived satellite imagery
- Applications needing continental or global scale analysis
Less suitable for:
- Organisations with data sovereignty requirements
- Primarily vector-focused workflows
- Projects requiring self-hosted infrastructure
- Commercial applications with unpredictable processing needs
Mapbox
- Type
- Commercial mapping platform
- Licence
- Proprietary -usage-based pricing
- Current version
- Mapbox GL JS v3.x (continuous updates)
- Deployment options
- SaaS (APIs and hosted services)
- Source repository
- https://github.com/mapbox/mapbox-gl-js (source-available)
- Documentation
- https://docs.mapbox.com/
Overview
Mapbox provides web and mobile mapping APIs, SDKs, and design tools for developers embedding maps in applications. The platform includes vector tile hosting, geocoding, routing, and the Mapbox GL rendering engine enabling dynamic styling and smooth interaction.
Founded in 2010, Mapbox grew from OpenStreetMap-based mapping services to a comprehensive location platform. The company serves developers building consumer applications rather than traditional GIS users.
Mapbox GL JS (version 3) renders vector tiles with WebGL, enabling runtime style changes, 3D terrain, and complex data visualisation. The style specification is openly documented, and the rendering engine fork MapLibre GL JS provides an open source alternative.
Capability assessment for mapping and GIS
Mapbox excels at interactive web and mobile mapping for applications. The vector tile approach delivers smooth zooming, fast load times, and small bandwidth requirements compared to raster tiles. Client-side rendering enables data-driven styling without server round trips.
For mission-driven organisations, Mapbox provides developer-friendly APIs for embedding maps in websites and applications. The Studio design tool enables custom basemap creation without coding. Directions and geocoding APIs add location features to applications.
Mapbox does not provide GIS analysis capabilities. The platform focuses on display and navigation rather than spatial analysis or data management.
Key strengths:
- High-performance vector tile rendering
- Smooth mobile and web experience
- Comprehensive design tools (Mapbox Studio)
- Well-documented APIs with examples
- Navigation SDK for turn-by-turn directions
- Global basemap data with regular updates
- Generous free tier for development
Key limitations:
- No spatial analysis capabilities
- Proprietary; no self-hosting option
- Data stored on Mapbox infrastructure (US)
- No nonprofit pricing programme
- Custom data upload requires MTS (Mapbox Tiling Service)
- Licence restrictions on forking GL JS v2+
Integration capabilities
APIs:
| API | Purpose | Free tier |
|---|---|---|
| Maps | Vector tile display | 50,000 loads/month |
| Geocoding | Address search | 100,000 requests/month |
| Directions | Routing | 100,000 requests/month |
| Static Images | Map screenshots | 50,000 requests/month |
SDKs: JavaScript, iOS, Android, Qt, React Native, Unity
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| React | Official | Production | react-map-gl |
| Leaflet | Community | Production | Via raster tiles |
| Deck.gl | Community | Production | For data visualisation |
Security assessment
Authentication: Access tokens (public, secret, with scope restrictions) Authorisation: Token-based; URL restrictions available Data protection: TLS encryption; uploaded data stored encrypted Certifications: SOC 2 Type II
Cost analysis
Pricing model: Usage-based; map loads or API requests
Web maps pricing (2025):
| Usage | Cost per 1,000 loads |
|---|---|
| 0-50,000 | Free |
| 50,001-100,000 | $5.00 |
| 100,001-200,000 | $4.00 |
| 200,001+ | $3.00 |
Estimated monthly costs:
| Scale | Map loads/month | Estimated cost |
|---|---|---|
| Development | <50,000 | Free |
| Small production | 100,000 | ~$250 |
| Medium production | 500,000 | ~$1,650 |
Organisational fit
Best suited for:
- Web and mobile application development requiring embedded maps
- Projects prioritising user experience and performance
- Developers comfortable with API-based services
- Applications requiring geocoding and routing
Less suitable for:
- Desktop GIS or spatial analysis workflows
- Organisations requiring self-hosted infrastructure
- Projects with data sovereignty requirements
- Budget-constrained projects expecting high traffic
ArcGIS (Esri)
- Type
- Commercial GIS platform
- Licence
- Proprietary -subscription-based
- Current version
- ArcGIS Pro 3.4; ArcGIS Online (continuous updates)
- Deployment options
- Desktop (ArcGIS Pro), SaaS (ArcGIS Online), Self-hosted (ArcGIS Enterprise)
- Source repository
- N/A (proprietary)
- Documentation
- https://developers.arcgis.com/ and https://doc.arcgis.com/
Overview
ArcGIS represents the industry-leading commercial GIS platform, providing integrated desktop, server, and cloud capabilities. Esri, founded in 1969, maintains dominant market share in government, utilities, and enterprise markets. The platform encompasses desktop GIS (ArcGIS Pro), cloud GIS (ArcGIS Online), self-hosted server (ArcGIS Enterprise), and mobile solutions.
The ArcGIS ecosystem includes specialised tools for every GIS domain: geodatabase management, spatial analysis, 3D visualisation, real-time data, field data collection, and web application development. Integration across components enables workflows spanning desktop analysis to web publication.
For mission-driven organisations, Esri provides a Nonprofit Program with significant discounts. Enterprise agreements bundle core products, training, and support at reduced rates for qualifying organisations.
Capability assessment for mapping and GIS
ArcGIS provides comprehensive GIS capabilities exceeding any single open source alternative. ArcGIS Pro offers advanced spatial analysis, 3D modelling, imagery processing, and cartography. ArcGIS Online enables web mapping, hosted feature services, and ready-to-use applications without server management.
The platform includes specialised capabilities unavailable elsewhere: network analysis with sophisticated turn modelling, utility network management, parcel fabric for cadastral data, and deep learning model integration for imagery.
For organisations requiring complete GIS solutions with vendor support, ArcGIS delivers unmatched breadth. The cost premium reflects comprehensive capabilities, support, and ecosystem.
Key strengths:
- Most complete GIS capabilities available
- Integrated desktop, server, and cloud components
- Comprehensive support and training resources
- Regular updates with new capabilities
- Strong documentation and community
- Nonprofit program with significant discounts
- Standards compliance (OGC services)
Key limitations:
- Highest cost among evaluated options
- Vendor lock-in with proprietary formats and APIs
- Complex licensing with multiple tiers and add-ons
- US-headquartered (CLOUD Act applies to Online)
- Desktop requires Windows (macOS support limited)
- Learning curve for full platform capabilities
Deployment and operations
ArcGIS Pro requirements:
Operating system: Windows 10/11 (64-bit)Memory: 8GB minimum, 32GB recommendedGraphics: Dedicated GPU recommended for 3DStorage: 10GB for installationArcGIS Enterprise requirements:
Operating system: Windows Server 2019+, Linux (select components)Memory: 32GB minimumCPU: 16 cores recommendedStorage: Variable (100GB+ typical)Integration capabilities
APIs: REST APIs, JavaScript API, Python API (ArcPy, ArcGIS API for Python)
SDKs: JavaScript, Python, .NET, Java, Swift, Kotlin
Key integrations:
| Integration | Type | Status | Documentation |
|---|---|---|---|
| Microsoft 365 | Native | Production | ArcGIS for SharePoint |
| Power BI | Native | Production | ArcGIS for Power BI |
| SAP | Native | Production | SAP connector |
| Salesforce | Native | Production | ArcGIS Maps for Salesforce |
Standards supported: WMS, WFS, WMTS, WCS, OGC API Features, GeoPackage, KML
Security assessment
Authentication: Local, LDAP, SAML 2.0, OIDC, PKI Authorisation: Role-based access control, feature-level security Data protection: Encryption at rest and in transit; regional data centres Certifications: SOC 2, ISO 27001, FedRAMP (US government)
Cost analysis
Pricing model: Per-user subscription (user types)
User type pricing (standard, 2025):
| User type | Annual cost (approx.) | Includes |
|---|---|---|
| Creator | $500 | Basic GIS, ArcGIS Pro Basic |
| Professional | $1,200 | Standard GIS, ArcGIS Pro Standard |
| Professional Plus | $2,800 | Advanced GIS, ArcGIS Pro Advanced |
Nonprofit pricing: 20-50% discount through Esri Nonprofit Program
Enterprise agreement: Bundled pricing for organisations with multiple users
Organisational fit
Best suited for:
- Organisations requiring comprehensive GIS capabilities
- Projects with budget for commercial licensing
- Environments valuing vendor support and training
- Use cases requiring specialised tools (utilities, transportation, etc.)
- Integration with enterprise systems (Microsoft, SAP)
Less suitable for:
- Budget-constrained organisations (despite nonprofit discounts)
- Organisations prioritising open source or open standards
- Projects with strict data sovereignty requirements (for Online)
- Linux-only environments (Pro requires Windows)
Selection guidance
Decision framework
+---------------------------+ | Primary use case? | +---------------------------+ | +------------+-------------+-------------+------------+ | | | | | v v v v v +----------+ +----------+ +----------+ +----------+ +----------+ | Desktop | | Spatial | | Web map | | Data | | Satellite| | analysis | | database | | sharing | | portal | | analysis | +----+-----+ +----+-----+ +----+-----+ +----+-----+ +----+-----+ | | | | | v v v v v +----------+ +----------+ +----------+ +----------+ +----------+ | Budget? | | PostGIS | | Technical| | GeoNode | | Earth | | | | | | capacity?| | | | Engine | +----+-----+ +----------+ +----+-----+ +----------+ +----------+ | | +----+----+ +-----+-----+ | | | | v v v v+-------+ +-------+ +-------+ +-------+| QGIS | |ArcGIS | | uMap | |Mapbox || (free)| | (paid)| |(simple)| |GeoSrvr|+-------+ +-------+ +-------+ +-------+Recommendations by context
Minimal IT capacity
Primary recommendation: uMap (hosted instance)
- No infrastructure required
- Immediate use without installation
- Suitable for simple mapping needs
Alternative: ArcGIS Online with Nonprofit Programme
- Managed service with comprehensive capabilities
- Support and training included
- Higher cost but lower operational burden
Avoid: GeoNode, self-hosted GeoServer
- Container orchestration expertise required
- Ongoing maintenance demands
Established IT function
Primary recommendation: QGIS + PostGIS + GeoServer stack
- Complete open source SDI
- No licensing costs
- Full control over data and infrastructure
Alternative: GeoNode
- Pre-integrated SDI platform
- Self-service data management
- Reduces component integration effort
Data sovereignty requirements
Primary recommendation: Self-hosted open source stack
- Complete control over data location
- No cloud dependencies
- Avoid: Google Earth Engine, Mapbox, ArcGIS Online
Configuration: PostGIS (database) + GeoServer (services) + QGIS (desktop)
Field operations with limited connectivity
Primary recommendation: QGIS with offline data (GeoPackage)
- Full desktop GIS without network
- Offline basemaps via QuickMapServices
- Sync with PostGIS when connected
Alternative: ArcGIS Field Maps with offline areas
- Managed offline workflows
- Sync handling built-in
- Requires ArcGIS Online subscription
Migration paths
| From | To | Complexity | Approach | Timeline |
|---|---|---|---|---|
| ArcGIS | QGIS | Medium | Export data to GeoPackage; recreate styles manually | 2-4 weeks |
| ArcGIS | PostGIS + GeoServer | High | Database migration; service configuration; style conversion | 2-3 months |
| Google Maps | Mapbox | Low | Replace API calls; update styles | 1-2 weeks |
| Mapbox | MapLibre + self-hosted | Medium | Replace GL JS; host tiles; geocoding alternative | 1-2 months |
| uMap | GeoNode | Medium | Export GeoJSON; import to GeoNode; recreate maps | 2-4 weeks |
External resources
Official documentation
Relevant standards
| Standard | Issuing body | Relevance |
|---|---|---|
| WMS 1.3.0 | OGC | Web map image services |
| WFS 2.0 | OGC | Web feature (vector) services |
| WMTS 1.0 | OGC | Cached tile services |
| OGC API Features | OGC | Modern REST-based feature access |
| GeoPackage 1.2 | OGC | Portable spatial database format |
| SLD 1.1 | OGC | Styled layer descriptor for symbology |
| ISO 19115 | ISO | Geographic metadata standard |