Spatial - Post Closest Point

Bir temel nokta ile belirli bir hedef nokta kümesi arasındaki en yakın noktayı almak için kullanın.

Post Closest Point API, bir temel nokta ile belirli bir hedef nokta kümesi arasındaki en yakın noktayı döndüren bir HTTP POST isteğidir. Hedef nokta kümesi, istek sonrası gövdesindeki kullanıcı verileri tarafından sağlanır. Kullanıcı verileri yalnızca Nokta geometrisi koleksiyonu içerebilir. MultiPoint veya diğer geometriler sağlanırsa yoksayılır. Algoritma yönlendirmeyi veya trafiği dikkate almaz. Kabul edilen en fazla puan sayısı 100.000'dir. Döndürülen bilgiler en yakın nokta enlemi, boylam ve metre cinsinden en yakın noktadan uzaklığı içerir.

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

URI Parametreleri

Name İçinde Gerekli Tür Description
format
path True

JsonFormat

Yanıtın istenen biçimi. Yalnızca json biçim desteklenir.

geography
path True

string

Azure Haritalar Hesabının konumu. Geçerli değerler: abd (Doğu ABD, Orta Batı ABD, Batı ABD 2) ve AB (Kuzey Avrupa, Batı Avrupa). İstekte bir udid sağlandığında bu parametre gereklidir. Örneğin, Azure Haritalar Hesabı Doğu ABD'de bulunuyorsa, yalnızca bize yapılan coğrafya istekleri kabul edilir.

api-version
query True

string

Azure Haritalar API'sinin sürüm numarası.

lat
query True

number

Geçirilen konumun enlemi. Örnek: 48.36.

lon
query True

number

Geçirilen konumun boylamı. Örnek: -124.63.

numberOfClosestPoints
query

integer

Yanıttan beklenen en yakın nokta sayısı. Varsayılan: 1, en az: 1 ve maksimum: 50

İstek Başlığı

Name Gerekli Tür Description
x-ms-client-id

string

Hangi hesabın Microsoft Entra ID güvenlik modeliyle birlikte kullanıma yönelik olduğunu belirtir. Azure Haritalar hesabı için benzersiz bir kimliği temsil eder ve Azure Haritalar yönetim düzlemi Hesap API'sinden alınabilir. Azure Haritalar'de Microsoft Entra ID güvenliği kullanmak için rehberlik için aşağıdaki makalelere bakın.

İstek Gövdesi

Name Gerekli Tür Description
features True

GeoJsonFeature[]

Geçerli GeoJSON Feature nesnelerin listesini içerir.

type True string:

FeatureCollection

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

Yanıtlar

Name Tür Description
200 OK

ClosestPointResponse

Tamam

Other Status Codes

ErrorResponse

Beklenmeyen bir hata oluştu.

Güvenlik

AADToken

Bunlar Microsoft Entra OAuth 2.0 Akışlarıdır. Azure rol tabanlı erişim denetimiyle eşleştirildiğinde, Azure Haritalar REST API'lerine erişimi denetlemek için kullanılabilir. Azure rol tabanlı erişim denetimleri, bir veya daha fazla Azure Haritalar kaynak hesabına veya alt kaynağa erişim tanımlamak için kullanılır. Tüm kullanıcılara, gruplara veya hizmet sorumlularına yerleşik bir rol veya Azure Haritalar REST API'leri için bir veya daha fazla izinden oluşan özel bir rol aracılığıyla erişim verilebilir.

Senaryoları uygulamak için kimlik doğrulama kavramlarını görüntülemenizi öneririz. Özetle, bu güvenlik tanımı belirli API'ler ve kapsamlar üzerinde erişim denetimi yapabilen nesneler aracılığıyla uygulamaları modellemek için bir çözüm sağlar.

Notlar

  • Bu güvenlik tanımı, uygulamanın erişim istediği Azure Haritalar kaynağı belirtmek için üst bilgi kullanımını x-ms-client-idgerektirir. Bu, Haritalar yönetim API'sinden alınabilir.

Authorization URL, Azure genel bulut örneğine özgüdür. Bağımsız bulutların benzersiz Yetkilendirme URL'leri ve Microsoft Entra ID yapılandırmaları vardır. * Azure rol tabanlı erişim denetimi azure yönetim düzleminden Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla yapılandırılır. * Azure Haritalar Web SDK'sının kullanımı, bir uygulamanın birden çok kullanım örneği için yapılandırma tabanlı kurulumuna olanak tanır.

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

Scopes

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Bu, Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzlemi aracılığıyla Azure Haritalar kaynağı oluştururken sağlanan paylaşılan bir anahtardır.

Bu anahtarla, tüm uygulamalar tüm REST API'lerine erişim yetkisine sahip olur. Başka bir deyişle, bunlar şu anda verildikleri hesabın ana anahtarları olarak değerlendirilebilir.

Herkese açık uygulamalar için önerimiz, bu anahtarın güvenli bir şekilde depolanabileceği Azure Haritalar REST API'lerinin sunucudan sunucuya erişiminin kullanılmasıdır.

Type: apiKey
In: header

SAS Token

Bu paylaşılan erişim imzası belirteci, Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzlemi aracılığıyla Azure Haritalar kaynağındaki SAS listeleme işleminden oluşturulur.

Bu belirteçle, tüm uygulamalar Azure rol tabanlı erişim denetimleri ve belirli bir belirteç için kullanım süre sonu, oran ve bölgeler için ayrıntılı denetim ile erişim yetkisine sahip olur. Başka bir deyişle SAS Belirteci, uygulamaların paylaşılan anahtardan daha güvenli bir şekilde erişimi denetlemesine izin vermek için kullanılabilir.

Herkese açık uygulamalar için önerimiz, işleme kötüye kullanımını sınırlamak ve SAS Belirtecini düzenli olarak yenilemek için Harita hesabı kaynağında izin verilen kaynakların belirli bir listesini yapılandırmayı önermektedir.

Type: apiKey
In: header

Örnekler

PostClosestPoint

Sample Request

POST https://us.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&lat=47.622942&lon=-122.316456

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1001
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -105.02860293715861,
          40.51615340677395
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1002
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -105.02860381672178,
          40.51599099003731
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1003
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -105.02812292879467,
          40.51605867808856
        ]
      }
    }
  ]
}

Sample Response

{
  "summary": {
    "sourcePoint": {
      "lat": 47.622942,
      "lon": -122.316456
    },
    "udid": null,
    "information": "3 points processed in user data"
  },
  "result": [
    {
      "distanceInMeters": 1587492.66,
      "position": {
        "lat": 40.51615340677395,
        "lon": -105.02860293715861
      },
      "geometryId": "1001"
    }
  ]
}

Tanımlar

Name Description
ClosestPoint

En Yakın Nokta Sonuç Giriş Nesnesi

ClosestPointResponse

Bu nesne başarılı bir Uzamsal En Yakın Nokta çağrısından döndürülür

ClosestPointSummary

En Yakın Nokta Özeti nesnesi

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

ErrorDetail

Hata ayrıntısı.

ErrorResponse

Hata yanıtı

GeoJsonFeature

Geçerli GeoJSON Feature bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonFeatureCollection

Geçerli GeoJSON FeatureCollection bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonGeometry

Geçerli GeoJSON bir geometri nesnesi. Tür yedi geçerli GeoJSON geometri türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon ve GeometryCollection. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonGeometryCollection

Geçerli GeoJSON GeometryCollection bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonLineString

Geçerli GeoJSON LineString bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonMultiLineString

Geçerli GeoJSON MultiLineString bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonMultiPoint

Geçerli GeoJSON MultiPoint bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonMultiPolygon

Geçerli GeoJSON MultiPolygon bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonPoint

Geçerli GeoJSON Point bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

GeoJsonPolygon

Geçerli GeoJSON Polygon bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

JsonFormat

Yanıtın istenen biçimi. Yalnızca json biçim desteklenir.

LatLongPairAbbreviated

'lon' & 'lat' kısa adları kullanılarak enlem ve boylam olarak temsil edilen konum.

ClosestPoint

En Yakın Nokta Sonuç Giriş Nesnesi

Name Tür Description
distanceInMeters

number

Metre olarak kaynak noktadan en yakın noktaya olan uzaklık

geometryId

string

Benzersiz kimlik bir geometri tanımlar

position

LatLongPairAbbreviated

'lon' & 'lat' kısa adları kullanılarak enlem ve boylam olarak temsil edilen konum.

ClosestPointResponse

Bu nesne başarılı bir Uzamsal En Yakın Nokta çağrısından döndürülür

Name Tür Description
result

ClosestPoint[]

En Yakın Nokta Sonuç Dizisi

