GetSegmentData
説明
GetSegmentData サービスは、ポイントまたはセグメント ID のセグメント情報を返します。ポイントを指定すると、最も近いルート セグメントが返されます。セグメント ID を指定すると、指定されたルート セグメントのルート データが返されます。
注: REST サービスからの応答は JSON 形式です。要求の GET URL に無効なクエリ パラメータが含まれていたり、POST のペイロードが無効である場合は、累積的なエラー応答が JSON 配列に返されます。応答 JSON の value ノードは非推奨です。エラーの確認には、errors ノードを使用してください。
HTTP GET URL 形式
HTTP GET 要求には次の形式を使用します。HTTP GET 要求は、ポイントにおけるセグメント データを返す場合と、セグメント ID のセグメント データを返す場合で異なります。
指定されたポイントにおけるセグメントのデータを返す:
HTTP GET /rest/Spatial/erm/databases/dbsource/segments.json?point=x,y,srsName&query_parameters
指定されたセグメントのデータを返す:
HTTP GET /rest/Spatial/erm/databases/dbsource/segments/segmentID.json?query_parameters
ここで、dbsource は、ルート用のデータを含むデータベースの名前です。Spatial モジュールのルーティング データベース リソース ツールで指定されたデータベース名を使用してください。segmentID は、データを返すセグメント識別子です。
クエリ パラメータ
この操作には、以下のクエリ パラメータが使用できます。
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
destinationSrs | 文字列 | いいえ | セグメント データと結果のジオメトリを返す座標系。既定値は使用するデータの座標系です。 |
distanceUnit | 文字列 | いいえ | 距離を返すときの単位。既定値は m (メートル) です。使用可能な値: m (メートル)、km (キロメートル)、yd (ヤード)、ft (フィート)、mi (マイル)。 |
時間単位 | 文字列 | いいえ | 時間を返すときの単位。既定値は min (分) です。使用可能な値: min (分)、msec (ミリ秒)、s (秒)、h (時間)。 |
velocityUnit | 文字列 | いいえ | 速度を返すときの単位。既定値は mph (マイル/時) です。使用可能な値: mph (マイル/時) および kph (キロメートル/時)。 |
angularUnit | 文字列 | いいえ | 回転角度を返すときの単位。既定値は deg (度) です。使用可能な値: deg (度)、rad (ラジアン)、minute (分)、sec (秒)、grad (グラード)。 |
segmentGeometryStyle | 文字列 | いいえ |
ルートのセグメントを表すジオメトリの形式。デフォルトは None です。セグメント ジオメトリを返す必要がある場合は、このパラメータを指定します。道順を指定するときのオプションは次のとおりです。
|
バージョン | 文字列 | いいえ | GetSegmentData REST サービスのバージョンを指定します。有効な値は 1 と 2 です。version のデフォルト値は 1 です。 |
例
ポイントを指定するセグメント データを返します。
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase/segments.json?point=-77,38,epsg:4326&segmentGeometryStyle=all
応答
[{
"segmentID": "aa18eb33:1b7bbe",
"primaryName": "VA-631",
"primaryNameLanguage": "en",
"alternateNames": [{
"alternateName": "Lloyds Rd",
"language": "en"
},
{
"alternateName": "VA-631",
"language": "en"
}],
"segmentLength": 4.954,
"segmentLengthUnit": "mi",
"timeTaken": 5.9333,
"timeUnit": "min",
"turnAngle": 0.0,
"turnAngleUnit": "deg",
"compassDirection": "",
"speedOfTravel": 49.9955,
"speedOfTravelUnit": "mph",
"roadType": "major road rural",
"segmentDirection": "bidirectional",
"startJunctionType": "",
"endJunctionType": "Other",
"isRoundabout": false,
"isTollRoad": false,
"geometry": {
"type": "LineString",
"crs": {
"type": "name",
"properties": {
"name": "epsg:4326"
}
},
"coordinates": [[…]]
}
},
{
"segmentID": "46ed0e49:d9a7dc",
"primaryName": "VA-631",
"primaryNameLanguage": "en",
"alternateNameList": [{
"alternateName": "Lloyds Rd",
"language": "en"
}],
"segmentLength": 1.198,
"segmentLengtUnit": "mi",
"timeTaken": 1.433,
"timeUnit": "min",
"turnAngle": 0.0,
"turnAngleUnit": "degree",
"compassDirection": "",
"speedOfTravel": 49.9955,
"speedOfTravelUnit": "mph",
"roadType": "major road rural",
"segmentDirection": "bidirectional",
"startJunctionType": "Other",
"endJunctionType": "",
"isRoundabout": false,
"isTollRoad": false,
"pointsInSegment": {
"type": "LineString",
"crs": {
"type": "name",
"properties": {
"name": "epsg:4326"
}
},
"coordinates": [[…]]
}
}]
セグメント ID を指定するセグメント データを返します。
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase/segments/aa18eb33:1b7bbe.json?distanceUnits=mi
応答
[{
"segmentID": "aa18eb33:1b7bbe",
"primaryName": "VA-631",
"primaryNameLanguage": "en",
"alternateNames": [{
"alternateName": "Lloyds Rd",
"language": "en"
},
{
"alternateName": "VA-631",
"language": "en"
}],
"segmentLength": 4.954,
"segmentLengthUnit": "mi",
"timeTaken": 5.9333,
"timeUnit": "min",
"turnAngle": 0.0,
"turnAngleUnit": "deg",
"compassDirection": "",
"speedOfTravel": 49.9955,
"speedOfTravelUnit": "mph",
"roadType": "major road rural",
"segmentDirection": "bidirectional",
"startJunctionType": "",
"endJunctionType": "Other",
"isRoundabout": false,
"isTollRoad": false
}
バージョン固有のエラー応答
リクエストに無効なパラメータ値 (ポイントの欠落など) を入力すると、入力したバージョンによって異なるエラー応答が返ります。バージョンが 1 の場合、値とエラーが返りますが、バージョンが 2 の場合、応答にはエラーのみが含まれます。
- version が 1 の場合のリクエスト:
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?version=1
- レスポンス:
{ "value": "Point cannot be empty.", "errors": [ { "errorCode": 4139, "userMessage": "Point cannot be empty." } ] }
- version が 2 の場合のリクエスト:
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?version=2
- レスポンス:
{"errors": [ { "errorCode": 4139, "userMessage": "Point cannot be empty." } ] }