Spatial - Get Closest Point

ベース ポイントと特定のターゲット ポイントのセットの間の最も近いポイントを取得するには、 を使用します。

Get Closest Point API は、 によって識別されるユーザー アップロード データ セット内のベース ポイントと特定のポイントセットの間の最も近いポイントを HTTP GET 要求しますudid。 ターゲット ポイントのセットは、 データ レジストリ サービスを使用してアップロードされ、一意の udid によって参照される GeoJSON ファイルによって提供されます。 GeoJSON ファイルには、Point ジオメトリのコレクションのみが含まれる場合があります。 MultiPoint またはその他のジオメトリが指定されている場合、無視されます。 許容されるポイントの最大数は 100,000 です。 このアルゴリズムでは、ルーティングやトラフィックは考慮されません。 返される情報には、最も近いポイントの緯度、経度、最も近いポイントからの距離 (メートル単位) が含まれます。

この API をテストするには、データ レジストリ サービスを使用して Post Closest Point API の例 (要求本文) からサンプル データをアップロードし、以下udidサンプル要求の を{udid}データ レジストリの作成時に使用される に置き換えます。 詳細については、「データ レジストリの作成方法」を参照してください。

GET https://{geography}.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&udid={udid}&lat={lat}&lon={lon}
GET https://{geography}.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&udid={udid}&lat={lat}&lon={lon}&numberOfClosestPoints={numberOfClosestPoints}

URI パラメーター

名前 / 必須 説明
format
path True

JsonFormat

応答の目的の形式。 サポートされているのは json 形式のみです。

geography
path True

string

Azure Maps アカウントの場所。 有効な値は、us (米国東部、米国中西部、米国西部 2) と eu (北ヨーロッパ、西ヨーロッパ) です。 このパラメーターは、 が要求で指定されている場合 udid に必要です。 たとえば、Azure Maps アカウントが米国東部にある場合は、地域への要求のみが受け入れられます。

api-version
query True

string

Azure Maps API のバージョン番号。

lat
query True

number

渡される場所の緯度。 例: 48.36。

lon
query True

number

渡される場所の経度。 例: -124.63。

udid
query True

string

有効な GeoJSON FeatureCollection オブジェクトをアップロードするために データ レジストリ を作成するときに使用される一意の ID。 詳細については、 RFC 7946 を参照してください。 フィーチャのすべてのプロパティには、 が含まれている geometryId必要があります。これはジオメトリを識別するために使用され、大文字と小文字が区別されます。 データ レジストリ サービスの詳細については、「データ レジストリ を作成する方法」を参照してください。

numberOfClosestPoints
query

integer

応答から予想される最も近いポイントの数。 既定値: 1、最小: 1、最大: 50

要求ヘッダー

名前 必須 説明
x-ms-client-id

string

Microsoft Entra ID セキュリティ モデルと組み合わせて使用するアカウントを指定します。 Azure Maps アカウントの一意の ID を表し、Azure Maps管理プレーン アカウント API から取得できます。 Azure MapsでMicrosoft Entra IDセキュリティを使用するには、次の記事を参照してください。

応答

名前 説明
200 OK

ClosestPointResponse

OK

Other Status Codes

ErrorResponse

予期しないエラーが発生しました。

セキュリティ

AADToken

これらは OAuth 2.0 フロー Microsoft Entraです。 Azure ロールベースのアクセス制御と組み合わせて使用すると、Azure Maps REST API へのアクセスを制御できます。 Azure ロールベースのアクセス制御は、1 つ以上のAzure Mapsリソース アカウントまたはサブリソースへのアクセスを指定するために使用されます。 REST API に対する 1 つ以上のアクセス許可で構成される組み込みロールまたはカスタム ロールを使用して、任意のユーザー、グループ、またはサービス プリンシパルにアクセス権 Azure Mapsを付与できます。

シナリオを実装するには、 認証の概念を表示することをお勧めします。 要約すると、このセキュリティ定義は、特定の API とスコープに対するアクセス制御が可能なオブジェクトを使用してアプリケーションをモデル化するためのソリューションを提供します。

メモ

  • このセキュリティ定義では、 ヘッダーを使用して、x-ms-client-idアプリケーションがアクセスを要求しているリソースAzure Maps示す必要があります。 これは、 Maps 管理 API から取得できます。

