Contains details of our indoor map format & API + a tutorial to help you get started.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

WRLD Indoor Map Format WRLD 3D indoor map
Indoor map source data Right arrow Indoor map in app

WRLD Indoor Map REST API v1.0.0

This repository contains details of the Open CC-BY-4.0 WRLD Indoor Map Format & API.


Quick Start

Get started creating 3D indoor maps with the TUTORIAL.md

  • TUTORIAL.md - a worked example showing how to go from a floor plan to a 3D map
  • FORMAT.md - a description of the Open geojson-based WRLD Indoor Map Format
  • Full Indoor Map API Specification - a description of the REST API for submitting maps in the WRLD Indoor Map Format
  • examples/ - a folder containing example indoor maps in the WRLD Indoor Map Format, including the correct directory structure to use when submitting indoor maps.
  • TROUBLESHOOTING.md - tips for solving common problems

Full Indoor Map API Specification

Claim the location for which you will upload a new indoor map:

$ curl -v -XPOST https://indoor-maps-api.wrld3d.com/v1/edits/?token=dev_auth_token -F name="<name>" -F venue_street_address="<address>" -F venue_phone_number="<phone no.>" -F venue_email="<email address>" -F submission_contact_email="<email address for notifications>" -F venue_outline="@/path/to/my/file"

This will return a UUID string which can be used to identify the indoor map edit and query its status.

The supplied outline is a GeoJSON file containing one or more polygons in the default Coordinate Reference System. This can be created via QGIS, using online editors such as GeoJSON.io or with any other GIS software capable of exporting to GeoJSON.

When you come to upload your indoor map, your edits will be checked against the GeoJSON submitted during this claim request, so please make sure the submitted polygons fully cover the regions you want to edit, but only intersect those buildings which form part of your indoor map.

Query the status of an indoor map edit:

$ curl -v https://indoor-maps-api.wrld3d.com/v1/edits/UUID/status?token=dev_auth_token

Upload a file against a new indoor map edit:

$ curl -v -XPUT https://indoor-maps-api.wrld3d.com/v1/edits/UUID?token=dev_auth_token -F comment="my venue comment" -F file="@/path/to/my/file"

This submits the map for processing, so the referenced file should contain the full detail that the user wants to see in the client.

Query an indoor map edit:

$ curl -v https://indoor-maps-api.wrld3d.com/v1/edits/UUID?token=dev_auth_token

Query all indoor map edits made by a developer

$ curl -v https://indoor-maps-api.wrld3d.com/v1/edits/?token=dev_auth_token

Download the claim outline for an indoor map

$ curl https://indoor-maps-api.wrld3d.com/v1.1/indoor-maps/UUID/claim?token=dev_auth_token > claim.geojson

Delete an indoor map edit:

$ curl -v -XDELETE https://indoor-maps-api.wrld3d.com/v1/edits/UUID?token=dev_auth_token

Update indoor data privacy setting

curl -v -X PUT https://indoor-maps-api.wrld3d.com/v1/indoor-data/UUID?token=dev_auth_token -d '{"private":true}'

Give an API key access to a private indoors

curl -v -X POST https://indoor-maps-api.wrld3d.com/v1/api-keys/UUID?token=dev_auth_token -d '{"apikey":"<api_key>"}'

Remove an API key access to a private indoors

curl -v -X DELETE https://indoor-maps-api.wrld3d.com/v1/api-keys/UUID/<api_key>?token=dev_auth_token

Add custom user data

curl -v -X PUT https://indoor-maps-api.wrld3d.com/v1/indoor-data/UUID?token=dev_auth_token -d '{"user_data":{"key":"value"}}'

Generate POI set from interior map

curl -v -XPOST https://indoor-maps-api.wrld3d.com/v1/poi/UUID?token=dev_auth_token -F feature_to_poi_key="@/path/to/my/file" -F "contact_email=example@mail.com"
Details for feature-to-poi key:
  • defaults: Which interior feature types should have POIs generated, and what tag should be used to represent them.
  • special: Which interior IDs should have POIs generated, and what tag should be used to represent them.
  • highlight_color: What colour and opacity should be used for area highlights, where features have highlight set.
{
  "defaults": {
    "interior feature type": "point of interest tag",
    "interior feature type": "point of interest tag",
    "interior feature type": "point of interest tag"
  },
  "special": {
    "point of interest tag": ["feature ID", "feature ID", "feature ID"],
    "point of interest tag": ["feature ID", "feature ID", "feature ID"],
    "point of interest tag": ["feature ID", "feature ID", "feature ID"]
  },
  "highlight_color": {
    "red": "0-255 red value",
    "green": "0-255 green value",
    "blue": "0-255 blue value",
    "opacity": "0-255 opacity value"
  }
}
Sample feature-to-poi key:
{
  "defaults": {
    "room": "cocktail",
    "highlight": "hospital"
  },
  "special": {
    "entertainment":[318, 21, 400],
    "camping":[21, 52]
  },
  "highlight_color": {
    "red":0,
    "green":220,
    "blue":25,
    "opacity":128
  }
}

License

The WRLD Indoor Map data format is an open format released under Creative Commons Attribution 4.0 International. See the LICENSE.md file for details.


Disclaimer

This is a stable, semantically versioned API.

WRLD may make changes to the API from time to time but will adhere to Semantic Versioning and provide backward compatible end points for as long as possible.


Contact us

If you have any problems or queries please raise an issue.