Module groups

Package com.here.mom.feature.indoor.groups

Features

Parts


SpaceGroup

feature SpaceGroup

Module groups

Space group can be used for two purposes: 1) to share common occupant(s) and main entrance for navigation, e.g. a multi-floor shop in a shopping mall. 2) to share common properties, e.g. parking spots form a parking section with same space properties.

In 1)-case the main Space is generally suggested by the venue owner or in raw material, it also plays a role in highlighting, search by an occupant, etc kind of things. When adding an occupant to a space which belongs to a group - the occupant will save the reference of mainspace only, and it will be considered to associate with all the spaces of that group for the purposes of display label, navigation landmark etc. We cannot have an occupant associated only with one of the included spaces, but not all. A space group can have multiple occupants and all of them will be visible on all spaces. An Occupant can be associated with multiple space groups.

In 2)-case the group represents a set of spaces that share common space-type-properties, so that the main-space can be used to represent the group. This provides a way to create different kind of hierarchies than can be created with MicroPA's (a sample with MicroPA being an aisle - shelf - bin hierarchy). A typical example is a parking garage with groups of parking spots reserved for drivers with disabilities close to each other but covering only a subset of the spaces in the parking space rows. In that case navigating to a parking section reserved for drivers with disabilities makes more sense than navigating to an individual parking spot (at least without knowing if it happens to be free). Further, common space-type-properties are stored in the main-space, not in the individual spaces. If there are some further details, those can be in individual space properties, e.g. in a group of EV-charging-equipped parking spots, some parking spots could be additionally reserved for drivers with disabilities. The main-space in this case is expected to have a geometry that covers all the individual spaces. Further, there can be super-groups having a list of main-spaces and a new higher-level main-space.

Same space cannot be part of spaces-list of multiple space groups. spaceGroupId is used for maintaining consistent unique id for spaceGroup management at editor application, it is also used at customer end and by Indoor Map SDK.

Property Type Modifier Description
spaceGroupId string
mainSpace Space
spaces Space distinct-list

SpaceGroupProperties

part SpaceGroupProperties extends Common, VenueFeatureProperties

Module groups

Property Type Modifier Description
@ns:com:here:mom:meta Metadata optional
@ns:com:here:mom:rmob string optional Currently not specified - may be specified by each Feature individually in future
featureType FeatureType optional Deprecated. This property is redundant to MomFeature.momType and should not be used.

MOM clients before 2.6 release had this deprecated property set to required, so

if data needs to be JSON schema validated by clients before 2.6 this property must be

set by the writer.
isoCountryCode Country optional Deprecated. This indicates which country a Feature is in, with a couple caveats.

- It may be unknown ("NONE" is a valid value, in addition to "UNDEFINED" like all MOM enums) simply because the

writer has not tried to figure it out or has otherwise not had the means to do so.

- It may be outright incorrect or a simplification of reality, specifically when a Feature is close to a country

border or in a disputed area (e.g., two or more countries claim the same area).

In all cases, writers and readers of this data should understand that the semantics of this property must be

agreed upon (if it is used at all). The preferred method of relating a Feature to a Country is through a

(direct or transitive) Reference from the Feature to an Admin.
@ns:com:here:mom:delta Branch optional
@ns:com:here:mom:mapcreator MapCreator optional
@ns:com:here:xyz Xyz optional Generic Data Hub namespace
extensionOSM MomOsm optional Optional extension for OSM (Open Street Map) metadata,

in case the object came from OSM
@ns:com:here:groundTruth GroundTruth optional Ground truth namespace
confidence ConfidenceData optional Confidence of a feature, optional only for the features

that are not participating in Quality Index.
venueId string optional Deprecated. Id of the venue. Venue Id is generated outside of MOM, and is used by the different components/services of venues.

There is no venue object, hence this is not a reference to any object,

but conceptually venue is a collection of objects of momType "indoor.{Site, Structure, Level, Space, Occupant}".

This id is linking every object to the venue.

It may have the same value as the Site object, but it doesn't have to have.

Each feature could be considered to be identifiable by a 2-level id: the venueId + feature id.

The feature id is also unique by itself.
indoorMapId string Id of the indoor map. The id is generated outside of MOM, and is used by the different components/services

of the indoor map.

Indoor map is a collection of objects of momType "indoor.{Site, Structure, Level, Space, Occupant, ...}".

This id is linking every object to the specific indoor map.

It may have the same value as the Site object, but it doesn't have to have.

Each feature could be considered to be identifiable by a 2-level id: the indoor map id + feature id.

The feature id is also unique by itself.
renderProperties RenderProperties optional optional object, will appear only for following objects Site, Structure, Level, Space (Vectors)
spaceGroups SpaceGroup list Space groups that

- share occupants and a main entrance

(e.g., an anchor store)

- comprise spatially related spaces without any other common properties

(e.g. a parking section comprising adjacent parking spots)
commonalityGroups SpaceGroup list Space groups that share the same properties

(e.g., a set of nearby parking spots reserved for disabled drivers)
level Level optional Level to which the spaces referenced by this space-groups feature belong.

In case this is absent, the spaces can be from any level/structure,

or mix of levels/structures of the indoor map.

SpaceGroups

feature SpaceGroups extends MomFeature, VenueFeature, VenueGroup

Module groups

Property Type Modifier Description
momType "indoor.SpaceGroups"
id string
bbox BoundingBox optional
geometry Point Centroid of the venue
properties SpaceGroupProperties
referencePoint Point optional This is the location of this feature, collapsed to a single point.

This is for any application where an approximate, but deterministic and consistent, location is useful. One

example is deciding where to "anchor" a feature within a tiled map database.

Any Reference to this feature should include this point.
nonSpatialPartitionKey string optional The partition id for a generically partitioned feature.

Generically partitioned features fall into two categories:

1. Features that have a spatial component but may not make sense to partition based on that geometry.

2. Features that don't have a strong spatial component.

How keys will be assigned and what value ranges will be used are not specified.

Examples of generically partitioned features are admin, zone, postal, phonetics, metadata, etc.
Constraint Expression Description
atMostOneDefinedProperty (is-empty(.referencePoint) is-empty(.nonSpatialPartitionKey)) At most one of non-spatial-partition-key and reference-point can be defined.

VenueGroup

abstract feature VenueGroup extends MomFeature, VenueFeature

Module groups

Subtypes SpaceGroups

Property Type Modifier Description
id string
bbox BoundingBox optional
geometry Geometry
properties VenueFeatureProperties
referencePoint Point optional This is the location of this feature, collapsed to a single point.

This is for any application where an approximate, but deterministic and consistent, location is useful. One

example is deciding where to "anchor" a feature within a tiled map database.

Any Reference to this feature should include this point.
nonSpatialPartitionKey string optional The partition id for a generically partitioned feature.

Generically partitioned features fall into two categories:

1. Features that have a spatial component but may not make sense to partition based on that geometry.

2. Features that don't have a strong spatial component.

How keys will be assigned and what value ranges will be used are not specified.

Examples of generically partitioned features are admin, zone, postal, phonetics, metadata, etc.
Constraint Expression Description
atMostOneDefinedProperty (is-empty(.referencePoint) is-empty(.nonSpatialPartitionKey)) At most one of non-spatial-partition-key and reference-point can be defined.

results matching ""

    No results matching ""