Document Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", “SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

IMDF rules reference concepts that are nouns or noun phrases. A concept may be an “object,” e.g., a Fixture, a property held by the “object” such as an identifier, and any specific value or value-set that it possesses. A fact is a statement that connects concepts, through prepositions and verb phrases, into a set of business-related expectations. In essence, concepts and facts are the semantics behind the rules.

Features

A Feature object represents a physical or conceptual element of an indoor map as an RFC 7946 compliant GeoJSON object, with the following restrictions and additional foreign members per Sec. 6.1:

  • A Feature object MUST contain the GeoJSON "id" member with a FEATURE-ID value
  • A Feature object MUST contain a "feature_type" member with a FEATURE-TYPE value

Feature objects are used to capture ALL elements of a venue, and their structures are described throughout this document using separate sections to detail the following content:

  • Overview providing a description of the Feature's purpose and requirements for the names, types and semantic intent of top-level members of the Feature object
  • Property Keys describe the names, types and semantic intent of nested members of the GeoJSON "property" object
  • Examples provide individual sample Feature JSON payloads for reference, with NO description of their enclosing FeatureCollection
  • Guidance provides business and contextual requirements for the representation of the features and specific properties that need to be considered by map makers

Archives

  • Datasets MUST be delivered as ZIP compressed archives using the ".zip" filename extension

  • Archives MUST contain a Manifest object supplied in a dedicated file named "manifest.json"

  • Features MUST be packaged as homogenous GeoJSON FeatureCollections (see FEATURE-TYPE) in dedicated files using the ".geojson" filename extension

    Note: Feature types that require at least one (1) instance to qualify as a structurally valid delivery are listed as Required below.

    Filename Presence Description
    manifest.json Required Manifest object
    address.geojson Required FeatureCollection of all Address features
    venue.geojson Required FeatureCollection of the lone Venue feature
    amenity.geojson Optional FeatureCollection of all Amenity features
    anchor.geojson Optional FeatureCollection of all Anchor features
    building.geojson Optional FeatureCollection of all Building features
    detail.geojson Optional FeatureCollection of all Detail features
    fixture.geojson Optional FeatureCollection of all Fixture features
    footprint.geojson Optional FeatureCollection of all Footprint features
    kiosk.geojson Optional FeatureCollection of all Kiosk features
    level.geojson Optional FeatureCollection of all Level features
    occupant.geojson Optional FeatureCollection of all Occupant features
    opening.geojson Optional FeatureCollection of all Opening features
    relationship.geojson Optional FeatureCollection of all Relationship features
    section.geojson Optional FeatureCollection of all Section features
    geofence.geojson Optional FeatureCollection of all Geofence features
    unit.geojson Optional FeatureCollection of all Unit features

Referential Feature IDs

The following type designators are used to succinctly describe the use of referential Feature IDs in a non-ambiguous way by explicitly specifying the target feature layer name.

The value MUST be a valid reference to the FEATURE-ID of an existing feature in the target feature layer.

Designator Data Type Referenced Type
VENUE-ID FEATURE-ID Venue
BUILDING-ID FEATURE-ID Building
LEVEL-ID FEATURE-ID Level
UNIT-ID FEATURE-ID Unit
FIXTURE-ID FEATURE-ID Fixture
KIOSK-ID FEATURE-ID Kiosk
DETAIL-ID FEATURE-ID Detail
SECTION-ID FEATURE-ID Section
GEOFENCE-ID FEATURE-ID Geofence
KIOSK-ID FEATURE-ID Kiosk
OPENING-ID FEATURE-ID Opening
AMENITY-ID FEATURE-ID Amenity
OCCUPANT-ID FEATURE-ID Occupant
ANCHOR-ID FEATURE-ID Anchor
ADDRESS-ID FEATURE-ID Address
RELATIONSHIP-ID FEATURE-ID Relationship