SDI 4 Apps - Uptake of open geographic information through innovative services based on linked data

A new module for storing and publishing VGI was implemented to SensLog. Common type of VGI are Points of Interest (POI). The concept of POI is very similar to general observation concept. Implemented scenario suppose that collected POI is spatially and temporally localized observation with several attributes and connected multimedia files. POI is classified into one of predefined categories and can be assigned to some dataset.

The SensLog data model was extended. New tables are shown on Fig. 1 below.


Added tables are following:

  • observations_vgi – table storing POI with all attributes
  • observations_vgi_media – table storing media file connected to POI
  • observations_vgi_category – table storing categories of POI, master table of categories
  • observations_vgi_category_hilucs – inherited table with Land Use categories
  • vgi_datasets – table storing metadata of dataset

Each POI has information about the device and the user that had created it. Categories of POIs are stored in tables inherited from the master table observations_vgi_category. This way allows storing of different kinds of hierarchical categories. Expandable schema of POI attributes is used. Only mandatory attributes are stored in separate columns, like timestamp, geometry, category, dataset etc. Optional attributes are stored in JSON format in separate column. Geometry of POIs and device metadata are stored in core part of SensLog data model.

Implemented service are described below. More services and functions will be added during next steps.

VGI Service

VGI service alllows to insert new POI and update stored POIs, to select POIs by several filters and to select categories and datasets.


Method Functionality Format
POST Provides insertion or update of POI into database. Returns id of inserted or updated POI. plain-text
Parameter Format Role
timestamp Textual value Timestamp when was POI observed (ISO 8601 compatible), mandatory
category Numerical value Identifier of category, mandatory
description Textual value Free text description of POI, optional
attributes Textual value JSON formated additional attributes, optional
dataset Numerical value Identifier of dataset, optional
unitId Numerical value Identifier of device producing POI, mandatory
lon Numerical value Longitude of POI, mandatory
lat Numerical value Latitude of POI, mandatory
media File Connected media file, optional
obs_vgi_id Numerical value ID of POI, if present method updates existing POI, optional


Select observations

Method Functionality Format
GET Provides stored POIs in JSON or GeoJSON format by selected filters. JSON, GeoJSON
Parameter Format Role
user_name Textual value Name of user that collects POIs, only own user_name or user_name from same group allowed, mandatory
format Textual value Name of output format (geojson, json allowed), optional
fromTime Textual value Begin timestamp of frame, optional
toTime Textual value End timestamp of frame, optional

Media service

Select media

Method Functionality Format
GET Provides stored POI media depends on stored media format
Parameter Format Role
obs_id Numerical value ID of POI

Category service

Select category

Method Functionality Format
GET Provides stored categories of POIS JSON

Dataset service

Select dataset

Method Functionality Format
GET Provides stored datasets of POIs JSON
Share this: