マップマッチング (/mapmatching)

基本情報

移動ログ(緯度経度)に対し、NAVITIME独自のマップマッチング技術を用いて道路マッチングを行うAPIです。
様々なI/Fをご用意しています。

リクエストパラメータ

APIにパラメータを付与することで、ご利用になる測地系を選択することが可能です。

パラメータ名 概要 入力値 必須 デフォルト 説明
datum 測地系の指定
文字列
- tokyo : 日本測地系
- wgs84 : 世界測地系
  tokyo
リクエストに使用される緯度経度の測地系をご指定ください。
緯度経度とパラメータの測地系が異なる場合、正常にマッチングができない場合がございます。必ずご使用になる測地系を指定してください。
入力値に記載されている文字列以外を指定した場合、正常にマッチングができない場合がございます。

サンプルリクエストURL

POST  /mapmatching/csv?datum=wgs84

注釈

共通事項 のパラメータは使用できません。

CSVファイルによるIF(/csv)

データをCSV形式でご利用になるお客様向けのIFです。 リクエスト、レスポンスともにCSVファイルとなります。

リクエスト

HTTPメソッド APIパス リクエストBODY リクエストHeader 説明
POST /mapmatching/csv gzip形式で圧縮したCSVファイル
Content-Type : multipart/form-data
Accept-Encoding : gzip
Content-Encoding : gzip
リクエストBODYにCSVファイルを指定してリクエストする方法です。
gzip形式で圧縮したファイルを指定してください。
CSVファイルのフォーマットは こちら をご覧ください。

リクエストファイルのフォーマット

リクエストボディでお送りいただくCSVファイルのフォーマットは以下の通りです。 ファイルの先頭行にカラム名を含めてください。

カラム名 概要 説明
timestamp 該当緯度経度取得時のタイムスタンプ
フォーマットは以下の通り
YYYYMMddhhmmssSSS
例) 2000年11月30日 10:25:35.000の場合
20001130102535000
lat 緯度
マッチングさせたいログの緯度情報
測地系 : 世界測地系,日本測地系のどちらでもご利用いただけます。詳細は こちら をご覧ください。
フォーマット : 度数表記,ミリ秒表記のどちらでもご利用いただけます。
lon 経度
マッチングさせたいログの経度情報
測地系 : 世界測地系,日本測地系のどちらでもご利用いただけます。詳細は こちら をご覧ください。
フォーマット : 度数表記,ミリ秒表記のどちらでもご利用いただけます。

リクエストファイル例 :

timestamp,lat,lon
20180801105434000,35.14653,136.96507
20180801105435000,35.14654,136.96508
20180801105436000,35.14662,136.96509
...

レスポンス

マッチング結果のCSVファイルのフォーマットは以下の通りです。

カラム名 概要 説明
timestamp 該当緯度経度取得時のタイムスタンプ
フォーマットは以下の通り
YYYY-MM-dd hh:mm:ss
例) 2000-11-30 10:25:30
result_lat マッチング後の緯度
マッチング結果の緯度情報
測地系 : リクエストパラメータ で指定された測地系で返却されます。
result_lon マッチング後の経度
マッチング結果の経度情報
測地系 : リクエストパラメータ で指定された測地系で返却されます。
original_lat マッチング前の緯度情報
リクエスト時に指定した緯度情報と同じ値です。
測地系 : リクエストパラメータ で指定された測地系で返却されます。
original_lon マッチング前の経度情報
リクエスト時に指定した経度情報と同じ値です。
測地系 : リクエストパラメータ で指定された測地系で返却されます。

レスポンスファイル例 :

timestamp,result_lat,result_lon,original_lat,original_lon
2018-08-01 10:54:34,35.14653,136.96507,35.14653,136.96507
2018-08-01 10:54:35,35.14654,136.96508,35.14654,136.96508
2018-08-01 10:54:36,35.14659,136.96504,35.14662,136.96509
...

JSON文字列によるIF(/json)

データをJSON文字列でご利用になるお客様向けのIFです。 リクエスト、レスポンスともにJSON文字列となります。

リクエスト

HTTP Method API Path Body Header 説明
POST /mapmatching/json JSON文字列 Content-Type : application/json
リクエストBODYにJSON文字列を指定してリクエストする方法です。
JSONのフォーマットは こちら をご覧ください。

リクエストJSONのフォーマット

リクエストでお送りいただくJSONのフォーマットは以下の通りです。

プロパティ名 データ型 説明
coords List<Coordinate> 緯度経度オブジェクトの配列

Coordinate オブジェクト

プロパティ名 データ型 説明
timestamp Long
フォーマットは以下の通り
YYYYMMddhhmmssSSS
例) 2000年11月30日 10:25:35.000の場合
20001130102535000
lat Double / Long
移動ログの緯度情報
度数表記,ミリ秒表記のどちらでもご利用いただけます。
リクエスト内で異なった表記が混在している場合、正常にマッチングができない場合がございます。
lon Double / Long
移動ログの経度情報
度数表記,ミリ秒表記のどちらでもご利用いただけます。
リクエスト内で異なった表記が混在している場合、正常にマッチングができない場合がございます。

リクエストJSON例:

{
    coords: [
        {
            timestamp: "20001130102530500",
            lat: 35.69171,
            lon: 139.72522
        },
        {
            timestamp: "20001130102531500",
            lat: 35.69175,
            lon: 139.72524
        },
        {
            timestamp: "20001130102532500",
            lat: 35.69179,
            lon: 139.72527
        },
        {
            timestamp: "20001130102533500",
            lat: 35.69184,
            lon: 139.72530
        },
        ...
}

レスポンス

マッチング結果のCSVファイルのフォーマットは以下の通りです。

プロパティ名 データ型 説明
timestamp 日付フォーマットの文字列
フォーマットは以下の通り
YYYY-MM-dd hh:mm:ss
例) 2000-11-30 10:25:30
result_lat Double / Long
マッチング結果の緯度情報
測地系 : リクエストパラメータ で指定された測地系で返却されます。
result_lon Double / Long
マッチング結果の経度情報
測地系 : リクエストパラメータ で指定された測地系で返却されます。
original_lat Double / Long
リクエスト時に指定した緯度情報と同じ値です。
測地系 : リクエストパラメータ で指定された測地系で返却されます。
original_lon Double / Long
リクエスト時に指定した経度情報と同じ値です。
測地系 : リクエストパラメータ で指定された測地系で返却されます。

レスポンスJSON例:

[
    {
        timestamp: "2000-11-30 10:25:30",
        result_lat: 35.69169,
        result_lon: 139.72527,
        original_lat: 35.69171,
        original_lon: 139.72522
    },
    {
        timestamp: "2000-11-30 10:25:31",
        result_lat: 35.69173,
        result_lon: 139.72529,
        original_lat: 35.69175,
        original_lon: 139.72524
    },
    {
        timestamp: "2000-11-30 10:25:32",
        result_lat: 35.69177,
        result_lon: 139.72532,
        original_lat: 35.69179,
        original_lon: 139.72527
    },
    {
        timestamp: "2000-11-30 10:25:33",
        result_lat: 35.69182,
        result_lon: 139.72535,
        original_lat: 35.69184,
        original_lon: 139.72530
    },
    ...
]