summary

ClosestPointSummary

En Yakın Nokta Özeti nesnesi

ClosestPointSummary

En Yakın Nokta Özeti nesnesi

Name Tür Description
information

string

Bilgiler işleniyor

sourcePoint

LatLongPairAbbreviated

'lon' & 'lat' kısa adları kullanılarak enlem ve boylam olarak temsil edilen konum.

udid

string

Karşıya yüklenen içerik için benzersiz bir veri kimliği (udid)

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

Name Tür Description
info

object

Ek bilgiler.

type

string

Ek bilgi türü.

ErrorDetail

Hata ayrıntısı.

Name Tür Description
additionalInfo

ErrorAdditionalInfo[]

Hata ek bilgileri.

code

string

Hata kodu.

details

ErrorDetail[]

Hata ayrıntıları.

message

string

Hata iletisi.

target

string

Hata hedefi.

ErrorResponse

Hata yanıtı

Name Tür Description
error

ErrorDetail

Hata nesnesi.

GeoJsonFeature

Geçerli GeoJSON Feature bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
featureType

string

Özelliğin türü. Değer, geçerli özelliğin parçası olduğu veri modeline bağlıdır. Bazı veri modellerinin değeri boş olabilir.

geometry GeoJsonGeometry:

Geçerli GeoJSON bir geometri nesnesi. Tür yedi geçerli GeoJSON geometri türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon ve GeometryCollection. Ayrıntılar için lütfen RFC 7946'ya bakın.

id

string

Özelliğin tanımlayıcısı.

type string:

Feature

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonFeatureCollection

Geçerli GeoJSON FeatureCollection bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
features

GeoJsonFeature[]

Geçerli GeoJSON Feature nesnelerin listesini içerir.

type string:

FeatureCollection

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonGeometry

Geçerli GeoJSON bir geometri nesnesi. Tür yedi geçerli GeoJSON geometri türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon ve GeometryCollection. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
type

GeoJsonObjectType

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonGeometryCollection

Geçerli GeoJSON GeometryCollection bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
geometries GeoJsonGeometry[]:

Geçerli GeoJSON geometri nesnelerinin listesini içerir. GeoJSON'daki koordinatların x, y sırada (boylam, enlem) olduğunu unutmayın.

type string:

GeometryCollection

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonLineString

Geçerli GeoJSON LineString bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
coordinates

number[]

Geometrinin GeoJson LineString koordinatları.

type string:

LineString

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonMultiLineString

Geçerli GeoJSON MultiLineString bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
coordinates

number[]

Geometrinin GeoJson MultiLineString koordinatları.

type string:

MultiLineString

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonMultiPoint

Geçerli GeoJSON MultiPoint bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
coordinates

number[]

Geometrinin GeoJson MultiPoint koordinatları.

type string:

MultiPoint

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonMultiPolygon

Geçerli GeoJSON MultiPolygon bir nesne türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
coordinates

number[]

Geçerli GeoJSON Polygon nesnelerin listesini içerir. GeoJSON'daki koordinatların x, y sırada (boylam, enlem) olduğunu unutmayın.

type string:

MultiPolygon

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonPoint

Geçerli GeoJSON Point bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
coordinates

number[]

A Position , iki veya daha fazla öğe içeren bir sayı dizisidir. İlk iki öğe boylam ve enlemdir ve tam olarak bu sıradadır. Rakım/Yükseklik isteğe bağlı bir üçüncü öğedir. Ayrıntılar için lütfen RFC 7946'ya bakın.

type string:

Point

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

GeoJsonPolygon

Geçerli GeoJSON Polygon bir geometri türü. Ayrıntılar için lütfen RFC 7946'ya bakın.

Name Tür Description
coordinates

number[]

Geometri türü için GeoJson Polygon koordinatlar.

type string:

Polygon

GeoJSON Türünü belirtir. Dokuz geçerli GeoJSON nesne türünden biri olmalıdır: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature ve FeatureCollection.

JsonFormat

Yanıtın istenen biçimi. Yalnızca json biçim desteklenir.

Name Tür Description
json

string

JavaScript Nesne Gösterimi Veri Değişim Biçimi

LatLongPairAbbreviated

'lon' & 'lat' kısa adları kullanılarak enlem ve boylam olarak temsil edilen konum.

Name Tür Description
lat

number

Latitude özelliği

lon

number

Boylam özelliği