GeoJSON verilerini coğrafi olarak sınırlama
Azure Haritalar GET Geofence ve POST Geofence API'si, sağlanan bir bölge veya çit kümesine göre bir koordinatın yakınlığını almanıza olanak sağlar. Bu makalede, Azure Haritalar GET ve POST API'sinde kullanılabilecek coğrafi konum verilerinin nasıl hazırlandığının ayrıntıları verilmektedir.
Nesne ve FeatureCollection
Nesne biçiminde temsil edilen coğrafi bölge veya bölge sınırı kümesine ilişkin Feature
veriler rfc7946'daGeoJSON
tanımlanır. Buna ek olarak:
- GeoJSON Nesnesi türü bir
Feature
Nesne veyaFeatureCollection
Nesne olabilir. - Geometri Nesnesi türü ,
Point
,MultiPoint
,LineString
,MultiLineString
,Polygon
,MultiPolygon
veGeometryCollection
olabilir. - Tüm özellik özellikleri, coğrafi konumu tanımlamak için kullanılan bir
geometryId
içermelidir. - , ,
MultiPoint
,LineString
MultiLineString
radius
özelliğiPoint
özellikleri içermelidir.radius
değeri metre cinsinden ölçülür,radius
değer 1 ile 10000 arasında değişir. - ve
multipolygon
geometri türüne sahippolygon
özelliğin radius özelliği yoktur. validityTime
, kullanıcının coğrafi konum verileri için süresi dolan zamanı ve geçerlilik süresini ayarlamasına olanak tanıyan isteğe bağlı bir özelliktir. Belirtilmezse, verilerin süresi hiçbir zaman dolmaz ve her zaman geçerlidir.expiredTime
, coğrafi sınırlama verilerinin son kullanma tarihi ve saatidir. İstekteki değeriuserTime
bu değerden sonraysa, ilgili coğrafi konum verileri süresi dolmuş veriler olarak kabul edilir ve sorgulanmaz. Bunun üzerine, bu coğrafi verinin geometryId değeri, coğrafi konum yanıtı içindeki diziye dahilexpiredGeofenceGeometryId
edilir.validityPeriod
, coğrafi konumun geçerlilik süresi aralığının listesidir. İstekteki değerininuserTime
geçerlilik süresinin dışında olması durumunda ilgili coğrafi konum verileri geçersiz olarak kabul edilir ve sorgulanmaz. Bu coğrafi konum verilerinin geometryId değeri, coğrafi konum yanıtı içindeki diziyeinvalidPeriodGeofenceGeometryId
dahil edilir. Aşağıdaki tabloda validityPeriod öğesinin özellikleri gösterilmektedir.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
startTime | Datetime | true | Geçerlilik döneminin başlangıç tarihi saati. |
endTime | Datetime | true | Geçerlilik döneminin bitiş tarihi saati. |
recurrenceType | Dize | yanlış | Dönemin yinelenme türü. Değer , , Weekly Monthly veya Yearly olabilirDaily . Varsayılan değer Daily olarak belirlenmiştir. |
businessDayOnly | Boolean | yanlış | Verilerin yalnızca iş günlerinde geçerli olup olmadığını belirtin. Varsayılan değer false olarak belirlenmiştir. |
- Tüm koordinat değerleri içinde tanımlanan
WGS84
[boylam, enlem] olarak temsil edilir. - , ,
MultiLineString
MultiPolygon
veyaGeometryCollection
içerenMultiPoint
her Özellik için özellikler tüm öğelere uygulanır. örneğin: içindekiMultiPoint
tüm noktalar aynı yarıçapı kullanarak birden çok daire coğrafi bölge oluşturur. - Nokta daire senaryosunda, GeoJSON geometrilerini genişletme konusunda ayrıntılı olarak açıklanan özelliklere sahip bir
Point
geometri nesnesi kullanılarak daire geometrisi temsil edilebilir.
Aşağıda, merkez noktası ve yarıçap kullanarak içinde daire jeofence geometrisi GeoJSON
olarak temsil edilen bir coğrafi bölge için örnek istek gövdesi verilmiştir. Coğrafi bölge verilerinin geçerli süresi, hafta sonu dışında her gün tekrarlanan, 09:00 ile 17:00 arasında başlar 2018-10-22
. expiredTime
, istekte değerinden sonraysa userTime
2019-01-01
bu coğrafi konum verilerinin süresinin dolduğu kabul edildiğini gösterir.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId" : "1",
"subType": "Circle",
"radius": 500,
"validityTime":
{
"expiredTime": "2019-01-01T00:00:00",
"validityPeriod": [
{
"startTime": "2018-10-22T09:00:00",
"endTime": "2018-10-22T17:00:00",
"recurrenceType": "Daily",
"recurrenceFrequency": 1,
"businessDayOnly": true
}
]
}
}
}