Skip to content

Latest commit

 

History

History
63 lines (57 loc) · 3.19 KB

models.md

File metadata and controls

63 lines (57 loc) · 3.19 KB

Models

Publication

  • Publication is any geospatial data that can be published by Layman through REST API.
  • Currently available publications are map and layer.

Layer

  • Layer is publication created from combination of vector data (GeoJSON or ShapeFile) and visualization (SLD or SE style)
  • Published layer can be accessed by standardized OGC interfaces
  • Thumbnail image available
  • Layer-related data is named and structured
    • either by username and layername
      • REST API: /rest/<username>/layers/<layername>
      • filesystem: /path/to/LAYMAN_DATA_DIR/users/<username>/layers/<layername>
      • PostgreSQL: db=LAYMAN_PG_DBNAME, schema=<username>, table=<layername>
      • GeoServer WMS/WFS: /geoserver/<username>/ows, layer=<layername>, style=<layername>
    • or by UUID:
      • Micka: /record/basic/m-<uuid>
  • Simple rules
    • one DB table per input file
    • one WFS feature type per DB table
    • one WMS layer per DB table
    • one SLD style per WMS layer
    • one thumbnail per WMS layer
    • one metadata record per WMS&WFS layer

Map

  • Also referred to as map composition
  • Map is publication defined by JSON valid against map-composition schema (source) used by Hslayers-ng
  • Map is collection of WMS layers and vector data
  • Maps composed from WMS layers only are fully supported
  • Documented map publishing process
  • Thumbnail image available
  • Map-related data is named and structured
    • either by username and layername
      • REST API: /rest/<username>/maps/<mapname>
      • file system: /path/to/LAYMAN_DATA_DIR/users/<username>/maps/<mapname>
    • or by UUID:
      • Micka: /record/basic/m-<uuid>
  • Simple rules
    • one map file per map
    • one thumbnail per map
    • one metadata record per map

User

  • User is any person who communicates with Layman REST API through any client.
  • User can be either authenticated, or unauthenticated (i.e. anonymous).
  • User is sometimes identified by username

Username

  • Username is a string identifying one user, so it is unique among all users
  • Every user is represented by max. one username
  • Username is typically used to identify user's workspace when communicating with Layman REST API
  • Username can re reserved by PATCH Current User
  • Anonymous user has no username

Workspace

  • Workspace is group of Layman REST API endpoints whose URL path starts with the same username (i. e. /rest/<username>)
  • User represented by the username is considered as owner of the workspace
  • Workspace consists of all map and layer endpoints endpoints