Kurz: Nastavení monitorované geografické zóny pomocí Azure Maps

v tomto kurzu se seznámíte se základy vytváření a používání Azure Mapsch geografických služeb.

Představte si následující scénář:

Správce staveniště musí sledovat zařízení při jeho vstupu a opustí hranice oblasti stavby. Pokaždé, když se nějaké zařízení ukončí nebo vstoupí do těchto hraničních okruhů, pošle se na Operations Manager e-mailové oznámení.

Azure Maps poskytuje řadu služeb pro podporu sledování zařízení vstupujících do oblasti stavby a jejich opuštění. V tomto kurzu:

  • Upload geograficky geografická data , která definují oblasti staveniště, které chcete monitorovat. použijete rozhraní Data Upload API k nahrávání geografických zón jako souřadnic mnohoúhelníku na váš Azure Maps účet.
  • Nastavte dvě Aplikace logiky , které po aktivaci odesílají e-mailová oznámení do výrobního serveru Operations Manageru, když zařízení vstoupí do oblasti geografického uspořádání a ukončí ho.
  • pomocí Azure Event Grid se můžete přihlásit k odběru událostí pro Azure Maps geografické ploty. Nastavili jste dva odběry událostí Webhooku, které volají koncové body HTTP definované ve vašich dvou aplikacích logiky. Aplikace logiky pak pošle vhodná e-mailová oznámení o přemístění nebo zapisování geografického zařízení.
  • Využijte Hledat geografické ploty získat rozhraní API pro příjem oznámení v případě, že se nějaké zařízení ukončí a pak vstoupí do oblastí geografické oblasti.

Požadavky

  1. vytvořte účet Azure Maps.
  2. Získejte primární klíč předplatného, označovaný také jako primární klíč nebo klíč předplatného.

V tomto kurzu se používá aplikace po aplikaci, ale můžete použít jiné vývojové prostředí API.

Upload geografických dat geografického zápisu

V tomto kurzu budete nahrávat data geografických zón JSON, která obsahují FeatureCollection . FeatureCollectionObsahuje dvě geografické ploty, které definují mnohoúhelníkové oblasti v rámci staveniště. První Geografické ohraničení nemá žádné vypršení času ani omezení. Druhý se může dotazovat jenom v pracovní době (9:00 dop. 5:00 odp v časovém pásmu tichomořského) a po 1. lednu 2022 už nebude platný. Další informace o formátu geografického JSON najdete v tématu geografická data geografických dat.

Tip

Data monitorování geografických zón můžete kdykoli aktualizovat. další informace najdete v tématu rozhraní Data Upload API.

Postup při nahrávání geografických dat pro geografickou ochranu geografických zón:

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , jako je například post data upload.

  4. Vyberte metodu post http.

  5. Zadejte následující adresu URL. Požadavek by měl vypadat jako následující adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného):

    https://us.atlas.microsoft.com/mapData?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0&dataFormat=geojson
    

    geojsonParametr v cestě URL představuje formát dat odesílaných dat.

  6. Vyberte kartu tělo .

  7. V rozevíracích seznamech vyberte raw a JSON.

  8. Zkopírujte následující data o zápisu dat a vložte je do okna text :

    {
       "type": "FeatureCollection",
       "features": [
         {
           "type": "Feature",
           "geometry": {
             "type": "Polygon",
             "coordinates": [
               [
                 [
                   -122.13393688201903,
                   47.63829579223815
                 ],
                 [
                   -122.13389128446579,
                   47.63782047131512
                 ],
                 [
                   -122.13240802288054,
                   47.63783312249837
                 ],
                 [
                   -122.13238388299942,
                   47.63829037035086
                 ],
                 [
                   -122.13393688201903,
                   47.63829579223815
                 ]
               ]
             ]
           },
           "properties": {
             "geometryId": "1"
           }
         },
         {
           "type": "Feature",
           "geometry": {
             "type": "Polygon",
             "coordinates": [
               [
                 [
                   -122.13374376296996,
                   47.63784758098976
                 ],
                 [
                   -122.13277012109755,
                   47.63784577367854
                 ],
                 [
                   -122.13314831256866,
                   47.6382813338708
                 ],
                 [
                   -122.1334782242775,
                   47.63827591198201
                 ],
                 [
                   -122.13374376296996,
                   47.63784758098976
                 ]
               ]
             ]
           },
           "properties": {
             "geometryId": "2",
             "validityTime": {
             "expiredTime": "2022-01-01T00:00:00",
             "validityPeriod": [
                 {
                   "startTime": "2020-07-15T16:00:00",
                   "endTime": "2020-07-15T24:00:00",
                   "recurrenceType": "Daily",
                   "recurrenceFrequency": 1,
                   "businessDayOnly": true
                 }
               ]
             }
           }
         }
       ]
    }
    
  9. Vyberte Odeslat.

  10. V okně odpověď vyberte kartu hlavičky .

  11. Zkopírujte hodnotu klíče umístění operace , což je status URL . Použijeme status URL ke kontrole stavu nahrání dat z rámečku JSON.

    https://us.atlas.microsoft.com/mapData/operations/{operationId}?api-version=2.0
    

