Dotazování datových sad pomocí služby webových funkcí
Tento článek popisuje, jak dotazovat datové sady Azure Mapy Creator pomocí služby webových funkcí (WFS). Rozhraní WFS API můžete použít k dotazování na všechny kolekce funkcí nebo konkrétní kolekci v rámci datové sady. WFS můžete například použít k vyhledání všech místností pro schůzky střední velikosti v konkrétní budově a úrovni podlahy.
Požadavky
- Úspěšné dokončení kurzu: Vytvoření vnitřních map pomocí Creatoru
- Získané
datasetId
v části Kontrola stavu vytvoření datové sady v nástroji Use Creator k vytváření vnitřních map .
Tento článek používá stejnou ukázkovou vnitřní mapu jako v kurzu: Použití Creatoru k vytváření vnitřních map.
Důležité
- Tento článek používá zeměpisnou
us.atlas.microsoft.com
adresu URL. Pokud se služba Creator nevytvořila v USA, musíte použít jinou geografickou adresu URL. Další informace najdete v tématu Přístup ke službám Creator Services. - V příkladech adres URL v tomto článku budete muset nahradit:
{Azure-Maps-Subscription-key}
pomocí klíče předplatného Azure Mapy.{datasetId}
datasetId
se získáním v části Kontrola stavu vytvoření datové sady v nástroji Use Creator k vytvoření kurzu vnitřních map.
Dotaz na kolekce funkcí
Pokud chcete dotazovat všechny kolekce v datové sadě, vytvořte nový požadavek HTTP GET:
Do rozhraní WFS API zadejte následující adresu URL. Požadavek by měl vypadat jako následující adresa URL:
https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0
Tělo odpovědi se vrátí ve formátu GeoJSON a obsahuje všechny kolekce v datové sadě. Pro zjednodušení se v tomto příkladu unit
zobrazí jenom kolekce. Příklad, který obsahuje všechny kolekce, najdete v tématu WFS Describe Collections API. Pokud chcete získat další informace o jakékoli kolekci, můžete vybrat kteroukoli z adres URL uvnitř links
prvku.
{
"collections": [
{
"name": "unit",
"description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the is_open_area attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If is_open_area attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a line_element or area_element with is_obstruction equal to true.",
"links": [
{
"href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/definition?api-version=1.0",
"rel": "describedBy",
"title": "Metadata catalogue for unit"
},
{
"href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?api-version=1.0",
"rel": "data",
"title": "unit"
}
{
"href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit?api-version=1.0",
"rel": "self",
"title": "Metadata catalogue for unit"
}
]
},
Dotaz na kolekci funkcí jednotek
Tato část ukazuje dotazování rozhraní WFS API pro kolekci unit
funkcí.
Pokud chcete dotazovat kolekci jednotek v datové sadě, vytvořte nový požadavek HTTP GET:
https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0
Po vrácení odpovědi zkopírujte funkci id
pro jednu z unit
těchto funkcí. V následujícím příkladu je funkce id
"UNIT26". Při aktualizaci stavu funkce použijte "UNIT26" jako funkce.id
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": ["..."]
},
"properties": {
"original_id": "b7410920-8cb0-490b-ab23-b489fd35aed0",
"category_id": "CTG8",
"is_open_area": true,
"navigable_by": [
"pedestrian"
],
"route_through_behavior": "allowed",
"level_id": "LVL14",
"occupants": [],
"address_id": "DIR1",
"name": "157"
},
"id": "UNIT26",
"featureType": ""
}, {"..."}
]
}