HERE Map Attributes API V8の地図とレイヤー
HERE Map Attributes API v8はすべてのHERE Map Dataとお客様のプライベートマップデータに基づき、スムーズなアクセスを実現します。
利用可能なデータは、2つの主要なグループ (マップとレイヤー) に分類されます。
- 地図は複数のレイヤーで構成されています。
- レイヤーにはジオメトリーと属性を持つマップオブジェクトが含まれます。
- レイヤーはタイルに分割され、データはカテゴリーに分類されます。
地図
リソース/v8/maps/list.htmlに、利用可能な地図が表示されます。次のURLからアクセスします。
https://smap.hereapi.com/v8/maps/list.html?&apiKey={YOUR_API_KEY}コアマップコンテンツは地域マップに分割されていますが、常に単一のグローバルマップとして使用できます。
その他のコンテンツは、主に世界各地の専用マップで提供されます。
地域
HEREのマップは以下の地域に分かれています。
- ANTARC:南極大陸
- APAC:アジア太平洋
- AUSL:オーストラリア
- CHN:中国
- EEU:東欧
- HKG:香港
- IND:インド
- JPN:日本
- MEA:中東・アフリカ
- NA:北米
- SAM:南米
- TWN:台湾
- WEU:西欧
HERE Map Attributes API v8へのリクエストは、地域パラメーターを使用して1つ以上の地域を参照できます。ただしほとんどの場合、地域パラメーターは任意です (ドキュメント/mapsリソースを使用する場合を除く)。
リリース頻度
HEREでは、地図のコンテンツを毎週更新しています。デフォルトでは、HERE Map Attributes API v8は各地図地域で利用可能な最新の地図リリースを提供します。しかしAPIでは古い地図のリリースもオンデマンドで提供されています。このリリースは、リリースパラメーターを使用して選択できます。古い地図コンテンツの提供状況と価格については、お問い合わせください。
レイヤー
HERE Map Attributes API v8はHERE Map Dataをテーマ別レイヤーにグループ化します。各レイヤーには、道路区間、施設情報、河川ポリゴンなどの行 (マップオブジェクト)、それらのジオメトリーと属性 (列) が含まれます。
一部のレイヤーには、道路区間レイヤーの制限速度など、追加の属性によって別のレイヤーのオブジェクトを拡張するだけのものもあります。
ジオメトリーのないレイヤーは、「ジオメトリー」レイヤーではなく「属性」レイヤーと呼ばれます
レイヤーは次の特定のユースケース用に作成されます。
- ドライバーに警告を表示する
- 燃料効率の高い運転を可能にする
- 安全運転を可能にする
- 行政区分の階層を表すポリゴンへのアクセスを提供する
適切なレイヤーを使用して関連するデータのみをリクエストし、データ転送を最小限に抑えます。HERE Map Attributes API v8によって提供されるレイヤーは頻繁に変更されるため、現在サポートされているレイヤーをリソースのレイヤーで確認してください。
リソース/v8/layers/doc.htmlには制限速度レイヤーの属性 (列) が示されています。
次のURLからアクセスします。
https://smap.hereapi.com/v8/maps/layers/doc.html?layer=SPEED_LIMITS_FC1&apiKey={YOUR_API_KEY}リソース/v8/maps/attributes?in=tile:tileIdにはレイヤーSPEED_LIMITS_FC2のタイルからのコンテンツが示されています。
次のURLからアクセスします。
https://smap.hereapi.com/v8/maps/attributes?in=tile:1371046&mapName=WEU&layers=SPEED_LIMITS_FC2&apiKey={YOUR_API_KEY}制限速度レイヤーのタイルコンテンツの例を以下に示します。
| LINK_ID | FROM_REF_SPEED_LIMIT | TO_REF_SPEED_LIMIT | SOURCE | UNIT |
|---|---|---|---|---|
| 566084098 | null | 80 | 1 | K |
| 566084207 | 100 | 100 | 1 | K |
| 566089718 | null | 100 | 1 | K |
| 578304140 | null | 100 | 1 | K |
| 578313250 | 100 | null | 1 | K |
注
アプリがレスポンス内で抑制されたJSON値を処理できることを確認し (null、不明、デフォルトの場合)、JSON要素の公開順序が変更されたり、新しいフィールドやノードが追加されたりしても、アプリが動作することを確認します。
レイヤーを使用する典型的な例として、特定のルートに沿って情報を取得する必要がある場合が挙げられます。ルートは通常、小さな道路から始まり、大きな道路を通り、経路の大部分が自動車道のような道路を通り、最終的に目的地に近づくと小さな道路に戻ります。
ルート全体に沿って小さな道路に関するすべての情報を取得すると、膨大な量のデータ転送が発生する可能性があります。そのため、道路リンク関連のレイヤーは、HERE Mapsで使用される機能クラスにそれぞれ対応する5つのレイヤーに分割されます。
データ処理をシンプルにするために、各レイヤーは属性のキーと/valueのペアとして表される数字またはテキスト文字列の単純なレコードを持つ単一のフラットテーブルで構成されています。
転送されるデータ量を減らすために、一部の列は非正規化またはエンコードされます。非正規化は、カンマ区切り値のリストを列に格納することによって行われます。
エンコードは、静的な文字列値や車タイプのビット マスクを表すために略語または数字を使用することによって行われます。
たとえば、各ジオメトリーは座標ごとに 1 つの列 (x、y、z レベルの列) で提供されます。
各座標は、1E-5 WGS 度 (ADAS (先進運転支援システム) 精度の場合は 1E-7) の整数値のカンマ区切りリストです。最初の値は絶対値です。後続の各値は前の値の相対値です。ゼロの値は空の文字列になります。
次のタイルレイヤーを使用できます。
ADAS_ATTRIB_FC1...5ビルドアップ領域内の曲率、高さ、勾配、リンクADMIN_PLACE_0/1/2/8/9行政区画情報ADMIN_POLY_0/1/2/8/9行政区画ジオメトリーBASIC_HEIGHT_FC1...5リンクの高さBUILDING建物のタイプ、高さ、土地占有面積のジオメトリーCARTO_LINE_DO0/1/2/8/9マップ作成用ラインの種類、名前、ジオメトリーCARTO_POLY_DO0/1/2/8/9マップ作成用ポリゴンの種類、名前、ジオメトリーCARTO_POLY_OCEANマップ作成用海洋ポリゴン名、ジオメトリーCARTO_POLY_RIVER_DO0/1/2/8/9マップ作成用川のポリゴンタイプ、名前、 ジオメトリーCARTO_POLY_TOLL_HAZマップ作成用通行料金ゾーンおよび危険区域のポリゴン名、 ジオメトリーCENSUS_0/1/2/8/9基本的な統計調査のエリア情報CEN_*国別の統計調査情報CITY_POI_0/1/2/8/9市内中心部のPOI情報、場所DISTANCE_MARKERS_FC1...5距離マーカー情報、場所DTM_HEIGHTデジタル地形モデルグリッドの高さEVCHARGING_POI電気自動車充電スタンド情報、場所FUELSTATION_POIガソリン、ディーゼル、EV充電サービスLANE_CONN_FC1...5車線レベルガイダンスのリンク接続情報LINK_ATTRIBUTE2_FC1...5ルーティングの詳細リンク情報、地図表示LINK_ATTRIBUTE_FC1...5ルーティングの基本リンク情報、地図表示LINK_FC1...5ルーティングのリンク接続情報、ガイダンスLINK_TMC_FC1...5ライブトラフィック処理のLINK TMCMICROPOINT_ADDRESS住所の場所、番地の建物の単位を含む情報、 地図表示のレベルNATURAL_GUIDANCE自然ガイダンス情報POINT_ADDRESS住所の場所、地図表示用の番地の情報POI_BIGジャンル別施設情報、地図表示の場所POI_BIGGERジャンル別施設のタイプ、情報、マップ表示の場所POI_SMALLジャンル別施設のタイプ、情報、マップ表示の場所POI_SMALLERジャンル別施設のタイプ、情報、マップ表示の場所PSTLCB_GEN郵便番号境界の一般化されたジオメトリーPSTLCB_MP郵便番号境界の中間地点の場所PSTLCB_UNGEN郵便番号境界のジオメトリーPSTLCMIDP地図表示用の郵便番号エリアの中間地点PUBLIC_TRANSPORT_POI地図表示用の公共交通機関の停留所 (バス停、 地下鉄の駅など)ROAD_ADMIN_FC1...5道路リンクの行政階層、郵便番号ROAD_ADMIN_NAMES_FC1...5道路リンクの管理階層の正式名称 (ビルドアップエリア、市区町村、地区、都道府県、国)。ROAD_GEOM_FC1...5道路リンク情報、地図表示のためのジオメトリーROAD_NAME_FC1...5道路のリンク名ROAD_OVERVIEW地図表示用の一般化されたradジオメトリーROAD_ROUGHNESS_FC1...5ドライバー警告用の路面粗さの 分類ROUNDABOUT_FC1...5ロータリー情報ROUTING_FC1...5リンク情報のコンパクトな表現、接続性、 ルーティングの条件SAFETY_ALERTS事故現場とスピードカメラの場所、ドライバーへの 警告SIGNPOST方向標識情報SPEED_LIMITS_COND_FC1...5条件付き制限速度情報SPEED_LIMITS_FC1...5乗用車速度制限情報SPEED_LIMITS_VAR_FC1...5可変速度標識情報TOLLCOST_FC1...5通行料金計算/最適化用の道路通行料金情報TOLL_BOOTH_FC1...5通行料金計算/最適化用の料金所情報TOLL_LINK_FC1...5通行料金計算/最適化用の道路リンク通行料金情報TOPO_SEG_LINK_FC1...5オフセット範囲用のトポロジーセグメントIDとそのリンクIDの間の地図TRAFFIC_PATTERN_FC1...5時刻ごとおよび平日の一般的なリンク速度TRAFFIC_SIGN_FC1...5ドライバー警告用の交通標識情報TRAFFIC_SPEED_RECORD_FC1...5過去数日間に記録されたライブトラフィック情報、15分の解像度によるTRUCK POIトラック固有の休憩エリアおよびレストラン情報TRUCK_RESTR_FC1...5ルーティングのトラック制限情報TRUCK_SPEED_LIMITS_FC1...5トラック速度制限情報TURN_RESTR_FC1...5右左折制限情報VIRT_CONN仮想接続リンク情報、ルーティング用ジオメトリー、地図表示ARCHIVED_WEATHER世界のアーカイブ気象情報カタログ。履歴データは15分間隔で保存されます。
次のタイルでないレイヤーを使用できます。
ADMIN_REGULATIONS行政レベルの規制、タイムゾーンADMIN_TRUCK_RESTR行政レベルのトラック制限COUNTRY国情報TC_ADMIN行政レベルの道路通行料金情報TC_SYSTEM通行料金オペレーター情報TC_TOLLSYS_NAMES通行料金オペレーター名TC_VEH_TYPES通行料金車両タイプ情報TRAFFIC_PATTERN走行速度カーブ
詳細およびライセンス情報については、/v8/maps/layers/list.htmlのサービスドキュメントを参照してください。
リソースv8/maps/layers/list.htmlには利用可能なコアマップレイヤーが示されています。
https://smap.hereapi.com/v8/maps/layers/list.html?mapName=WEU&mapType=1&apiKey={YOUR_API_KEY}一部のレイヤーには、通行料金の車両タイプの定義などの非空間データ (場所に依存しない) が含まれています。
HERE Map Attributes API v8はこれらを「タイルでない (non-tiled)」コンテンツレイヤーと呼びます。
アプリケーションは常にレイヤーコンテンツ全体を取得します (タイルではなく、空間検索は行わない)。
別の例:
(タイルの) トラフィックパターンレイヤーのレコードには、PATTERN_IDがあります。
さらにタイルでないレイヤーがあり、各PATTERN_IDの完全な仕様が含まれています。
インデックス
一部のレイヤーは効率的な検索のために特定の属性の検索インデックスを提供します。たとえば、マップデータ属性もインデックス化されるため、属性キー/valueペアで特定の値がどのタイルに含まれるかをリクエストできます。
リソース/v8/maps/indexes.htmlにはコアマップレイヤーで利用可能なインデックスが示されています。
https://smap.hereapi.com/v8/maps/indexes.html?region=WEU&apiKey={YOUR_API_KEY}探しているマップオブジェクトの空間的な場所がわからない場合は、インデックスを使用します。
たとえば、リンクIDまたは管理場所IDがわかっている場合です。
場所がわかっている場合は、tile.jsonリソースまたは空間検索リソースを使用してデータを取得します。
index.jsonリソースはリクエストされたオブジェクトがどのタイルにあるかを示すため、tile.jsonを介して取得できます。
リソース/v8/maps/indexは、リンクIDの17339738と17339811がどの道路ジオメトリーレイヤーのタイルに存在するかを検出します。
https://smap.hereapi.com/v8/maps/index?layer=ROAD_GEOM_FC3&attributes=LINK_ID&values=17339738%2C17339811&apiKey={YOUR_API_KEY}タイルとタイルサイズ (レベル)
各レイヤーのデータは、効率的にアクセスできるよう「長方形」のWGS84度タイルに分割されています。
マップタイル (にカバーされる地域) のサイズは、レイヤーのタイルサイズ「レベル」に依存します。
「レベル」の数値が低いほど、タイルがカバーする領域が広くなります。たとえば、レベル2のタイルはレベル10のタイルよりも広い地域をカバーします。
画像に示すように、タイリングは世界を再帰的に半分に分割します。
- レベル0は2x1のタイル (グリニッジの東と西) を含み、各タイルは180x180度で構成されます。
- レベル1は4x2のタイルを含み、2つのレベル0のタイルはそれぞれ4つに細分されます。
- レベルNでは、各タイルは各方向に180.0/(2レベル) 度で構成されます。
注
画像内の世界地図はメルカトル図法によって平坦化されています。しかし、レイヤータイリングは投影されていないWGS84度に基づいており、メルカトル図法ではありません。
各レイヤーには固定のタイルサイズ (レベル) があります。
道路リンクベースのレイヤーの場合、レベルは常に「道路の機能クラス」+8です。 たとえば、機能クラス2 (=おおよそ第2レベル) の道路を含むレイヤーはタイリングレベル10です。
レイヤーのタイリングは、ナビゲーションデータ標準 (NDS) のタイリング方式に従います。
タイルはその下側と左側の境界を「所有」します。つまり、それらの境界上のオブジェクトはこのタイルに属します。
タイルの上側または右側の境界上にあるマップオブジェクトは、それぞれの隣接タイルに属します。
ただし点の場合、タイルには右/upperの境界上にある点 (のコピー) も含まれます。
ポリラインとポリゴンはタイルの境界で切断されます。
したがって、人工的な点が境界上に作成され、そのようにマークされます。
これらの人工的な点は、同じ座標で両方のタイルに存在します。タイルの境界で切断されたポリゴンは、各辺が閉じます。このタイリング方式では、次のいずれかの操作を選択できます。
- タイリングを無視し、タイルフラグメントを別々のマップオブジェクトとして使用する
- 追加のジオメトリーを削除し、タイルのジオメトリーを結合して元に戻す
- ポリゴンの境界線としての人工的なタイリングラインの描画を抑制する
タイルのジオメトリーの断片が互いに属していると識別できるのは、リンクIDやCarto/face IDなどの同じ永続IDを持っている場合です。
一部のレイヤーでは、ジオメトリーをタイルのピースに切断するのではなく、オブジェクトのジオメトリー全体をそれがカバーする各タイルにコピーします。
これについては、それぞれのレイヤーのドキュメントで説明しています。
タイルリンクは次のように表されます。
- タイルA - 開始ノード、形状点、人工形状点
- タイルB - 人工形状点、形状点、終了ノード
人工形状も、前の形状点を基準とした相対座標値として表されます。
この例は、レイヤー内の指定された座標をカバーするタイルIDを計算する方法を示しています。
tile size = 180° / 2^level [degree]
tileY = trunc((latitude + 90°) / tile size)
tileX = trunc((longitude + 180°) / tile size)
tileID = tileY * 2 * (2^level) + tileXマップオブジェクト識別子
各レイヤーは「識別子」と呼ばれる1つ (または複数) の主要属性を持ちます。
たとえば、道路セグメントはリンクIDによってグローバルかつ一意かつ永続的に識別されます。
HEREのマップオブジェクト識別子はオブジェクトに対して決して変更されません。
しかし道路セグメントが分割された場合は、分割部分が新しい (異なる) 識別子を取得し、古い識別子は使用されなくなります。
識別子を使用して、複数のレイヤーにまたがるマップオブジェクトを結合できます。
たとえば、道路ジオメトリーレイヤーのリンクIDを使用して、速度制限レイヤーの対応する速度制限値を識別します。
最も頻繁に使用される識別子はリンクIDです:
- リンクは一定の属性セットを持つ道路です。リンクは交差点で終了するか、速度制限などの属性のいずれかが変更されたときに終了します。
- リンクはその両端にノードを持ちます。左下のノード (さらに低い緯度、または等しい場合はさらに低い経度、または等しい場合はさらに低いzレベル) は 参照ノードと呼ばれます。もう一方のノードは非参照ノードと呼ばれます。ノードは道路に沿った属性変更に対して2つのリンクを接続したり、 交差点がある場合は複数のリンクを接続したりできます。
- 各リンクはリンクIDによってグローバルに識別されます。
カスタムマップタイルサイズ
お客様はレイヤーのタイルサイズを選択して、検索/displayパフォーマンスを最適化できます。
デフォルトはレベル12で、3km x 3kmのタイルがあります。
2km x 2kmの市街地中心部に10,000個の点があるなど、レイヤーに局所的に高密度のジオメトリーが大量に含まれている場合は、より小さいグリッドサイズを選択する必要があります。そうしない場合、この都市での各検索操作に10,000か所すべてが関与することになります。
参考までに、レベル13は1.5km x 1.5kmのグリッドで、レベル14は750m x 750mのグリッドです。
レイヤーのジオメトリーが大きな地域にまばらに分散している場合、たとえば地球上の100か所といった場合は、より大きなグリッドサイズを選択する必要があります。そうしない場合、各検索操作が空のタイル10,000個に対して実行されてしまいます。
参考までに、レベル11は6km x 6kmのグリッド、レベル10は12km x 12kmのグリッド、レベル9は24km x 24kmのグリッド、レベル8は48km x 48kmのグリッドです。
検索操作は最大150タイルに制限されています。これが極めて重要である場合は、タイルサイズの選択時に考慮すべきです。
5 日前の更新