Authorization URLは、Azure パブリック クラウド インスタンスに固有です。 ソブリン クラウドには、固有の承認 URL とMicrosoft Entra ID構成があります。 * Azure ロールベースのアクセス制御は、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して Azure 管理プレーンから構成されます。 * Azure Maps Web SDK を使用すると、複数のユース ケースに対してアプリケーションを構成ベースで設定できます。

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

名前 説明
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

これは、Azure portal、PowerShell、CLI、Azure SDK、または REST API を使用して Azure 管理プレーンを介してAzure Maps リソースを作成するときにプロビジョニングされる共有キーです。

このキーを使用すると、すべてのアプリケーションがすべての REST API にアクセスする権限が与えられている。 つまり、これらは現在、発行先のアカウントのマスター キーとして扱うことができます。

パブリックに公開されているアプリケーションの場合、このキーを安全に格納できる REST API のサーバー間アクセスAzure Maps使用することをお勧めします。

Type: apiKey
In: header

SAS Token

これは、Azure portal、PowerShell、CLI、Azure SDK、または REST API を介して、Azure 管理プレーンを介して、Azure Maps リソースの List SAS 操作から作成される共有アクセス署名トークンです。

このトークンを使用すると、すべてのアプリケーションが Azure ロールベースのアクセス制御を使用してアクセスし、特定のトークンに使用される有効期限、レート、およびリージョンをきめ細かく制御できます。 つまり、SAS トークンを使用して、アプリケーションが共有キーよりもセキュリティで保護された方法でアクセスを制御できるようにします。

公開されているアプリケーションの場合、 Map アカウント リソース で許可される配信元の特定の一覧を構成して、レンダリングの不正使用を制限し、SAS トークンを定期的に更新することをお勧めします。

Type: apiKey
In: header

GetClosestPoint

Sample Request

GET https://us.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&udid=f6495f62-94f8-0ec2-c252-45626f82fcb2&lat=47.622942&lon=-122.316456

Sample Response

{
  "summary": {
    "sourcePoint": {
      "lat": 47.622942,
      "lon": -122.316456
    },
    "udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
    "information": "10 points processed in user data"
  },
  "result": [
    {
      "distanceInMeters": 1587492.66,
      "position": {
        "lat": 40.51615340677395,
        "lon": -105.02860293715861
      },
      "geometryId": "1001"
    }
  ]
}

定義

名前 説明
ClosestPoint

最も近いポイントの結果エントリ オブジェクト

ClosestPointResponse

このオブジェクトは、成功した空間最近接ポイント呼び出しから返されます

ClosestPointSummary

最も近い Point Summary オブジェクト

ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

JsonFormat

応答の目的の形式。 サポートされているのは json 形式のみです。

LatLongPairAbbreviated

短い名前 'lat' & 'lon' を使用して緯度と経度として表される場所。

ClosestPoint

最も近いポイントの結果エントリ オブジェクト

名前 説明
distanceInMeters

number

ソース ポイントから最も近いポイントまでの距離 (メートル単位)

geometryId

string

一意の ID はジオメトリを識別します

position

LatLongPairAbbreviated

短い名前 'lat' & 'lon' を使用して緯度と経度として表される場所。

ClosestPointResponse

このオブジェクトは、成功した空間最近接ポイント呼び出しから返されます

名前 説明
result

ClosestPoint[]

最も近いポイントの結果配列

summary

ClosestPointSummary

最も近い Point Summary オブジェクト

ClosestPointSummary

最も近い Point Summary オブジェクト

名前 説明
information

string

情報の処理

sourcePoint

LatLongPairAbbreviated

短い名前 'lat' & 'lon' を使用して緯度と経度として表される場所。

udid

string

アップロードされたコンテンツの一意のデータ ID (udid)

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 説明
info

object

追加情報。

type

string

追加情報の種類。

ErrorDetail

エラーの詳細。

名前 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細です。

message

string

エラー メッセージ。

target

string

エラーのターゲット。

ErrorResponse

エラー応答

名前 説明
error

ErrorDetail

error オブジェクト。

JsonFormat

応答の目的の形式。 サポートされているのは json 形式のみです。

名前 説明
json

string

JavaScript オブジェクト表記データ交換形式

LatLongPairAbbreviated

短い名前 'lat' & 'lon' を使用して緯度と経度として表される場所。

名前 説明
lat

number

Latitude プロパティ

lon

number

Longitude プロパティ