このチュートリアルでは、リクエストの解析方法についての情報を取得する方法を示します。
プロシージャ
/geocode
エンドポイントは、リクエストの解析方法に関する情報を提供できます。 アプリケーションは、この情報を使用して、リクエストの処理を続行する必要があるかどうかを判断できます。 アプリケーションは、アドレスのクレンジングに情報を使用して、将来のジオ コーディングリクエストの Geocoder 成功率と信頼性レベルを向上させることもできます。
フィーチャーをアクティブ化するには、次のパラメーター show=parsing
を使用します。
GET https://geocode.search.hereapi.com/v1/
geocode
?q=Unit+3+76+Sixth+Av+KEDRON
&show=parsing
&apiKey={YOUR_API_KEY}
次のパラメータが使用されます。
- Q - フリーテキストのクエリを入力します。
- show - レスポンスで表示する追加のフィールドを選択します。
- apiKey - お客様の API キー 。
注
この要求は API キー 認証を使用します。 HERE platform の認証オプションの詳細については、『ID およびアクセス管理ガイド』を参照してください。
上記のリクエストに対するレスポンスは、次のようになります。
{
"items": [
{
"title": "76 Sixth Ave, Kedron QLD 4031, Australia",
"id": "here:af:streetsection:XqjAl1dxDSkrHJXjoG-qHD:CggIBCCm0Z2fARABGgI3Nihk",
"resultType": "houseNumber",
"houseNumberType": "PA",
"address": {
"label": "76 Sixth Ave, Kedron QLD 4031, Australia",
"countryCode": "AUS",
"countryName": "Australia",
"stateCode": "QLD",
"state": "Queensland",
"city": "Brisbane",
"district": "Kedron",
"street": "Sixth Ave",
"postalCode": "4031",
"houseNumber": "76"
},
"position": {
"lat": -27.40998,
"lng": 153.03874
},
"access": [
{
"lat": -27.41005,
"lng": 153.03869
}
],
"mapView": {
"west": 153.03773,
"south": -27.41088,
"east": 153.03975,
"north": -27.40908
},
"scoring": {
"queryScore": 1,
"fieldScore": {
"district": 1,
"streets": [
1
],
"houseNumber": 1,
"unit": 1
}
},
"parsing": {
"district": [
{
"start": 19,
"end": 25,
"value": "KEDRON"
}
],
"street": [
{
"start": 10,
"end": 18,
"value": "Sixth Av"
}
],
"houseNumber": [
{
"start": 7,
"end": 9,
"value": "76"
}
],
"secondaryUnits": [
{
"start": 0,
"end": 6,
"value": "Unit 3"
}
]
}
}
]
}
結果アイテムには、parsing
という名前のブロックが含まれています。
この例では、クエリーに、 /geocode
が district
、street
と houseNumber
フィールドに一致する用語が含まれています。 解析ブロックには、一致したすべてのフィールドが一覧表示され、各フィールドの値と、クエリ内の対応する用語への参照が一覧表示されます。
解析された各リクエスト要素について、ブロックには次のもの parsing
が含まれます。
-
start
- 一致した範囲の最初のインデックス (0 ベースのインデックス付けを含む ) -
end
- 一致した範囲の最後のインデックスを超える位置が 1 つあります (0 ベースのインデックス付け、排他的 ) 。 終了と開始の差が、期間を示します -
value
- 入力文字列内の一致する項。 これらの値は、クエリの内容とまったく同じように表示されます。 このクエリの例では、番地タイプは "AV"Sixth+Av
と省略 されています。これは、レスポンス Sixth Ave
の標準化された道路タイプの略語とは異なります
ブロックparsing
には 、レスポンスのブロックaddress
と同じすべてのアドレスコンポーネントの解析情報が含まれている場合があります。
ブロックparsing
には、/geocode
によって認識 されたが、住所要素と一致しないクエリーの一部に関する情報も含まれている場合があります。 現在 /geocode
でサポートされている情報は、アパート、ユニット、フロアなどのセカンダリユニットでジグネータの 1 種類だけです。 この例では、Unit 3
です 。
警告
parsing
ブロックの新しいタイプの要素は、予告なくリストに追加されます。 HERE Geocoding and Search を使用するアプリケーションは、一覧表が修正されたと想定してはなりません。
条件付きクエリまたはハイブリッドクエリの場合 、ブロックparsing
には対応する条件付きフィールドの名前も含まれます。
freeform テキストと修飾フィールドを含むハイブリッドクエリを次に示します。
GET https://geocode.search.hereapi.com/v1/
geocode
?q=Unit+3+76+Sixth+Av+KEDRON
&&qq=state%3DQueensland
&show=parsing
&apiKey={YOUR_API_KEY}
上記のリクエストに対するレスポンスは、次のようになります。
{
"items": [
{
"title": "76 Sixth Ave, Kedron QLD 4031, Australia",
"id": "here:af:streetsection:XqjAl1dxDSkrHJXjoG-qHD:CggIBCCm0Z2fARABGgI3Nihk",
"resultType": "houseNumber",
"houseNumberType": "PA",
"address": {
"label": "76 Sixth Ave, Kedron QLD 4031, Australia",
"countryCode": "AUS",
"countryName": "Australia",
"stateCode": "QLD",
"state": "Queensland",
"city": "Brisbane",
"district": "Kedron",
"street": "Sixth Ave",
"postalCode": "4031",
"houseNumber": "76"
},
"position": {
"lat": -27.40998,
"lng": 153.03874
},
"access": [
{
"lat": -27.41005,
"lng": 153.03869
}
],
"mapView": {
"west": 153.03773,
"south": -27.41088,
"east": 153.03975,
"north": -27.40908
},
"scoring": {
"queryScore": 1,
"fieldScore": {
"state": 1,
"district": 1,
"streets": [
1
],
"houseNumber": 1,
"unit": 1
}
},
"parsing": {
"state": [
{
"start": 0,
"end": 10,
"value": "Queensland",
"qq": "state"
}
],
"district": [
{
"start": 19,
"end": 25,
"value": "KEDRON"
}
],
"street": [
{
"start": 10,
"end": 18,
"value": "Sixth Av"
}
],
"houseNumber": [
{
"start": 7,
"end": 9,
"value": "76"
}
],
"secondaryUnits": [
{
"start": 0,
"end": 6,
"value": "Unit 3"
}
]
}
}
]
}
状態の解析情報には、 state
を参照する追加のフィールドqq
が含まれています。
/geocode
パラメータの詳細については、次のトピックを参照してください。 API リファレンス。