UrbanTEP / VISAT Data Model

This page summarizes the metadata-driven model that powers UrbanTEP/VISAT. Use it to onboard new datasets and keep naming/IDs consistent across pilots.

Core concepts

  • Layer template: conceptual definition of a spatial layer type (e.g., Land cover, Population density). All concrete datasets of the same nature map to the same template.
  • Attribute: indicator or value attached to a layer template (e.g., Area, Primary education rate), including units.
  • Data source: technical descriptor of where and how data is stored (PostGIS, WMTS, etc.) plus type-specific connection details.
  • Relation: links a data source to a layer template and applies context-specific descriptors (e.g., variants per pilot or processing configuration).

Modifiers (common metadata objects)

Used to distinguish variants and enable filtering/navigation:

  • Period: ISO 8601 time span (plus name if needed).
  • Place: named area with geometry (polygon/bbox/point).
  • Case: subject variant (e.g., species or scenario of the same layer type).
  • Scope: logical grouping (thematic collections, global vs. local).
  • Scenario: alternative outputs from varied inputs/parameters.

Presentation and access

  • Style: symbology for a layer template (multiple styles may exist per template).
  • Tag: arbitrary labels to build dynamic hierarchies across metadata objects.
  • Users and groups: access control over any metadata type; supports external auth via OAuth2/Keycloak.
  • View (under development): saved application state (layers, viewport, open tools).

Minimal fields (per type)

  • Layer template: id, name, style reference(s).
  • Attribute: id, name, units.
  • Data source: id, type, type-specific connection info.
  • Relation: links template ↔ data source, plus any modifiers in use.
  • Modifiers: id + type-specific fields (period, place geometry, case name, scope, scenario).
  • Area tree/level: id, name, level index, parent tree, parent link for features.
  • Style: id, name (if user-switchable), symbology definition.
  • Tag: id, name.
  • User/group: id, credentials or external identity reference.

Conventions and quality checks

  • Use stable IDs (UUIDs or external system IDs) instead of names for cross-system sync.
  • Keep naming consistent across time and place variants; avoid reusing IDs for different semantics.
  • For variants of the same data nature (different algorithms/configs), create distinct layer templates or clearly separated relations.
  • Validate each onboarded dataset with: template match, attribute units, data source connectivity, style availability, and access rules.