# Визуализация данных о местоположении  > Скетчнот от [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, ознакомьтесь с [Веб-разработкой для начинающих](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 ``` Замените `