Geobox Server, as the main core of Geobox, is a modern and powerful GIS server designed and implemented from Scratch to be used in cloud environments. Geobox Server includes a set of services including storage services, data services (vector/raster), visualization services (rendering/tiling), processing services, and management services (auth/usage/logging). Geobox server has the following technical specifications:

    • Services containerized based on Docker technology
    • Can be installed on cloud or non-cloud environments
    • Can be run on a single-machine (multi-core) or multi-machine cluster
    • Can utilize all CPU cores on the server via multi-processing
    • Can prioritize and execute long-running tasks in the background (via a distributed task queue)
    • API documented based on OpenAPI specification
    • OGC compliant (also partially implemented OGC API)
Geobox server is designed based on microservice architecture

Geobox Services

Storage Services

  • Upload/Download files with a variety of formats
  • Support Amazon Cloud Storage (S3)

Vector Services

  • Publish geospatial datasets (Shapefile, GeoJSON, GeoPackage, FileGDB, KML, CSV, DXF and etc.) as vector services asynchronously (task-based)
  • Create a new (Point/Line/Polygon) vector layer from scratch or based on a template
  • Add new fields to a vector layer
  • Edit (modify/delete) fields of an existing vector layer
  • Thematic and spatial query (based on OGC CQL) of the features of a layer with the ability of sorting and pagination
  • Add new features to a vector layer
  • Edit (modify/delete) features of a vector layer
  • Batch editing/deleting of features (batch editing) asynchronously (task-based)
  • Import features from files with various formats asynchronously (task-based)
  • Export features of an existing layer to various formats (Shapefile, GeoJSON, GeoPackage, File Geodatabase, CSV, KML, DXF and etc.) asynchronously (task-based)
  • Create sub-layers (vector layer views) from the selected features of a vector layer
  • Support TopoJSON format for encoding features
  • Publish vector tile service based on Mapbox Vector Tile Specification
  • Publish OGC WFS-T or similar services in OGC API (WFS 3.0) from existing vector layer

Raster Services

  • Publish huge raster files (Big GeoTIFF) as raster services asynchronously (task-based)
  • View statistical information (e.g. histogram) and metadata of raster layers 
  • Support multispectral/hyperspectral rasters
  • Visualize raster layers by assigning RGB channels to existing bands, setting the color table (colormap), setting NoData values, etc.
  • Define computational bands by writing formulas (e.g. for computing NDVI)
  • 3D visualization of rasters (e.g. DEM) and adjust the exaggeration level
  • Support OGC WCS service

Mosaic Raster Services

  • Creating a mosaic service from a huge collection of rasters (thousands of raster files)
  • Set the pixel selection method for selecting the pixel values in overlapping areas in different ways, such as minimum, maximum, average, etc.

  • Add/remove rasters to/from mosaic
  • Visualize mosaic layers by assigning RGB channels to existing bands, setting the color table (colormap), setting NoData values, etc.
  • Support OGC WCS service

Tiling Services

  • Build vector tiles (based on Mapbox Vector Tile Specification) from vector layers
  • Build raster tiles from raster layers or maps
  • Build and cache tiles dynamically (on-demand)
  • Update changed tiles dynamically (on-demand)
  • Pre-generate (seed) and cache all tiles of a resource (layer or map) in a zoom range and area of interest (bbox)
  • Rebuild all tiles partially (update only changed tiles)
  • Use multi-processing to run multiple tile seeding workers (tasks) to boost tiling for a big area (whole country or the world)
  • Support OGC WMTS  service (act as WMTS server)
  • Support XYZ tiling scheme

Rendering (Mapping) Services

  • Support rendering vector tiles format based on Mapbox Style Specification
  • Server-side rendering to produce image tiles on the backend
  • Provide 3D Tiles and 3D map visualization
  • Support OGC WMTS service
  • Support XYZ tiling scheme

3D Modeling

  • Create terrain from Raster DEMs
  • Draping rasters over a terrain surface to create a 3D realistic visualization
  • Set the terrain exaggeration level
  • Create Hillshades
  • Import and visualize 3D models (glb, glTF, Collada, etc.)
  • Import and visualize point clouds from LiDAR data (LAS, LAZ, XYZ)
  • Perform 3D analysis

Geo AI

  • Run operations such as image segmentation, feature extraction, change detection, etc. using machine learning and neural net models.
  • AI services for smart queries, smart mappings, etc.

Geoprocessing Services

  • Use multi-processing to run multiple geoprocessing workers (tasks) to boost complex operations
  • Vector Analysis (Select, Clip, Buffer, and Overlay)
  • Perform arbitrary SQL Queries through Geobox SQL Editor
  • Raster Analysis (Clip, Map Algebra, VectorToRaster, and RasterToVector)
  • Linear Referencing
  • Support OGC WPS service or similar service in OGC API

Auth Services

  • Support OAuth2 and Social Login
  • Support SSO (Single Sign On)
  • Support Role Based Access Control (RBAC) security model to define access levels
  • User/API key management
  • Manage users, groups, and roles

Logging and Usage Services

  • Monitor the usage of system resources (storage, traffic, API calls and etc.)
  • Report usage statistics for each user or API key
  • Log and monitor user activities
  • Limit system resources which is available to the specific user (storage, traffic, API calls, etc.)