# Візуалізація даних про місцезнаходження  > Скетчноут від [Nitya Narasimhan](https://github.com/nitya). Натисніть на зображення, щоб побачити його у більшому розмірі. Це відео надає огляд Azure Maps з IoT — сервісу, який буде розглянуто в цьому уроці. [](https://www.youtube.com/watch?v=P5i2GFTtb2s) > 🎥 Натисніть на зображення вище, щоб переглянути відео ## Тест перед лекцією [Тест перед лекцією](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/25) ## Вступ У попередньому уроці ви дізналися, як отримувати GPS-дані з ваших сенсорів і зберігати їх у хмарному контейнері за допомогою безсерверного коду. Тепер ви дізнаєтеся, як візуалізувати ці точки на карті Azure. Ви навчитеся створювати карту на вебсторінці, ознайомитеся з форматом даних GeoJSON і дізнаєтеся, як використовувати його для нанесення всіх зібраних GPS-точок на вашу карту. У цьому уроці ми розглянемо: * [Що таке візуалізація даних](../../../../../3-transport/lessons/3-visualize-location-data) * [Сервіси карт](../../../../../3-transport/lessons/3-visualize-location-data) * [Створення ресурсу Azure Maps](../../../../../3-transport/lessons/3-visualize-location-data) * [Відображення карти на вебсторінці](../../../../../3-transport/lessons/3-visualize-location-data) * [Формат GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) * [Нанесення GPS-даних на карту за допомогою GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) > 💁 У цьому уроці буде використано невелику кількість HTML та JavaScript. Якщо ви хочете дізнатися більше про веброзробку за допомогою HTML та JavaScript, ознайомтеся з [Web development for beginners](https://github.com/microsoft/Web-Dev-For-Beginners). ## Що таке візуалізація даних Візуалізація даних, як випливає з назви, полягає у представленні даних у вигляді, який полегшує їх розуміння для людей. Зазвичай це асоціюється з діаграмами та графіками, але це будь-який спосіб графічного представлення даних, який допомагає людям не лише краще зрозуміти дані, але й приймати рішення. Розглянемо простий приклад — у проєкті ферми ви збирали дані про вологість ґрунту. Таблиця даних про вологість ґрунту, зібраних щогодини 1 червня 2021 року, може виглядати так: | Дата | Показник | | ---------------- | -------: | | 01/06/2021 00:00 | 257 | | 01/06/2021 01:00 | 268 | | 01/06/2021 02:00 | 295 | | 01/06/2021 03:00 | 305 | | 01/06/2021 04:00 | 325 | | 01/06/2021 05:00 | 359 | | 01/06/2021 06:00 | 398 | | 01/06/2021 07:00 | 410 | | 01/06/2021 08:00 | 429 | | 01/06/2021 09:00 | 451 | | 01/06/2021 10:00 | 460 | | 01/06/2021 11:00 | 452 | | 01/06/2021 12:00 | 420 | | 01/06/2021 13:00 | 408 | | 01/06/2021 14:00 | 431 | | 01/06/2021 15:00 | 462 | | 01/06/2021 16:00 | 432 | | 01/06/2021 17:00 | 402 | | 01/06/2021 18:00 | 387 | | 01/06/2021 19:00 | 360 | | 01/06/2021 20:00 | 358 | | 01/06/2021 21:00 | 354 | | 01/06/2021 22:00 | 356 | | 01/06/2021 23:00 | 362 | Для людини розуміння цих даних може бути складним. Це просто стіна чисел без жодного сенсу. Як перший крок до візуалізації цих даних, їх можна нанести на лінійний графік:  Це можна покращити, додавши лінію, яка вказує, коли автоматична система поливу була увімкнена при показнику вологості ґрунту 450:  Цей графік швидко показує не лише рівні вологості ґрунту, але й точки, коли система поливу була увімкнена. Графіки — це не єдиний інструмент для візуалізації даних. IoT-пристрої, які відстежують погоду, можуть мати веб- або мобільні додатки, які візуалізують погодні умови за допомогою символів, таких як хмарка для похмурих днів, хмарка з дощем для дощових днів тощо. Існує безліч способів візуалізації даних, деякі з них серйозні, інші — веселі. ✅ Подумайте про способи, якими ви бачили візуалізацію даних. Які з них були найзрозумілішими і дозволяли приймати рішення найшвидше? Найкращі візуалізації дозволяють людям швидко приймати рішення. Наприклад, стіна з датчиками, що показують різноманітні показники промислового обладнання, може бути складною для сприйняття, але миготливе червоне світло, коли щось йде не так, дозволяє людині швидко прийняти рішення. Іноді найкраща візуалізація — це миготливе світло! При роботі з GPS-даними найзрозумілішою візуалізацією може бути нанесення даних на карту. Карта, яка показує вантажівки доставки, наприклад, може допомогти працівникам на заводі побачити, коли прибудуть вантажівки. Якщо ця карта показує не лише зображення вантажівок у їхніх поточних місцях, але й дає уявлення про вміст вантажівки, то працівники заводу можуть відповідно планувати — якщо вони бачать рефрижераторну вантажівку поблизу, вони знають, що потрібно підготувати місце в холодильнику. ## Сервіси карт Робота з картами — це цікавий процес, і існує багато сервісів, таких як Bing Maps, Leaflet, Open Street Maps і Google Maps. У цьому уроці ви дізнаєтеся про [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) і як вони можуть відображати ваші GPS-дані.  Azure Maps — це "набір геопросторових сервісів і SDK, які використовують актуальні картографічні дані для надання географічного контексту веб- та мобільним додаткам". Розробникам надаються інструменти для створення красивих інтерактивних карт, які можуть виконувати такі функції, як надання рекомендованих маршрутів, інформація про дорожні інциденти, навігація всередині приміщень, пошукові можливості, інформація про висоту, погодні сервіси тощо. ✅ Ознайомтеся з деякими [прикладами коду для роботи з картами](https://docs.microsoft.com/samples/browse?WT.mc_id=academic-17441-jabenn&products=azure-maps) Ви можете відображати карти як порожнє полотно, тайли, супутникові зображення, супутникові зображення з дорогами, різні типи карт у відтінках сірого, карти з рельєфом для відображення висоти, карти нічного вигляду та карти з високим контрастом. Ви можете отримувати оновлення в реальному часі на ваших картах, інтегруючи їх із [Azure Event Grid](https://azure.microsoft.com/services/event-grid/?WT.mc_id=academic-17441-jabenn). Ви можете контролювати поведінку та вигляд ваших карт, додаючи різні елементи керування, які дозволяють карті реагувати на події, такі як масштабування, перетягування та клацання. Щоб контролювати вигляд вашої карти, ви можете додавати шари, які включають бульбашки, лінії, полігони, теплові карти тощо. Який стиль карти ви реалізуєте, залежить від вашого вибору SDK. Ви можете отримати доступ до API Azure Maps, використовуючи [REST API](https://docs.microsoft.com/javascript/api/azure-maps-rest/?WT.mc_id=academic-17441-jabenn&view=azure-maps-typescript-latest), [Web SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-map-control?WT.mc_id=academic-17441-jabenn) або, якщо ви створюєте мобільний додаток, [Android SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-android-map-control-library?WT.mc_id=academic-17441-jabenn&pivots=programming-language-java-android). У цьому уроці ви будете використовувати Web SDK для створення карти та відображення шляху GPS-локацій вашого сенсора. ## Створення ресурсу Azure Maps Ваш перший крок — створити обліковий запис Azure Maps. ### Завдання — створення ресурсу Azure Maps 1. Виконайте наступну команду в терміналі або командному рядку, щоб створити ресурс Azure Maps у вашій групі ресурсів `gps-sensor`: ```sh az maps account create --name gps-sensor \ --resource-group gps-sensor \ --accept-tos \ --sku S1 ``` Це створить ресурс Azure Maps під назвою `gps-sensor`. Використовується рівень `S1`, який є платним рівнем, але включає широкий спектр функцій із щедрим обсягом безкоштовних викликів. > 💁 Щоб дізнатися вартість використання Azure Maps, перегляньте [сторінку з цінами на Azure Maps](https://azure.microsoft.com/pricing/details/azure-maps/?WT.mc_id=academic-17441-jabenn). 1. Вам знадобиться ключ API для ресурсу карт. Використовуйте наступну команду, щоб отримати цей ключ: ```sh az maps account keys list --name gps-sensor \ --resource-group gps-sensor \ --output table ``` Скопіюйте значення `PrimaryKey`. ## Відображення карти на вебсторінці Тепер ви можете перейти до наступного кроку — відображення вашої карти на вебсторінці. Ми будемо використовувати лише один файл `html` для вашого невеликого вебдодатку; майте на увазі, що в умовах виробництва або командної роботи ваш вебдодаток, ймовірно, матиме більше складових частин. ### Завдання — відображення карти на вебсторінці 1. Створіть файл під назвою `index.html` у папці на вашому локальному комп'ютері. Додайте HTML-розмітку для відображення карти: ```html
``` Карта завантажиться в `div` з ідентифікатором `myMap`. Кілька стилів дозволяють їй займати ширину та висоту сторінки. > 🎓 `div` — це секція вебсторінки, яку можна назвати та стилізувати. 1. Під відкривальним тегом `` додайте зовнішній файл стилів для керування відображенням карти та зовнішній скрипт із Web SDK для керування її поведінкою: ```html ``` Цей файл стилів містить налаштування для вигляду карти, а файл скрипта містить код для завантаження карти. Додавання цього коду схоже на включення заголовкових файлів у C++ або імпорт модулів у Python. 1. Під цим скриптом додайте блок скрипта для запуску карти. ```javascript ``` Замініть `