トポロジ : ルーティングイネーブラ
MOM のルーティンググラフは、トポロジの一般的な概念に基づいています。 トポロジーは LineString
、開始ノードと終了ノードを持つ形状を介して表され、移動の方向や許可された車両タイプなど、ナビゲーション可能性の特性をさらに定義する属性を伝達できます。 トポロジグラフは、アドレスとともにルーティングを行うための基本的なイネーブラです。
トポロジ
トポロジ、タイプの MOM 機能 topology
、ナビゲーショングラフ、またはナビゲート可能な要素を形成します。 トポロジは、屋内のマップだけでなく、屋外のマップでも topology
機能または road
機能と同じように使用されます。 両方の機能タイプが非常によく似ているため、このドキュメントで topology
は、両方のタイプの同義語としてを使用しています。
ルートグラフの計算
特定の宛先にナビゲートするには、宛先にAddress
またはMicroPA
タイプの address プロパティが必要です。このプロパティには、 1 つ以上のroutePoint
要素が含まれています。 は routePoint
トポロジーを参照し、形状上の場所も含みます。これにより、宛先へのルーティングが可能になります。 現在のトポロジ上の位置から開始し、マップのトポロジに沿ってターゲットトポロジへの最適パスを計算することで、ルーティンググラフが作成されます。
トポロジ参照
基本的な概念は、「関心のある場所」がトポロジを参照していることです。これは、ルートの計算を有効にするのに十分です。 マップの作成と編集を容易にするには、ナビゲーションできないマップの要素とマップの REST の間の関係についても記述する必要があります。 この説明では indoor.Level
、次の機能からトポロジを参照する必要があります。
{
"id": "level-64575",
"momType": "indoor.Level",
"type": "Feature",
"properties": {
...
"topologies": [
{
"id": "topology-18727840"
},
{
"id": "topology-18720600"
},
{
"id": "topology-18720601"
},
...
トポロジの特性
この topology
機能を使用すると、アクセス特性および制限を柔軟に改善できます。 屋内マップのコンテキストでは、すべてのトポロジのモダリティと方向性を指定する必要が accessCharacteristics
あります。これらのトポロジはプロパティで結合されています。
{
"id": "topology-18740922",
"momType": "Topology",
"type": "Feature",
"properties": {
...
"accessCharacteristics": [
{
"range": {
"startOffset": 0,
"endOffset": 1
},
"appliesTo": "FROM_START",
"auto": true,
"autoWithTrailer": true,
"bicycle": true,
"bus": true,
"carpool": true,
"delivery": true,
"emergencyVehicle": true,
"hybrid": true,
"motorcycle": true,
"taxi": true,
"truck": true,
"throughTraffic": true,
"alternateFuelVehicle": true,
"motorhome": true,
"caravan": true,
"trailer": true,
"boatTrailer": true,
"autoTowingCaravan": true,
"semi": true
}
]
アクセスの特性および制限に関する一般的な概念は、特性の範囲および方向を定義できることです。 上記の例で示されているように、許可された車両タイプはトポロジの全範囲(range
プロパティを参照)に適用され、開始ノードからの方向(appliesTo
をFROM_START
に設定)にのみ適用されます。
住所
MOM は Address
、次の 2 つのカテゴリでフィーチャータイプを定義します。 PointAddress
および MicroPA
( マイクロポイントアドレス ) 。 は PointAddress
番地を表し MicroPA
、は建物内にあり、屋内地図コンテキストの構造、レベル、スペースなどのさまざまなフィーチャオブジェクトの内部アドレスを提供します。
アドレス機能には、それぞれ MicroPA
が親としてPointAddress
を持つ必要がある階層があります。また、これらのアドレスには、別の MicroPA
が親として含まれている場合もあります。 MicroPA
屋内マップでは、アドレスの階層が広範囲に及ぶことは一般的ではありません。
たとえば、スポーツスタジアムの座席をモデル化する場合、住所は「 section: 行「 , 」 : 12 インチ、 " シート: 32 インチ 住所を除いた結果 PointAddress
は、次のようになります。
Section
{
"momType": "Address",
"type": "Feature",
"id": "microPAIndoorSampleSection",
"geometry": {
"type": "Point",
"coordinates": [120.68093, 24.2114]
},
"properties": {
"featureType": "Address",
"category": "MicroPA",
"isoCountryCode": "FRA",
"sourceType": "EXTERNAL",
"parentPointAddressId": {
"id": "1005"
},
"locationDetails": [
{
"names": [
{
"name": "A",
"languageCode": "ENG",
"nameType": "ABBREVIATION"
}
],
"locationType": "SECTION"
}
],
"defaultDisplayPointType": "INDOOR_SPACE_CENTROID"
}
}
行
{
"momType": "Address",
"type": "Feature",
"id": "microPAIndoorSampleRow",
"geometry": {
"type": "Point",
"coordinates": [120.68093, 24.2114]
},
"properties": {
"featureType": "Address",
"category": "MicroPA",
"isoCountryCode": "FRA",
"sourceType": "EXTERNAL",
"parentPointAddressId": {
"id": "1005"
},
"parentMicroPointAddressId": {
"id": "microPAIndoorSampleSection"
},
"locationDetails": [
{
"names": [
{
"name": "12",
"languageCode": "ENG",
"nameType": "ABBREVIATION"
}
],
"locationType": "ROW"
}
],
"defaultDisplayPointType": "INDOOR_SPACE_CENTROID"
}
}
座席
{
"momType": "Address",
"type": "Feature",
"id": "microPAIndoorSampleSeat",
"geometry": {
"type": "Point",
"coordinates": [120.68093, 24.2114]
},
"properties": {
"featureType": "Address",
"category": "MicroPA",
"isoCountryCode": "FRA",
"sourceType": "FIELD",
"parentPointAddressId": {
"id": "1005",
"spaceId": "here-pa"
},
"parentMicroPointAddressId": {
"id": "microPAIndoorSampleRow"
},
"locationDetails": [
{
"names": [
{
"name": "5",
"languageCode": "ENG",
"nameType": "ABBREVIATION"
}
],
"locationType": "SEAT"
}
],
"defaultDisplayPointType": "INDOOR_SPACE_CENTROID"
}
}
屋内機能へのナビゲーションを許可するには、MicroPA
のroutingPoints
プロパティを使用して、機能のアドレスをトポロジグラフに接続します。 は RoutePoint
、トポロジへの参照、トポロジ上の座標、および機能が配置されているトポロジのサイドを示すオプションの情報で構成されています。
{
"momType": "Address",
"type": "Feature",
"properties": {
"category": "MicroPA",
"routingPoints": [
{
"road": "45363",
"side": "left",
"point": {
"latitude": 120.680928
"longitude": 24.21142
}
}
]
...
}
...
}
Lanes
車の地図を表す屋内地図の自動運転の使用例など、ナビゲーションの精度を高めるため LaneGroups
に、 MOM 機能を使用して、レベルでトポロジをさらに拡張できます。 LaneGroups
これらのレーンをレベルごとに参照する一連のもの。 ただし、駐車場の一部の駐車場には、目に見える車線が床に引かれていない場合があります。このような場合、地図にも車線が描かれていません。 歩行者専用トポロジではレーンは使用されません。
屋内のコンテキストでは、 LaneGroups
は、主に境界線と可能な中心線を含む、基礎となるトポロジの詳細なジオメトリを提供します。 レーン間のディバイダーは、を使用して屋内地図でモデル化 indoor.Space
されます。 レーングループと屋内マップのトポロジのリンクにより directionOfTravel
、トポロジの方向性とグループ内のレーンのプロパティが一致する必要があります。
注
laneGroup
トポロジへの参照がありますが、これらはトポロジの拡張であり、すべての屋内マップで使用されるわけではありません。したがって、トポロジセットが従うべきプライマリトポロジになります。
道路標識
道路標識は、特定のプロパティを持つポイントジオメトリフィーチャーです。 屋外での使用を目的とした標識がもともと定義 SignType
されていたため、この一覧表には屋内地図には適用されない追加の事例が含まれています。 屋内地図に表示される一般的な標識には、制限速度、車高制限、駐車場の利用、駐車停止、立ち入り禁止、 および回転の制限。
屋内地図の標識の高度が relativeAltitudeCm
、点形状の高度ではなく属性として提供されます。 署名フィーチャーは indoor.Level
、その位置にあるによって参照されます。
床の標示
屋内地図の床のマークは RoadSurfaceMarkings
、 MOM 機能によって表されます。 床に描かれた矢印などの要素が含まれています。
屋内の各マップレベルには、 RoadSurfaceMarkings
で参照される一連のを含める indoor.Level
ことができます。
注
車線グループも参照しています RoadSurfaceMarkings
が、車線なしでは床の標示が存在することがあります。