Ověřte stav nahrání dat ve službě data a zjišťování.

Chcete-li ověřit stav dat typu "data a třídy. JSON" a načíst jeho jedinečné ID ( udid ):

  1. Vyberte možnost pro novou položku.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. zadejte název žádosti , například stav získat Data Upload.

  4. Vyberte metodu Get http.

  5. zadejte status URL kód, který jste zkopírovali v Upload geograficky geografická data geografickéhoformátu. Požadavek by měl vypadat jako následující adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného):

    https://us.atlas.microsoft.com/mapData/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Vyberte Odeslat.

  7. V okně odpověď vyberte kartu hlavičky .

  8. Zkopírujte hodnotu klíče umístění prostředku , což je resource location URL . resource location URLObsahuje jedinečný identifikátor ( udid ) nahraných dat. Uložte si udid dotaz k rozhraní API získat geografickou ochranou v poslední části tohoto kurzu.

    Zkopírujte adresu URL umístění prostředku.

Volitelné Načtení metadat pro data typu injson

Můžete načíst metadata z nahraných dat. Metadata obsahují informace, jako je adresa URL umístění prostředku, datum vytvoření, aktualizované datum, velikost a stav odeslání.

Načtení metadat obsahu:

  1. Vyberte možnost pro novou položku.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. zadejte název žádosti , například získat Data Upload Metadata.

  4. Vyberte metodu Get http.

  5. Zadejte, resource Location URL kam jste zkopírovali, a Ověřte stav nahrání dat ve službě injson. Požadavek by měl vypadat jako následující adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného):

    https://us.atlas.microsoft.com/mapData/metadata/{udid}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. V okně odpověď vyberte kartu tělo . Metadata by měla vypadat jako následující fragment JSON:

    {
        "udid": "{udid}",
        "location": "https://us.atlas.microsoft.com/mapData/6ebf1ae1-2a66-760b-e28c-b9381fcff335?api-version=2.0",
        "created": "5/18/2021 8:10:32 PM +00:00",
        "updated": "5/18/2021 8:10:37 PM +00:00",
        "sizeInBytes": 946901,
        "uploadStatus": "Completed"
    }
    

Vytváření pracovních postupů v Azure Logic Apps

V dalším kroku vytvoříme dva koncové body Aplikace logiky , které aktivují e-mailové oznámení.

