Skip to content

VIEWAR

VIEWAR is an application that enables AR-based indoor navigation between locations.

Specify Menu-Action

To perform the navigation use the action "viewar".

{
    "label": "VIEWAR Navigation",
    "action": "viewar",
    "icon": "icon-tab"
}

Specify VIEWAR config

The viewar-configuration object must be placed on the node where the records for navigation are located.

"viewar": {
      "attributes": {
        "description": "myDescriptionAttribute",
        "childDescription": "myChildDescriptionAttribute",
        "poiForeignKey": "myPoiForeignKeyAttribute"
      },
      "map": {
        "tree": "myTreeName"
      },
      "settings": {
        "version": "3.0.0",
        "appId": "com.rodias.ar"
      }
    },
  • description: The attribute that provides the description of the entire navigation task.
  • childDescription: The attribute that provides the description for the points of interest.
  • poiForeignKey: The attribute that provides the Ids that are linked to the point of interest in the VIEWAR application as ForeignKey, e.g. the functional location.
  • tree: The name of the tree containing information about the mapping poiForeignKey - externalId (id of the map provided by VIEWAR). This tree has only one node, where data is obtained from the MapEntity and MapGeoData tables from insight-map. The tree should contain the mapping of the poiForeignkeys with the ids of the map they are located in.
  • version: The version of the VIEWAR app.
  • appId: The App-ID of VIEWAR. This can be found in the VIEWAR portal via "Information".
    • Alternatively, the target URL of the VIEWAR application can be specified.
            "settings": {
              "version": "3.0.0",
              "url": "viewarsdk://sdk/ID:com.rodias.ar/#dataBase64=${jsonBase64}"
            }
      

Specify the tree for the mapping poiForeignKey - externalId

In this tree we provide the information about the poiForeignKey and the id of the map it is located in. This information can be found in the tables MapEntity and MapGeoData of insight-map. The respective maps are stored in MapEntity whereby the type has to be "viewar". The column externalId refers to the id of the map provided by VIEWAR. The points of interest are stored in the table MapGeoData whereby the column objectId contains the ids of the locations (e.g. functional locations), which are assigned to the points of interest as foreign keys in VIEWAR. MapGeoData and MapEntity are linked via the foreign key mapId.

The NodeDef could look like this:

{
    "table": "MapGeoData",
    "join": [
        {
            "table": "MapEntity",
            "alias": "mapEntity",
            "on": "mapEntity.id = :mapId"
        }
    ],
    "attributes": [
        "id",
        "mapId",
        "objectId",
        {
            "name": "externalId",
            "from": "mapEntity",
            "column": "externalId"
        },
        {
            "name": "type",
            "from": "mapEntity",
            "column": "type"
        }
    ]
}
Note that in Mapping the type must be restricted to viewar :

"constraint": "mapEntity.type = 'viewar'"