Mengkueri himpunan data menggunakan Layanan Fitur Web

Artikel ini menjelaskan cara mengkueri himpunan data Azure Peta Creator menggunakan Web Feature Service (WFS). Anda dapat menggunakan API WFS untuk mengkueri semua koleksi fitur atau koleksi tertentu dalam himpunan data. Misalnya, Anda dapat menggunakan WFS untuk menemukan semua ruang pertemuan berukuran sedang di gedung dan lantai tertentu.

Prasyarat

Artikel ini menggunakan sampel peta dalam ruangan yang sama seperti yang digunakan dalam Tutorial: Menggunakan Pembuat untuk membuat peta dalam ruangan.

Penting

  • Artikel ini menggunakan URL geografis us.atlas.microsoft.com. Jika layanan Pembuat tidak dibuat di Amerika Serikat, Anda harus menggunakan URL geografis yang berbeda. Untuk informasi selengkapnya, lihat Mengakses ke Layanan Pembuat.
  • Dalam contoh URL dalam artikel ini, Anda harus mengganti:
    • {Azure-Maps-Subscription-key}dengan kunci langganan Azure Peta Anda.
    • {datasetId} dengan yang datasetId diperoleh di bagian Periksa status pembuatan himpunan data dari tutorial Gunakan Pembuat untuk membuat peta dalam ruangan.

Kueri untuk koleksi fitur

Untuk mengkueri semua koleksi dalam himpunan data Anda, buat Permintaan HTTP GET baru:

Masukkan URL berikut ke API WFS. Permintaan harus terlihat seperti URL berikut:

https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0

Isi tanggapan dikembalikan dalam format GeoJSON dan berisi semua koleksi dalam himpunan data. Untuk kemudahan, contoh di sini hanya memperlihatkan koleksi unit. Untuk melihat contoh yang berisi semua koleksi, lihat WFS Describe Collections API. Untuk mempelajari selengkapnya tentang koleksi apa pun, Anda dapat memilih salah satu URL di dalam elemen links.

{
"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"
            }
        ]
    },

Kueri untuk koleksi fitur unit

Bagian ini menunjukkan kueri API WFS untuk unit koleksi fitur.

Untuk mengkueri pengumpulan unit di himpunan data Anda, buat Permintaan HTTP GET baru:

https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=2.0

Setelah tanggapan kembali, salin fitur id untuk salah satu dari fitur unit. Dalam contoh berikut, fitur id adalah "UNIT26". Gunakan "UNIT26" sebagai fitur id Anda saat Memperbarui status fitur.

{
    "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": ""
        }, {"..."}
    ]
}

Langkah berikutnya