# Architecture

This section provides an overview of the architecture of the HERE Indoor Map data specification.

## HERE Indoor Map MOM

HERE Indoor Map MOM defines data structures to represent indoor maps in the MOM format. Compared to outdoor maps, indoor maps cover only small areas. However, buildings in HERE Indoor Map may contain multiple levels or floors.

The features that make up an indoor map include core features, which all have the indoorMapId property with equal value and supporting features which can be common or have common data types with outdoor maps. The supporting features, such as address, do not have the indoorMapId property, but HERE Indoor Map core features planned for inclusion in an indoor map must reference these supporting features.

Objects have their own lifecycle. One object doesn't own another object, and only has a loose reference. The direction of references is from many to one. For example, a level consists of many spaces, so many spaces have a reference to a single-level object.

The core Indoor MOM features are structured as a hierarchy of features, as seen in the following figure.

### Note

Routing-related dependencies are excluded from this diagram.

The hierarchy is defined by the geometries and their properties. Bindings to an outdoor map are represented by the features that are outside of the Indoor Map package, with their exact names and relations depending on the outdoor map's format.

The root feature has the feature type indoor.Site, and there is always a single instance of indoor.Site in any indoor map. The site contains generic information about the indoor map, such as the name, address, and venue type. Each indoor map also has one or more indoor.Structure features. Furthermore, each indoor.Structure is composed of one or more indoor.Level features. In MOM, the levels refer to the structure they belong to, with each being represented by multiPolygon geometry that represents the outline for the levels and footprints for the site and structure.

At the floor plan level, indoor.Space features are added and they reference indoor.Level features. Spaces include rooms, open areas, and structural elements such as walls, fixtures, furniture, equipment, and so on. The number of different space types can be large and are not specified in MOM. In some cases, spaces may be grouped and are listed in the indoor.SpaceGroups container feature.

Some spaces may be occupied by a logical entity. Such logical entities are modeled as indoor.Occupant features with point geometry. For example, professionals occupying office rooms and shops occupying rooms in shopping malls. Some spaces are occupiable, while others are not as defined by their space type.

## Routing

Navigation between elements of the map and indoor and outdoor features is enabled by the general MOM feature topology. A topology is a linear element of the navigable network represented by a centerline and parameterized attribution, such as directionality or modality. Addresses connect the elements of a map to the topology. Given an address and a current position on a topology, you can use the topology graph to construct a route to the target. As seen in the figure above, addresses are available for all indoor features. Along with being able to reference topologies, addresses can also reference roads used in outdoor maps, which allows for routing between indoor and outdoor maps.

In addition to topologies, you can enhance routing with additional MOM features, such as:

• LaneGroup
• RoadSurfaceMarking
• RoadSign

The following figure shows how components connect to each other and to the outdoor map.