Vytvoření Logic Apps:

  1. Přihlaste se k webu Azure Portal.

  2. V levém horním rohu Azure Portal vyberte vytvořit prostředek.

  3. Do pole Hledat na Marketplace zadejte Aplikace logiky.

  4. Z výsledků vyberte Aplikace logiky. Potom vyberte Vytvořit.

  5. Na stránce Aplikace logiky zadejte následující hodnoty:

    • Předplatné , které chcete použít pro tuto aplikaci logiky.
    • Název skupiny prostředků pro tuto aplikaci logiky Můžete zvolit Vytvoření nové nebo použití existující skupiny prostředků.
    • Název aplikace logiky vaší aplikace logiky V takovém případě použijte Equipment-Enter jako název.

    Pro účely tohoto kurzu ponechte všechny ostatní hodnoty na jejich výchozím nastavení.

    Snímek obrazovky s vytvořením aplikace logiky

  6. Vyberte Zkontrolovat a vytvořit. Zkontrolujte nastavení a vyberte vytvořit.

  7. Po úspěšném dokončení nasazení vyberte Přejít k prostředku.

  8. V Návrháři aplikace logiky se posuňte dolů k části začít s běžným triggerem . Vyberte, kdy se přijme požadavek HTTP.

    Snímek obrazovky s vytvořením triggeru HTTP aplikace logiky

  9. V pravém horním rohu návrháře aplikace logiky vyberte Uložit. Adresa URL příspěvku http se vygeneruje automaticky. Uložte adresu URL. Budete ho potřebovat v další části, abyste vytvořili koncový bod události.

    Snímek adresy URL požadavku HTTP aplikace logiky a formátu JSON

  10. Vyberte + Nový krok.

  11. Do vyhledávacího pole zadejte outlook.com email. V seznamu Akce přejděte dolů a vyberte Odeslat e-mail (v2).

    Snímek obrazovky s vytvořením návrháře aplikace logiky

  12. přihlaste se ke svému účtu Outlook. Nezapomeňte vybrat Ano , pokud chcete, aby aplikace logiky měla přístup k účtu. Vyplňte pole k odeslání e-mailu.

    Snímek obrazovky vytvoření kroku odeslání e-mailu aplikace logiky

    Tip

    geometryId deviceId V e-mailových oznámeních můžete načíst data o neodpověďech na data typu injson, jako je například nebo. Logic Apps můžete nakonfigurovat pro čtení dat odesílaných Event Grid. Informace o tom, jak nakonfigurovat Logic Apps pro využívání a předávání dat událostí do e-mailových oznámení, najdete v tématu kurz: odesílání e-mailových oznámení o událostech Azure IoT Hub pomocí Event Grid a Logic Apps.

  13. V levém horním rohu návrháře aplikace logiky vyberte Uložit.

  14. Pokud chcete vytvořit druhou aplikaci logiky, která upozorní správce, když zařízení opustí staveniště, opakujte stejný postup. Pojmenujte aplikaci logiky Equipment-Exit .

vytvoření předplatných událostí Azure Maps

Azure Maps podporuje tři typy událostí. V tomto kurzu vytvoříme odběry následujících dvou událostí:

  • Události zadávání geografických zón
  • Události ukončení geografického výstupu

Pokud chcete vytvořit konec geografické a zadat odběr události:

  1. v Azure Maps účtu vyberte předplatná.

  2. Vyberte název vašeho předplatného.

  3. V nabídce nastavení vyberte možnost události.

    snímek obrazovky s přechodem na události Azure Maps účtu

  4. Na stránce události vyberte + předplatné události.

    snímek obrazovky s vytvořením předplatného Azure Mapsch událostí

  5. Na stránce vytvořit odběr události zadejte následující hodnoty:

    • Název odběru události
    • Schéma události by mělo být Event Grid schématu.
    • Název systémového tématu pro toto předplatné události, v tomto případě je to Contoso-Construction .
    • Pro Filtr na typy událostí vyberte Geofence Entered jako typ události.
    • Jako Typ koncového bodu vyberte Web Hook .
    • Pro koncový bod zkopírujte adresu URL post protokolu HTTP pro aplikaci logiky Zadejte koncový bod, který jste vytvořili v předchozí části. Pokud jste zapomněli ho uložit, můžete se vrátit zpátky do návrháře aplikace logiky a zkopírovat ho z kroku triggeru HTTP.

    snímek obrazovky s podrobnostmi o předplatném Azure Mapsch událostí

  6. Vyberte Vytvořit.

  7. Opakujte stejný postup pro událost ukončení geografické zóny. Ujistěte se, že jste zvolili Geofence Exited Typ události.

Použití rozhraní API pro prostorovou geografickou práci

V dalším kroku použijeme rozhraní API pro prostorové geografické ploty k posílání e-mailových oznámení do Operations Manageru, když některý ze zařízení vstoupí nebo ukončuje geografické ploty.

Každý kus vybavení má deviceId . V tomto kurzu sledujete jedno vybavení s jedinečným ID device_1 .

Následující diagram znázorňuje pět umístění zařízení v průběhu času počínaje počátečním umístěním, které je někde mimo okolní geografické oblasti. Pro účely tohoto kurzu není umístění začátku definováno, protože v tomto umístění nebudete dotazováni na zařízení.

Při dotazování rozhraní API pro prostorové geografické rozmístění pomocí umístění zařízení, které označuje počáteční položku nebo ukončení geografické oblasti, Event Grid volá příslušný koncový bod aplikace logiky k odeslání e-mailového oznámení do nástroje Operations Manager.

