VGI module
SensLog API for VGI has been improved during last months. Services and methods were added to meet most of CRUD schema (Create, Retrieve, Update, Delete) of REST services. Other methods will be added during next development.
VgiObservationService
VGI service alllows to insert new POI, update stored POI, to select POIs by several filters and to add, select, update or delete categories and datasets.
InsertVgiObservation
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>POST</td>
<td>Provides insertion or update of POI into database. Returns ID of inserted POI, or true if POI was updated.</td>
<td>Content-Type: multipart/form-data<br/>
Result: text/plain
</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>Identifier of POI, optional</td>
</tr>
<tr>
<td>time_stamp</td>
<td>Textual value</td>
<td>Timestamp when POI was observed (ISO 8601 compatible), mandatory</td>
</tr>
<tr>
<td>category_id</td>
<td>Numerical value</td>
<td>Identifier of category, mandatory</td>
</tr>
<tr>
<td>description</td>
<td>Textual value</td>
<td>Free text description of POI, optional</td>
</tr>
<tr>
<td>attributes</td>
<td>Textual value</td>
<td>JSON formated additional attributes, optional</td>
</tr>
<tr>
<td>dataset_id</td>
<td>Numerical value</td>
<td>Identifier of dataset, optional</td>
</tr>
<tr>
<td>unit_id</td>
<td>Numerical value</td>
<td>Identifier of device producing POI, mandatory</td>
</tr>
<tr>
<td>lon</td>
<td>Numerical value</td>
<td>Longitude of POI, mandatory</td>
</tr>
<tr>
<td>lat</td>
<td>Numerical value</td>
<td>Latitude of POI, mandatory</td>
</tr>
<tr>
<td>alt</td>
<td>Numerical value</td>
<td>Altitude of POI, optional</td>
</tr>
<tr>
<td>dop</td>
<td>Numerical value</td>
<td>Dilution of precision of position, optional</td>
</tr>
<tr>
<td>media</td>
<td>File</td>
<td>Connected media file, optional</td>
</tr>
<tr>
<td>media_type</td>
<td>Textual value</td>
<td>Name of media type (MIME) of connected file, mandatory if media file is presented</td>
</tr>
</tbody>
</table>
UpdateVgiObservation
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>PUT</td>
<td>Provides update of POI into database. Returns true if POI was updated.</td>
<td>text/plain</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>Identifier of POI to be updated, mandatory</td>
</tr>
<tr>
<td>time_stamp</td>
<td>Textual value</td>
<td>Timestamp when POI was observed (ISO 8601 compatible), mandatory</td>
</tr>
<tr>
<td>category_id</td>
<td>Numerical value</td>
<td>Identifier of category, mandatory</td>
</tr>
<tr>
<td>description</td>
<td>Textual value</td>
<td>Free text description of POI, optional</td>
</tr>
<tr>
<td>attributes</td>
<td>Textual value</td>
<td>JSON formated additional attributes, optional</td>
</tr>
<tr>
<td>dataset_id</td>
<td>Numerical value</td>
<td>Identifier of dataset, optional</td>
</tr>
<tr>
<td>unit_id</td>
<td>Numerical value</td>
<td>Identifier of device producing POI, mandatory</td>
</tr>
<tr>
<td>lon</td>
<td>Numerical value</td>
<td>Longitude of POI, mandatory</td>
</tr>
<tr>
<td>lat</td>
<td>Numerical value</td>
<td>Latitude of POI, mandatory</td>
</tr>
<tr>
<td>alt</td>
<td>Numerical value</td>
<td>Altitude of POI, optional</td>
</tr>
<tr>
<td>dop</td>
<td>Numerical value</td>
<td>Dilution of precision of position, optional</td>
</tr>
<tr>
<td>media</td>
<td>File</td>
<td>Connected media file, optional</td>
</tr>
<tr>
<td>media_type</td>
<td>Textual value</td>
<td>Name of media type of connected file, mandatory if media file is presented</td>
</tr>
</tbody>
</table>
SelectVgiObservations
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Service provides stored POIs in JSON or GeoJSON format by given filters.</td>
<td>JSON, GeoJSON</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user that collects POIs, only own user_name or user_name from same group allowed, mandatory</td>
</tr>
<tr>
<td>format</td>
<td>Textual value</td>
<td>Name of output format (geojson, json allowed), optional</td>
</tr>
<tr>
<td>dataset_id</td>
<td>Numerical value</td>
<td>ID of dataset, optional</td>
</tr>
<tr>
<td>category_id</td>
<td>Numerical value</td>
<td>ID of category, optional</td>
</tr>
<tr>
<td>extent</td>
<td>Textual value</td>
<td>Description of extent in format: [Xmin, Ymin, Xmax, Ymax, SRID], optional</td>
</tr>
<tr>
<td>from_time</td>
<td>Textual value</td>
<td>Begin timestamp of frame, optional</td>
</tr>
<tr>
<td>to_time</td>
<td>Textual value</td>
<td>End timestamp of frame, optional</td>
</tr>
</tbody>
</table>
SelectVgiObservation
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Service provides stored POI in JSON or GeoJSON format by given ID.</td>
<td>JSON, GeoJSON</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of VgiObservation to be selected, mandatory</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user that collects POIs, only own user_name or user_name from same group allowed, mandatory</td>
</tr>
<tr>
<td>format</td>
<td>Textual value</td>
<td>Name of output format (geojson, json allowed), optional</td>
</tr>
</tbody>
</table>
DeleteVgiObservation
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>DELETE</td>
<td>Service provides deleting of stored POI by given ID.</td>
<td>text/plain</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of VgiObservation to be selected, mandatory</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user that collects POIs, only own user_name or user_name from same group allowed, mandatory</td>
</tr>
</tbody>
</table>
Media service
ListVgiMedia
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}/media</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides list of stored POI media</td>
<td>JSON</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of POI</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
InsertVgiMedia
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}/media</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Consume format</th>
</tr>
<tr>
<td>POST</td>
<td>Provides storing of new POI media</td>
<td>multipart/form-data; charset=UTF-8</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of POI, mandatory</td>
</tr>
<tr>
<td>media</td>
<td>File</td>
<td>Connected media file, mandatory</td>
</tr>
<tr>
<td>media_type</td>
<td>Textual value</td>
<td>Name of media type of connected file, mandatory if media file is presented</td>
</tr>
</tbody>
</table>
UpdateVgiMedia
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}/media/{media_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Consume format</th>
</tr>
<tr>
<td>PUT</td>
<td>Provides update of new POI media</td>
<td>multipart/form-data; charset=UTF-8</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of POI, mandatory</td>
</tr>
<tr>
<td>media_id</td>
<td>Numerical value</td>
<td>ID of VgiMedia file, mandatory</td>
</tr>
<tr>
<td>media</td>
<td>File</td>
<td>Connected media file, mandatory</td>
</tr>
<tr>
<td>media_type</td>
<td>Textual value</td>
<td>Name of media type of connected file, mandatory if media file is presented</td>
</tr>
</tbody>
</table>
GetVgiMedia
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}/media/{media_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides stored POI media file</td>
<td>Depends on media type of stored file</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of POI</td>
</tr>
<tr>
<td>media_id</td>
<td>Numerical value</td>
<td>ID of specific VgiMedia file</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
DeleteVgiMedia
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/observation/{obs_vgi_id}/media/{media_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>DELETE</td>
<td>Provides delete operation of selected POI media file</td>
<td>text/plain</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>obs_vgi_id</td>
<td>Numerical value</td>
<td>ID of POI</td>
</tr>
<tr>
<td>media_id</td>
<td>Numerical value</td>
<td>ID of specific VgiMedia file</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
VGICategory service
SelectVgiCategories
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/category/</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides stored categories of POIS</td>
<td>JSON</td>
</tr>
</tbody>
</table>
SelectVgiCategory
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/category/{category_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides stored categories of POIS</td>
<td>JSON</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>category_id</td>
<td>Numerical value</td>
<td>ID of category</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
SelectVgiCategory descendants
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/category/{category_id}/descendants</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides list of stored categories of POIs</td>
<td>JSON</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>category_id</td>
<td>Numerical value</td>
<td>ID of category</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
VgiDatasetService
SelectVgiDatasets
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/dataset/</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides list of stored datasets of POIs</td>
<td>JSON</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
InsertVgiDataset
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/dataset/</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Consume format</th>
</tr>
<tr>
<td>POST</td>
<td>Provides insertion of new dataset of POIs</td>
<td>application/json; charset=utf-8</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
GetVgiDataset
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/dataset/{dataset_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>GET</td>
<td>Provides select of specific dataset of POIs</td>
<td>application/json; charset=utf-8</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>dataset_id</td>
<td>Numerical value</td>
<td>ID of dataset</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
DeleteVgiDataset
<table>
<tbody>
<tr>
<th colspan="3">URL</th>
</tr>
<tr>
<td colspan="3">/rest/vgi/dataset/{dataset_id}</td>
</tr>
<tr>
<th>Method</th>
<th>Functionality</th>
<th>Format</th>
</tr>
<tr>
<td>DELETE</td>
<td>Provides deletion of specific dataset of POIs</td>
<td>text/plain</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<th>Parameter</th>
<th>Format</th>
<th>Role</th>
</tr>
<tr>
<td>dataset_id</td>
<td>Numerical value</td>
<td>ID of dataset</td>
</tr>
<tr>
<td>user_name</td>
<td>Textual value</td>
<td>Name of user</td>
</tr>
</tbody>
</table>
Last update: 14th February 2017