# Visualizar dados de localização  > Ilustração por [Nitya Narasimhan](https://github.com/nitya). Clique na imagem para uma versão maior. Este vídeo oferece uma visão geral do Azure Maps com IoT, um serviço que será abordado nesta lição. [](https://www.youtube.com/watch?v=P5i2GFTtb2s) > 🎥 Clique na imagem acima para assistir ao vídeo ## Questionário pré-aula [Questionário pré-aula](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/25) ## Introdução Na última lição, aprendeste como obter dados de GPS dos teus sensores e guardá-los na nuvem num contentor de armazenamento usando código sem servidor. Agora vais descobrir como visualizar esses pontos num mapa do Azure. Vais aprender a criar um mapa numa página web, conhecer o formato de dados GeoJSON e como usá-lo para plotar todos os pontos de GPS capturados no teu mapa. Nesta lição, vamos abordar: * [O que é visualização de dados](../../../../../3-transport/lessons/3-visualize-location-data) * [Serviços de mapas](../../../../../3-transport/lessons/3-visualize-location-data) * [Criar um recurso do Azure Maps](../../../../../3-transport/lessons/3-visualize-location-data) * [Exibir um mapa numa página web](../../../../../3-transport/lessons/3-visualize-location-data) * [O formato GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) * [Plotar dados de GPS num mapa usando GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) > 💁 Esta lição envolverá uma pequena quantidade de HTML e JavaScript. Se quiseres aprender mais sobre desenvolvimento web usando HTML e JavaScript, consulta [Desenvolvimento Web para Iniciantes](https://github.com/microsoft/Web-Dev-For-Beginners). ## O que é visualização de dados A visualização de dados, como o nome sugere, trata de representar dados de forma visual para facilitar a compreensão humana. Geralmente está associada a gráficos e tabelas, mas refere-se a qualquer forma de representação pictórica de dados que ajude os humanos a entender melhor os dados e tomar decisões. Tomando um exemplo simples - no projeto da quinta, capturaste leituras de humidade do solo. Uma tabela de dados de humidade do solo capturados a cada hora no dia 1 de junho de 2021 poderia ser algo como o seguinte: | Data | Leitura | | ---------------- | ------: | | 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 | Para um humano, entender esses dados pode ser difícil. É uma parede de números sem muito significado. Como primeiro passo para visualizar esses dados, eles podem ser plotados num gráfico de linhas:  Isso pode ser ainda mais aprimorado adicionando uma linha para indicar quando o sistema de rega automática foi ativado a uma leitura de humidade do solo de 450:  Este gráfico mostra rapidamente não apenas os níveis de humidade do solo, mas também os pontos onde o sistema de rega foi ativado. Os gráficos não são a única ferramenta para visualizar dados. Dispositivos IoT que monitorizam o clima podem ter aplicações web ou móveis que visualizam as condições climáticas usando símbolos, como um símbolo de nuvem para dias nublados, uma nuvem de chuva para dias chuvosos e assim por diante. Existem inúmeras formas de visualizar dados, algumas sérias, outras divertidas. ✅ Pensa em formas como já viste dados visualizados. Quais métodos foram mais claros e permitiram-te tomar decisões mais rapidamente? As melhores visualizações permitem que os humanos tomem decisões rapidamente. Por exemplo, ter uma parede de mostradores mostrando todos os tipos de leituras de máquinas industriais é difícil de processar, mas uma luz vermelha piscando quando algo dá errado permite que um humano tome uma decisão. Às vezes, a melhor visualização é uma luz piscando! Ao trabalhar com dados de GPS, a visualização mais clara pode ser plotar os dados num mapa. Um mapa mostrando camiões de entrega, por exemplo, pode ajudar os trabalhadores numa fábrica a ver quando os camiões vão chegar. Se este mapa mostrar mais do que apenas imagens dos camiões nas suas localizações atuais, mas também der uma ideia do conteúdo de um camião, então os trabalhadores da fábrica podem planear de acordo - se virem um camião refrigerado próximo, sabem que devem preparar espaço num frigorífico. ## Serviços de mapas Trabalhar com mapas é um exercício interessante, e há muitos para escolher, como Bing Maps, Leaflet, Open Street Maps e Google Maps. Nesta lição, vais aprender sobre [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) e como eles podem exibir os teus dados de GPS.  Azure Maps é "uma coleção de serviços geoespaciais e SDKs que utilizam dados de mapas atualizados para fornecer contexto geográfico a aplicações web e móveis." Os programadores têm à disposição ferramentas para criar mapas bonitos e interativos que podem fazer coisas como fornecer rotas de trânsito recomendadas, dar informações sobre incidentes de trânsito, navegação interna, capacidades de pesquisa, informações de elevação, serviços meteorológicos e muito mais. ✅ Experimenta alguns [exemplos de código de mapas](https://docs.microsoft.com/samples/browse?WT.mc_id=academic-17441-jabenn&products=azure-maps) Podes exibir os mapas como uma tela em branco, imagens de satélite, imagens de satélite com estradas sobrepostas, vários tipos de mapas em escala de cinza, mapas com relevo sombreado para mostrar elevação, mapas de visão noturna e um mapa de alto contraste. Podes obter atualizações em tempo real nos teus mapas ao integrá-los com [Azure Event Grid](https://azure.microsoft.com/services/event-grid/?WT.mc_id=academic-17441-jabenn). Podes controlar o comportamento e a aparência dos teus mapas ativando vários controlos para permitir que o mapa reaja a eventos como pinçar, arrastar e clicar. Para controlar a aparência do teu mapa, podes adicionar camadas que incluem bolhas, linhas, polígonos, mapas de calor e mais. O estilo de mapa que implementares depende da tua escolha de SDK. Podes aceder às APIs do Azure Maps utilizando a sua [REST API](https://docs.microsoft.com/javascript/api/azure-maps-rest/?WT.mc_id=academic-17441-jabenn&view=azure-maps-typescript-latest), o seu [Web SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-map-control?WT.mc_id=academic-17441-jabenn), ou, se estiveres a criar uma aplicação móvel, o seu [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). Nesta lição, vais usar o Web SDK para desenhar um mapa e exibir o percurso da localização GPS do teu sensor. ## Criar um recurso do Azure Maps O primeiro passo é criar uma conta do Azure Maps. ### Tarefa - criar um recurso do Azure Maps 1. Executa o seguinte comando no teu Terminal ou Prompt de Comando para criar um recurso do Azure Maps no teu grupo de recursos `gps-sensor`: ```sh az maps account create --name gps-sensor \ --resource-group gps-sensor \ --accept-tos \ --sku S1 ``` Isto criará um recurso do Azure Maps chamado `gps-sensor`. O nível utilizado é `S1`, que é um nível pago que inclui uma gama de funcionalidades, mas com uma quantidade generosa de chamadas gratuitas. > 💁 Para ver o custo de usar o Azure Maps, consulta a [página de preços do Azure Maps](https://azure.microsoft.com/pricing/details/azure-maps/?WT.mc_id=academic-17441-jabenn). 1. Vais precisar de uma chave API para o recurso de mapas. Usa o seguinte comando para obter esta chave: ```sh az maps account keys list --name gps-sensor \ --resource-group gps-sensor \ --output table ``` Faz uma cópia do valor `PrimaryKey`. ## Exibir um mapa numa página web Agora podes dar o próximo passo, que é exibir o teu mapa numa página web. Vamos usar apenas um ficheiro `html` para a tua pequena aplicação web; lembra-te que num ambiente de produção ou equipa, a tua aplicação web provavelmente terá mais partes móveis! ### Tarefa - exibir um mapa numa página web 1. Cria um ficheiro chamado index.html numa pasta qualquer no teu computador local. Adiciona marcação HTML para conter um mapa: ```html
``` O mapa será carregado na `div` `myMap`. Alguns estilos permitem que ele ocupe a largura e altura da página. > 🎓 uma `div` é uma secção de uma página web que pode ser nomeada e estilizada. 1. Sob a tag `` de abertura, adiciona uma folha de estilo externa para controlar a exibição do mapa e um script externo do Web SDK para gerir o seu comportamento: ```html ``` Esta folha de estilo contém as configurações de como o mapa será exibido, e o ficheiro de script contém código para carregar o mapa. Adicionar este código é semelhante a incluir ficheiros de cabeçalho em C++ ou importar módulos em Python. 1. Sob esse script, adiciona um bloco de script para lançar o mapa. ```javascript ``` Substitui `