Každý z následujících oddílů provede požadavky rozhraní API pomocí pěti různých souřadnic umístění tohoto zařízení.

Diagram mapy geografického rozvržení v Azure Maps

Umístění zařízení 1 (47.638237,-122,132483)

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , například umístění 1.

  4. Vyberte metodu Get http.

  5. Zadejte následující adresu URL. požadavek by měl vypadat nějak takto: adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného a {udid} s udid vámi uloženou v sekci Upload geografická data geografického zápisu datv angličtině).

    https://atlas.microsoft.com/spatial/geofence/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&deviceId=device_01&udid={udid}&lat=47.638237&lon=-122.1324831&searchBuffer=5&isAsync=True&mode=EnterAndExit
    
  6. Vyberte Odeslat.

  7. Odpověď by měla vypadat jako následující zlomek pro podobné JSON:

    {
      "geometries": [
        {
          "deviceId": "device_1",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "1",
          "distance": -999.0,
          "nearestLat": 47.638291,
          "nearestLon": -122.132483
        },
        {
          "deviceId": "device_1",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "2",
          "distance": 999.0,
          "nearestLat": 47.638053,
          "nearestLon": -122.13295
        }
      ],
      "expiredGeofenceGeometryId": [],
      "invalidPeriodGeofenceGeometryId": [],
      "isEventPublished": true
    }
    

V předchozí geografické odpovědi se záporná vzdálenost od geografického umístění hlavní lokality znamená, že je zařízení uvnitř geografické sítě. Kladná vzdálenost od geografického umístění dílčí lokality znamená, že je zařízení mimo geografickou lokalitu. Vzhledem k tomu, že je toto zařízení poprvé umístěno v geografickém umístění hlavní lokality, isEventPublished je parametr nastaven na hodnotu true . Operations Manager dostane e-mailové oznámení, které zařízení dostalo do geografické zóny.

Umístění 2 (47.63800,-122,132531)

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , například umístění 2.

  4. Vyberte metodu Get http.

  5. Zadejte následující adresu URL. požadavek by měl vypadat nějak takto: adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného a {udid} s udid vámi uloženou v sekci Upload geografická data geografického zápisu datv angličtině).

    https://atlas.microsoft.com/spatial/geofence/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&deviceId=device_01&udId={udId}&lat=47.63800&lon=-122.132531&searchBuffer=5&isAsync=True&mode=EnterAndExit
    
  6. Vyberte Odeslat.

  7. Odpověď by měla vypadat jako následující zlomek pro podobné JSON:

    {
      "geometries": [
        {
          "deviceId": "device_01",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "1",
          "distance": -999.0,
          "nearestLat": 47.637997,
          "nearestLon": -122.132399
        },
        {
          "deviceId": "device_01",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "2",
          "distance": 999.0,
          "nearestLat": 47.63789,
          "nearestLon": -122.132809
        }
      ],
      "expiredGeofenceGeometryId": [],
      "invalidPeriodGeofenceGeometryId": [],
      "isEventPublished": false
    }
    

V předchozí odpovědi typu geografická odpověď se zařízení nacházelo v geografickém geografickém umístění a ještě nevstoupilo do geografické lokality. V důsledku toho isEventPublished je parametr nastaven na hodnotu false a Operations Manager neobdrží žádná e-mailová oznámení.

Umístění 3 (47.63810783315048,-122.13336020708084)

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , jako je například Location 3.

  4. Vyberte metodu Get http.

  5. Zadejte následující adresu URL. požadavek by měl vypadat nějak takto: adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného a {udid} s udid vámi uloženou v sekci Upload geografická data geografického zápisu datv angličtině).

      https://atlas.microsoft.com/spatial/geofence/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&deviceId=device_01&udid={udid}&lat=47.63810783315048&lon=-122.13336020708084&searchBuffer=5&isAsync=True&mode=EnterAndExit
    
  6. Vyberte Odeslat.

  7. Odpověď by měla vypadat jako následující zlomek pro podobné JSON:

    {
      "geometries": [
        {
          "deviceId": "device_01",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "1",
          "distance": -999.0,
          "nearestLat": 47.638294,
          "nearestLon": -122.133359
        },
        {
          "deviceId": "device_01",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "2",
          "distance": -999.0,
          "nearestLat": 47.638161,
          "nearestLon": -122.133549
        }
      ],
      "expiredGeofenceGeometryId": [],
      "invalidPeriodGeofenceGeometryId": [],
      "isEventPublished": true
    }
    

V předchozí odpovědi typu geografická odpověď byla zařízení v geografickém geografickém umístění, ale byla zapsána geografická lokalita. V důsledku toho isEventPublished je parametr nastaven na hodnotu true . Operations Manager dostane e-mailové oznámení oznamující, že zařízení dostalo geografickou ochranu.

Poznámka

Pokud se zařízení přesunulo do podřízené lokality po pracovní době, nebude se žádná událost publikovat a Operations Manageru by nedostal žádná oznámení.

Umístění 4 (47.637988,-122,1338344)

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , například umístění 4.

  4. Vyberte metodu Get http.

  5. Zadejte následující adresu URL. požadavek by měl vypadat nějak takto: adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného a {udid} s udid vámi uloženou v sekci Upload geografická data geografického zápisu datv angličtině).

    https://atlas.microsoft.com/spatial/geofence/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&deviceId=device_01&udid={udid}&lat=47.637988&userTime=2023-01-16&lon=-122.1338344&searchBuffer=5&isAsync=True&mode=EnterAndExit
    
  6. Vyberte Odeslat.

  7. Odpověď by měla vypadat jako následující zlomek pro podobné JSON:

    {
      "geometries": [
        {
          "deviceId": "device_01",
          "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
          "geometryId": "1",
          "distance": -999.0,
          "nearestLat": 47.637985,
          "nearestLon": -122.133907
        }
      ],
      "expiredGeofenceGeometryId": [
        "2"
      ],
      "invalidPeriodGeofenceGeometryId": [],
      "isEventPublished": false
    }
    

V předchozí odpovědi na geografickou odpověď bylo zařízení v geografickém geografickém umístění, ale ukončilo geografickou lokalitu. Všimněte si však, že userTime hodnota je po expiredTime Definování definice v geograficky dat. V důsledku toho isEventPublished je parametr nastaven na hodnotu false a Operations Manager neobdrží e-mailové oznámení.

Umístění 5 (47,63799,-122,134505)

  1. V aplikaci pro odesílání vyberte Nový.

  2. V okně vytvořit nové vyberte požadavek HTTP.

  3. Zadejte název žádosti , například umístění 5.

  4. Vyberte metodu Get http.

  5. Zadejte následující adresu URL. požadavek by měl vypadat nějak takto: adresa URL (nahraďte {Azure-Maps-Primary-Subscription-key} primárním klíčem předplatného a {udid} s udid vámi uloženou v sekci Upload geografická data geografického zápisu datv angličtině).

    https://atlas.microsoft.com/spatial/geofence/json?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=1.0&deviceId=device_01&udid={udid}&lat=47.63799&lon=-122.134505&searchBuffer=5&isAsync=True&mode=EnterAndExit
    
  6. Vyberte Odeslat.

  7. Odpověď by měla vypadat jako následující zlomek pro podobné JSON:

    {
      "geometries": [
      {
        "deviceId": "device_01",
        "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
        "geometryId": "1",
        "distance": -999.0,
        "nearestLat": 47.637985,
        "nearestLon": -122.133907
      },
      {
        "deviceId": "device_01",
        "udId": "64f71aa5-bbee-942d-e351-651a6679a7da",
        "geometryId": "2",
        "distance": 999.0,
        "nearestLat": 47.637945,
        "nearestLon": -122.133683
      }
      ],
      "expiredGeofenceGeometryId": [],
      "invalidPeriodGeofenceGeometryId": [],
      "isEventPublished": true
    }
    

V předchozí odpovědi typu geografická odpověď byla zařízení ukončena geografickou lokalitou. V důsledku toho isEventPublished je parametr nastaven na hodnotu true a Operations Manager dostane e-mailové oznámení oznamující, že se zařízení ukončilo geografickou ochranou.

Můžete také Odeslat e-mailová oznámení pomocí Event Grid a Logic Apps a pomocí Azure Mapsu kontrolovat podporované obslužné rutiny událostí v Event Grid .

Vyčištění prostředků

Nejsou k dispozici žádné prostředky, které vyžadují vyčištění.

Další kroky