Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Microsoft Fabric Mapas fornece visualização e análise geoespaciais para fornecer insights acionáveis de dados espaciais em tempo real e históricos.
Neste tutorial, um despachante de campo de concessionária de eletricidade usa o Microsoft Fabric Maps para criar e gerenciar ordens de serviço de reparo quando interrupções ou falhas de equipamentos são relatadas. O cenário se concentra em localizar clientes afetados, visualizar pedidos de trabalho ativos em tempo real e expedir equipes com eficiência para restauração de serviços.
Este tutorial demonstra como os locais dos clientes são mapeados, os pedidos de trabalho dinâmicos aparecem no mapa e uma rota ideal é calculada usando a API de Direções de Rota do Azure Mapas. O tutorial é concluído com uma rota otimizada mostrada no mapa.
O Fabric Mapas é executado no Fabric Real-Time Intelligence, ingerindo telemetria de streaming usando Eventstream e Eventhouse para monitoramento em tempo real. As conclusões da ordem de trabalho e os resultados operacionais são armazenados no OneLake, onde podem ser usados para otimização de rota e análise que são exibidas no mapa.
Neste tutorial, você irá:
- Crie um lakehouse e carregue dados de ordem de serviço de exemplo.
- Configure um fluxo de eventos para gravar dados de ordem de trabalho em um repositório de eventos.
- Crie uma função Kusto para extrair coordenadas do cliente dos dados de ordem de trabalho importados.
- Crie um mapa e adicione a função como uma camada de mapa.
- Compute uma rota ideal usando a API de Direções de Rota do Azure Mapas.
- Adicione a rota otimizada ao mapa como uma camada.
- Defina as configurações de mapa e camada.
Pré-requisitos
Antes de começar este tutorial, consulte os tutoriais do Real-Time Intelligence para se familiarizar com os conceitos e fluxos de trabalho principais.
Caso não tenha uma assinatura do Azure, crie uma conta gratuita.
Uma conta do Azure Mapas.
Uma chave de assinatura do Azure Mapas.
Uma conta do Fabric. Para obter mais informações sobre o Microsoft Fabric, consulte o que é o Microsoft Fabric?.
Permissão para criar Eventstream, Eventhouse (banco de dados KQL), Lakehouse, Notebooks e item de mapa. Para obter mais informações, consulte Sobre as configurações do cliente.
Um workspace com uma capacidade habilitada para Microsoft Fabric. Para mais informações sobre como criar um espaço de trabalho, veja Criar um espaço de trabalho.
Uma compreensão básica do Fabric Lakehouse, um repositório de dados para armazenar, gerenciar e analisar dados estruturados e não estruturados em um único local. Para obter informações sobre como criar uma lakehouse, consulte Criar uma lakehouse no Microsoft Fabric.
Uma compreensão básica do Fabric Eventhouse, usado para ingerir, processar e analisar dados quase em tempo real. Para obter informações sobre como criar uma casa de eventos, consulte Criar uma casa de eventos.
Uma compreensão básica das funções definidas pelo usuário do Kusto.
Um entendimento básico de como usar notebooks Microsoft Fabric.
Criar um lakehouse e carregar os dados da ordem de trabalho de exemplo
Para simular uma fonte de streaming em tempo real, o notebook nas etapas a seguir usa dados de exemplo carregados em um lakehouse. Na produção, esses dados seriam transmitidos em vez de estáticos.
Criar o arquivo de dados da ordem de trabalho
O arquivo de dados da ordem de trabalho contém exemplos de registros de ordem de trabalho usados neste tutorial para simular uma fonte de streaming em tempo real. Depois de criar o arquivo, importe-o para uma casa de lago na próxima etapa.
Copie e cole o conteúdo a seguir em um arquivo de texto e depois salve como WorkorderLocations.csv. Você usa esse arquivo na próxima etapa.
WorkorderID,Latitude,Longitude
100,48.22610712,16.32977412
101,48.23519063,16.37364699
102,48.19785896,16.38669028
103,48.18125837,16.37068261
107,48.15151126,16.41766590
108,48.20290349,16.32492121
104,48.23400591,16.4563533
105,48.18145603,16.40506946
106,48.16366378,16.36001083
Criar um lakehouse e importar o arquivo de dados da ordem de serviço
Crie um novo lakehouse para os dados de ordens de trabalho recebidos e importe o arquivo de localização das ordens de trabalho.
- No seu espaço de trabalho, selecione Novo item, digite a casa do lago na caixa de busca e selecione para criar uma nova casa do lago.
- Insira um nome WorkorderLocationsLakehouse e selecione Criar.
- No novo lakehouse, selecione Carregar arquivos e carregue o arquivo WorkorderLocations.csv.
- No novo lakehouse, selecione o painel Explorer à esquerda da tela.
- Na seção Arquivos do Explorer, selecione WorkorderLocations.csv para exibir o arquivo que você carregou.
- Nas configurações de Exibição, selecione Primeira linha como cabeçalho.
- (Opcional) Na lista suspensa de exibição, selecione Visualização em Tabela.
Criar um fluxo de eventos e gravar dados em uma casa de eventos
Nesta seção, você projeta um fluxo de fluxo de eventos usando um ponto de extremidade personalizado e envia dados usando um notebook para simular o streaming em tempo real.
Microsoft Fabric Eventstream é um serviço de streaming de dados em tempo real que permite que você ingera, processe e roteie dados de eventos dentro do ecossistema Microsoft Fabric. Ele fornece uma experiência sem código para a criação de fluxos de trabalho controlados por eventos, permitindo a integração perfeita de dados em tempo real de várias fontes e roteando-os para vários destinos. Para mais informações sobre fontes de dados suportadas ou como se conectar a um endpoint personalizado, veja a Visão Geral dos fluxos de eventos do Microsoft Fabric.
Ao absorver dados de eventstream em uma casa de eventos, você disponibiliza eventos em streaming para processamento com o Kusto, onde pode transformá-los e analisá-los em tempo real usando tabelas ou funções. Para obter mais informações, consulte Visão geral de eventhouse.
Criar um eventstream e um eventhouse
No workspace, selecione Novo item e insira eventstream na caixa de pesquisa.
Selecione Eventstream.
No diálogo New Eventstream , insira um Nome: "WorkordersEventstream" e então selecione Criar.
Na tela Criar um fluxo para ingerir, transformar e rotear eventos de streaming, selecione Usar endpoint personalizado.
Na caixa de diálogo Adicionar origem do endpoint personalizado, selecione Adicionar.
O fluxo de eventos foi criado agora. Em seguida, adicione um Eventhouse como o destino.
No nó WorkordersEventstream do designer de eventstream, selecione Eventhouse na lista suspensa Transformar eventos ou adicionar destino.
O painel de configuração de destino eventhouse é exibido no lado direito da tela. Preencha os detalhes solicitados da seguinte maneira e selecione Salvar:
- Modo de ingestão de dados: defina como processamento de eventos antes da ingestão.
- Nome do destino: Definir como WorkordersEventhouse.
- Workspace: uma lista suspensa mostrando o nome do seu espaço de trabalho.
- Eventhouse: selecione Criar novo e crie uma casa de eventos chamada WorkordersEventhouse.
- Banco de Dados KQL: Selecione WorkordersEventhouse.
- Tabela de destino KQL: selecione Criar novo link e crie uma nova tabela chamada Workorders.
- Formato de dados de entrada: selecione Json.
- Ativar a ingestão após adicionar a fonte de dados: Marque a caixa de seleção.
Depois que a casa de eventos for adicionada como um destino, selecione Publicar para publicar seu novo fluxo de eventos.
Obter chaves de autenticação de chave SAS necessárias
Você precisa do nome do hub de eventos e dos valores da chave primária da string de conexão da seção de autenticação de chave SAS no código do seu notebook.
Selecione o mosaico de origem do ponto de extremidade personalizado que você acabou de adicionar.
No painel Detalhes , selecione Autenticação de Chave SAS.
Copie os dois valores a seguir e salve-os para uso no código do bloco de anotações:
- Nome do hub de eventos: usado para a variável EVENT_HUB_NAME .
- Chave primária da cadeia de conexão: usada para a variável CONNECTION_STR .
Simular ingestão em tempo real usando um notebook
Nesta seção, você criará um notebook conectado ao lakehouse criado anteriormente e, em seguida, usará o código fornecido para ler os dados do CSV e enviar eventos para o fluxo de eventos. Esse processo simula a ingestão de dados em tempo real. Para demonstrações, você pode executar o notebook manualmente ou agendá-lo para ser executado periodicamente.
Criar um bloco de anotações no workspace do Fabric
Crie um bloco de anotações com código para importar o arquivo de localização da ordem de trabalho do lakehouse para o fluxo de eventos que você criou na seção anterior. Isso simula uma fonte de streaming em tempo real, que em um ambiente de produção transmite dados em vez de usar dados estáticos.
No workspace, selecione Novo item e insira notebook na caixa de pesquisa.
Selecionar Notebook.
Na caixa de diálogo Novo Bloco de Anotações , insira WorkorderLocations no campo Nome e selecione Criar.
Para conectar seu notebook ao lakehouse, selecione Do catálogo OneLake no menu suspenso Adicionar itens de dados.
Selecione WorkorderLocationsLakehouse no catálogo do OneLake e selecione o botão Conectar. Esta casa do lago é a que você construiu antes.
Depois de criar o notebook e conectá-lo ao seu lakehouse, cole o código a seguir na primeira célula e execute para instalar o Hubs de Eventos do Azure SDK:
# Install Azure Event Hubs SDK (only needed once per environment) %pip install azure-eventhubSelecione + Código para criar uma nova célula no notebook.
Selecione a nova célula e insira o seguinte código nela:
from azure.eventhub import EventHubProducerClient, EventData import pandas as pd import json import time # Replace with your actual connection string and Event Hub name CONNECTION_STR = "" # Connection string-primary key EVENT_HUB_NAME = "" # Event hub name producer = EventHubProducerClient.from_connection_string(conn_str=CONNECTION_STR, eventhub_name=EVENT_HUB_NAME) df = spark.read.csv("Files/WorkorderLocations.csv", header=True, inferSchema=True) pdf = df.toPandas() total_records = len(pdf) for index, row in pdf.iterrows(): # Convert row to dictionary row_dict = row.to_dict() # Truncate coordinates to 5 decimal digits if 'lat' in row_dict: row_dict['Latitude'] = round(float(row_dict['Latitude']), 5) if 'lon' in row_dict: row_dict['Longitude'] = round(float(row_dict['Longitude']), 5) # Serialize to JSON payload = json.dumps(row_dict) # Send to Event Hub event_data = EventData(payload) with producer: producer.send_batch([event_data]) # Wait 100ms time.sleep(0.1)Adicione os valores das variáveis CONNECTION_STR e EVENT_HUB_NAME que você obteve na seção anterior intitulada Obter chaves de autenticação SAS obrigatórias.
Execute o código do notebook. Isso cria a tabela Workorders no banco de dados KQL no WorkordersEventhouse eventhouse.
Criar uma função Kusto e adicioná-la como uma camada de mapa
Nesta seção, você criará uma função Kusto que recupera os dados atuais de localização da ordem de trabalho da tabela Workorders em sua casa de eventos e, em seguida, usará essa função como uma fonte de dados para um mapa do Fabric Mapas. A função permite que o mapa exiba ordens de trabalho ativas como uma camada, fornecendo uma exibição visual de trabalhos que precisam ser planejados e atribuídos às equipes de campo.
Criar uma função Kusto
Do seu Eventhouse (banco de dados KQL):
Abra o banco de dados KQL associado à sua casa de eventos.
Selecione Funções e , em seguida, Nova função.
Essa etapa cria uma consulta que, ao ser executada, cria uma nova função chamada WorkordersFunction.
Insira a consulta a seguir:
.create-or-alter function WorkordersFunction() { Workorders | project Latitude, Longitude, WorkorderID }Executa a consulta.
1 & 2 – A consulta KQL usada para criar a função WorkordersFunction .
3 - A função recém-criada WorkordersFunction.
Na pasta Funções, selecione WorkordersFunction, depois Visualizar resultados para verificar se retorna registros de ordem de trabalho com campos de localização válidos.
Essa função serve como uma fonte de dados reutilizável para uma camada de dados de mapa do Fabric Mapas, que é demonstrada na próxima seção.
Criar um mapa e adicionar a função como uma camada
Nesta seção, você criará um mapa do Fabric Mapas e usará a função KQL criada anteriormente como uma camada de dados. O mapa é configurado com um intervalo de atualização, permitindo que dados em fluxo contínuo dos pedidos de trabalho sejam atualizados automaticamente, fornecendo uma visualização espacial dos pedidos de trabalho ativos em quase tempo real. Em seguida, você renomeia a camada e ajusta suas configurações para controlar como os dados são exibidos no mapa. Esse contexto geoespacial dinâmico ajuda os dispatchers a monitorar a atividade de campo, avaliar a demanda entre áreas de serviço e tomar decisões de roteamento e atribuição mais informadas.
Criar um novo mapa
- Na área de trabalho, selecione Novo item.
- No painel Novo item, digite map no campo de pesquisa e selecione Mapa.
- Na caixa de diálogo Novo Mapa , insira WorkordersMap no campo Nome e selecione Criar.
Adicionar a casa de eventos ao mapa
No painel Explorer, selecione Itens do Fabric e depois o botão Adicionar.
Selecione o banco de dados KQL no menu exibido ao selecionar o botão Adicionar .
No catálogo do OneLake , selecione o eventhouse WorkordersEventhouse que você criou anteriormente e selecione Adicionar.
Dica
Se você receber um erro, como o banco de dados KQL tem um rótulo protegido que restringe o acesso. Por favor, entre em contato com o proprietário do banco de dados para obter assistência, verifique o rótulo de sensibilidade no seu banco de dados KQL, pois ele pode restringir o acesso. Para obter mais informações, consulte Aplicar rótulos de confidencialidade aos itens do Fabric.
Mostrar função no mapa
No painel Explorer em seu novo mapa, selecione o eventhouse WorkordersEventhouse que você adicionou na etapa anterior.
Vá até a função KQL WorkordersFunction e selecione a elipse (...) para abrir o menu.
Selecione Mostrar no mapa no menu pop-up.
Uma captura de tela do painel do Explorador de Mapas do Microsoft Fabric exibindo uma estrutura de árvore hierárquica com a seção de banco de dados KQL expandida. A árvore mostra WorkordersEventhouse contendo a tabela Workorders-Event e a função WorkordersFunction. Um menu de reticências está aberto ao lado da função WorkordersFunction, revelando opções, incluindo "Mostrar no mapa" realçado com uma borda de retângulo vermelho.
A caixa de diálogo Exibir Dados do Eventhouse no mapa é exibida com os dados de visualização selecionados. Nenhuma alteração é necessária. Verifique se ele está correto e selecione Avançar
Na etapa Definir geometria e intervalo de atualização de dados , defina os campos da seguinte maneira e selecione Avançar:
Nome da camada de dados: WorkordersFunction
Localização da coluna de geometria: Os dados de latitude e longitude estão em colunas separadas
Coluna de latitude: latitude
Coluna de longitude: longitude
Intervalo de atualização de dados: 5 minutos
No passo Revisão e Adicionar ao mapa , revise as configurações e selecione Adicionar ao mapa.
Os resultados da função agora aparecem no mapa atualizado.
Gerar uma rota otimizada com múltiplas paradas com a API Azure Mapas Route Directions
Nesta seção, você criará um novo notebook que recupera as coordenadas da ordem de trabalho do banco de dados KQL e chama a API REST de Direções de Rota do Azure Mapas. Você habilita a capacidade de otimização de múltiplas paradas do serviço para determinar a ordem mais eficiente de visita a cada localidade e retornar a geometria da rota nessa sequência otimizada. Você usa essa saída mais tarde para visualizar no mapa um trajeto recomendado para o técnico.
Para concluir esta seção, você precisa de uma conta do Azure com uma conta do Azure Mapas e uma chave de assinatura. Se você ainda não tem uma conta do Azure, crie uma conta gratuita. Para obter mais informações sobre como criar uma conta do Azure Mapas, consulte Criar uma conta do Azure Mapas. Para obter mais informações sobre como obter uma chave de assinatura do Azure Mapas, consulte Obter a chave de assinatura da sua conta no início rápido do Azure Mapas.
Criar um bloco de anotações no workspace do Fabric que recupera a rota ideal
De dentro do seu workspace, abra o eventhouse WorkordersEventhouse que você criou anteriormente.
No painel de navegação esquerdo, em bancos de dados KQL, selecione WorkordersEventhouse.
A barra de menus superior agora exibe uma opção para Notebook. Selecione-o para criar um novo bloco de anotações.
No novo notebook, salve o valor da variável kustoUri . Use esse valor no novo código do bloco de anotações criado na etapa 6.
Conecte seu bloco de anotações ao WorkorderLocationsLakehouse selecionando o catálogo do OneLake na lista suspensa Adicionar itens de dados .
Observação
Quando você cria um Lakehouse no Microsoft Fabric, um endpoint de análise SQL com o mesmo nome é automaticamente criado.
Ambos os itens aparecem no workspace, mas servem a diferentes finalidades:
- O Lakehouse é usado para notebooks, processamento do Spark e ingestão de dados.
- O endpoint de análise SQL é uma superfície de consulta somente leitura T-SQL sobre os dados do Lakehouse.
Ao anexar ou criar um caderno, certifique-se de selecionar o Lakehouse, não o endpoint de análise SQL. Se WorkorderLocationsLakehouse aparecer duas vezes no catálogo do OneLake, filtre por Lakehouse .
Assim que seu novo caderno for criado e conectado à sua casa do lago, insira o código a seguir na segunda célula do seu caderno, substituindo o código padrão. Depois, adicione os valores das variáveis que você salvou na etapa anterior:
import os, json, requests from pyspark.sql import types as T from pyspark.sql.functions import col # ---- Configuration ---- AZMAPS_SUBSCRIPTION_KEY = os.environ.get( 'AZMAPS_SUBSCRIPTION_KEY', '<Your Azure Maps subscription key>' ) API_VERSION = '2025-01-01' BASE_URL = 'https://atlas.microsoft.com' # KQL query that invokes the stored function kustoQuery = """WorkordersFunction()""" # Your Kusto URI kustoUri = "" # Your KQL database name database = "WorkordersEventhouse" # The access credentials. accessToken = mssparkutils.credentials.getToken(kustoUri) kustoDf = spark.read\ .format("com.microsoft.kusto.spark.synapse.datasource")\ .option("accessToken", accessToken)\ .option("kustoCluster", kustoUri)\ .option("kustoDatabase", database)\ .option("kustoQuery", kustoQuery).load() # Write transformed response to a new file so the raw output is preserved OUTPUT_GEOJSON_PATH_TRANSFORMED = ( 'Files/OptimizedRoute.geojson' # GeoJSON output file ) # ---- Read Stores from KQL database table ---- stores_df = spark.read\ .format("com.microsoft.kusto.spark.synapse.datasource")\ .option("accessToken", accessToken)\ .option("kustoCluster", kustoUri)\ .option("kustoDatabase", database)\ .option("kustoQuery", kustoQuery).load()\ .select( col("WorkorderID").alias("workorder_id"), col("Latitude").alias("lat"), col("Longitude").alias("lon") ) # Ordered waypoints: origin first, then the rest by workorder_id # (API will re-order when optimizeWaypointOrder=True) stores_pd = stores_df.orderBy('workorder_id').toPandas() waypoints_lonlat = [[float(r['lon']), float(r['lat'])] for _, r in stores_pd.iterrows()] # ---- Build Directions request body (GeoJSON) ---- features = [] for idx, (lon, lat) in enumerate(waypoints_lonlat): features.append({ "type": "Feature", "geometry": {"type": "Point", "coordinates": [lon, lat]}, "properties": {"pointIndex": idx, "pointType": "waypoint"} }) dir_body = { "type": "FeatureCollection", "features": features, "optimizeRoute": "fastestWithTraffic", "routeOutputOptions": ["routePath"], # ensures route path geometry in response "travelMode": "truck", "optimizeWaypointOrder": True } # ---- Call Azure Maps Directions (POST) ---- url = f"{BASE_URL}/route/directions" params = {"api-version": API_VERSION} headers = { "Accept": "application/geo+json", "Content-Type": "application/geo+json", "subscription-key": AZMAPS_SUBSCRIPTION_KEY } resp = requests.post(url, params=params, data=json.dumps(dir_body), headers=headers) resp.raise_for_status() resp_json = resp.json() # exact payload as returned by the API # ---- Transform: move order.optimizedIndex -> properties.optimizedIndex for all Waypoint features to add as a data label in the map---- for feat in resp_json.get("features", []): props = feat.get("properties") or {} if props.get("type") == "Waypoint": order = props.get("order") or {} opt_idx = order.pop("optimizedIndex", None) if opt_idx is not None: props["optimizedIndex"] = opt_idx + 1 # reassign possibly-updated order (still contains inputIndex if present) props["order"] = order feat["properties"] = props # ---- Write transformed GeoJSON ---- from notebookutils import mssparkutils mssparkutils.fs.put(OUTPUT_GEOJSON_PATH_TRANSFORMED, json.dumps(resp_json), True) print(f"Transformed Directions GeoJSON (waypoints carry properties.optimizedIndex) written to {OUTPUT_GEOJSON_PATH_TRANSFORMED}")Insira a chave de assinatura do Azure Mapas no código do bloco de anotações da variável AZMAPS_SUBSCRIPTION_KEY substituindo "<Sua chave> de assinatura do Azure Mapas" pela chave de assinatura do Azure Mapas.
Importante
Este exemplo codifica a chave de assinatura do Azure Mapas para simplificar. Não codificar segredos em ambientes de produção. Armazene e gerencie segredos com segurança usando o Azure Key Vault e faça referência a eles em runtime. Para obter mais informações, consulte As práticas recomendadas para proteger segredos.
Selecione o botão Salvar como no menu e salve o notebook como OptimizeRoute.
Execute o notebook para criar o arquivo OptimizedRoute.geojson no diretório Arquivos do lakehouse.
Adicionar lakehouse ao mapa
- No painel Explorer, selecione Itens do Fabric e depois o botão Adicionar.
- Selecione Lakehouse no menu exibido ao selecionar o botão Adicionar .
- No catálogo do OneLake, selecione o lakehouse WorkorderLocationsLakehouse que você criou anteriormente e, em seguida, selecione Adicionar.
Mostrar a rota otimizada no mapa
No painel Explorer em seu novo mapa, selecione o lakehouse WorkorderLocationsLakehouse que você adicionou na etapa anterior.
Navegue até OptimizedRoute.geojson no diretório Arquivos do lakehouse e selecione a elipse (...) para mostrar o menu pop-up.
Selecione Mostrar no mapa no menu pop-up.
No painel Camadas de dados, desligue a visibilidade da camada WorkordersFunction.
Após a conclusão, a nova camada de mapa será exibida no mapa dos Mapas do Fabric.
Configurações de camada do mapa
O Fabric Maps oferece uma variedade de configurações de camadas que você controla como os dados são apresentados no mapa. Nesta seção, você personaliza a camada criada a partir do processo de otimização de rota renomeando a camada, ajustando o estilo de símbolo e configurando rótulos com base nos valores de campo. Essas configurações ajudam a melhorar a legibilidade e facilitam a interpretação dos dados da ordem de trabalho rapidamente.
Renomear a camada
No painel das camadas de dados , abra o menu de opções OtimizadoRota selecionando a elipse (...).
Selecione Renomear.
Remover rótulos no nível do mapa
Quando você ativa ou desativa Rótulos no nível do mapa, isso afeta os rótulos do texto do basemap. Esses rótulos vêm do estilo de mapa subjacente e incluem:
- Nomes de cidades e vilas
- Nomes de país e região
- Nomes de estradas e rodovias
- Nomes de corpos d'água (rios, lagos, oceanos)
- Outros nomes de locais administrativos ou geográficos
Quando rótulos não são mostrados, o mapa base aparece "mais limpo" e mais minimalista, sem nomes de lugares exibidos no mapa base.
Para desativar legendas do mapa de base:
Abra seu mapa nos Mapas do Fabric.
Selecione Configurações de mapa na barra de menus.
Localize a caixa de seleção Rótulos e desmarque-a.
Para mais informações sobre configurações de mapa no Fabric Maps, veja Configurar configurações de basemap.
Adicionar rótulos de dados à camada
Os rótulos de dados são anotações controladas por dados provenientes de um ou mais campos no conjunto de dados da camada. Eles estão vinculados diretamente aos recursos de mapa de nível de camada, como os pontos no mapa que representam locais de ordem de trabalho. Para mais informações sobre etiquetas de dados do Fabric Maps, veja configurações de etiquetas de dados.
Selecione Rota Otimizada no painel das camadas de dados. O painel de Configurações de Rota Otimizada aparece no lado direito da tela.
No painel de Configurações de Rotas Otimizadas , selecione > Configurações de etiquetas de dados.
Selecione a alternância Habilitar rótulos de dados para ativar rótulos de dados. Isso mostra mais configurações de rótulos de dados.
Altere as seguintes configurações de rótulo de dados:
- Rótulos de dados: optimizedIndex
- Cor do texto: branco
- Controle deslizante de tamanho de texto definido como 20
- Cor do traço de texto: Preto
- Controle deslizante de largura do traço de texto ajustado para 2
Uma captura de tela dos Mapas do Microsoft Fabric mostrando o painel de configurações de rótulos de dados expandido no lado direito com "Habilitar rótulos de dados" ativado, a lista suspensa de rótulos de dados definida como optimizedIndex, a cor do texto exibindo um seletor de cor branca, o controle deslizante de tamanho de texto configurado para 20, a cor do traço do texto exibindo preto e o controle deslizante de largura do traço configurado para 2. A área principal do mapa exibe um mapa de rua de Viena, Áustria, com linhas de rota roxas conectando pontos de passagem numerados rotulados de 1 a 9, indicando a ordem de visita otimizada. O painel Camadas de dados à esquerda mostra WorkordersFunction com visibilidade oculta e Rota Otimizada como a camada ativa.
Resumo
Este tutorial mostrou como construir um cenário de roteamento de ordem de trabalho em tempo real de ponta a ponta usando Microsoft Fabric Real-Time Intelligence e Fabric Maps. Você ingere, transforma e consulta dados de ordens de trabalho em streaming usando KQL, e então visualiza os dados em um mapa para criar uma visão dinâmica e continuamente atualizada das localizações das ordens de trabalho. Ao integrar a lógica de roteamento e cálculos de caminho ideal, a solução mostra como a análise geoespacial em tempo real pode ajudar os dispatchers e as equipes de operações de campo a tomar decisões mais rápidas e mais bem informadas.
Você pode estender esse padrão para outros cenários baseados em localização, como rastreamento de frotas, monitoramento de ativos e resposta a incidentes. Combinando dados controlados por eventos, análise baseada em KQL e visualização baseada em mapa, o Microsoft Fabric permite uma transição de dados de streaming brutos para insights geográficos acionáveis quase em tempo real.
Próximas etapas
Para mais informações sobre os artigos do Fabric Maps abordados neste tutorial, veja: