Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Microsoft Fabric Maps biedt georuimtelijke visualisatie en analyse om bruikbare inzichten te bieden uit realtime en historische ruimtelijke gegevens.
In deze handleiding maakt een veldcentralist voor elektrische nutsvoorzieningen gebruik van Microsoft Fabric Maps om reparatiewerkorders te maken en te beheren wanneer storingen of storingen in activa worden gerapporteerd. Het scenario is gericht op het vinden van betrokken klanten, het visualiseren van actieve werkorders in realtime en het efficiënt verzenden van bemanningen voor serviceherstel.
In deze zelfstudie wordt gedemonstreerd hoe klantlocaties worden toegewezen, live werkorders op de kaart verschijnen en een optimale route wordt berekend met behulp van de Azure Maps Route Directions API. De zelfstudie eindigt met een geoptimaliseerde route die op de kaart wordt weergegeven.
Fabric Maps wordt uitgevoerd in Fabric Realtime Intelligence, waarbij streamingtelemetrie wordt opgenomen met behulp van Eventstream en Eventhouse voor realtime bewaking. Voltooiingen van werkorders en operationele resultaten worden opgeslagen in OneLake, waar ze kunnen worden gebruikt voor routeoptimalisatie en analyse die op de kaart worden weergegeven.
In deze tutorial, zul je:
- Maak een lakehouse en upload voorbeeldgegevens van werkorders.
- Stel een eventstream in om werkordergegevens naar een eventhouse te schrijven.
- Maak een Kusto-functie om klantcoördinaten te extraheren uit de geïmporteerde werkordergegevens.
- Maak een kaart en voeg de functie toe als een kaartlaag.
- Bereken een optimale route met behulp van de Azure Maps Route Directions-API.
- Voeg de geoptimaliseerde route als laag toe aan de kaart.
- Configureer kaart- en laaginstellingen.
Vereiste voorwaarden
Lees voordat je aan deze tutorial begint, de Real-Time Intelligence-tutorials om vertrouwd te raken met de kernconcepten en workflows.
Als u geen Azure-abonnement hebt, maakt u een gratis account.
Een Azure Maps-account.
Een Azure Maps-abonnementssleutel.
Een Fabric-account. Zie Wat is Microsoft Fabric? voor meer informatie over Microsoft Fabric.
Machtiging voor het maken van Eventstream, Eventhouse (KQL-database), Lakehouse, Notebooks en mapitem. Voor meer informatie, zie Over tenantinstellingen.
Een werkruimte met een Microsoft Fabric-ingeschakelde capaciteit. Voor meer informatie over het aanmaken van een werkruimte, zie Een werkruimte aanmaken.
Basiskennis van Fabric Lakehouse, een gegevensopslagplaats voor het opslaan, beheren en analyseren van gestructureerde en ongestructureerde gegevens op één locatie. Zie Een lakehouse maken in Microsoft Fabric voor meer informatie over het maken van een lakehouse.
Basiskennis van Fabric Eventhouse, dat wordt gebruikt voor het opnemen, verwerken en het analyseren van gegevens bijna in realtime. Zie Een eventhouse maken voor meer informatie over het maken van een eventhouse.
Basiskennis van door de gebruiker gedefinieerde Kusto-functies.
Een basisbegrip van hoe je Microsoft Fabric-notebooks gebruikt.
Een lakehouse maken en de voorbeeldgegevens van de werkorder uploaden
Als u een realtime streamingbron wilt simuleren, gebruikt het notebook in de volgende stappen voorbeeldgegevens die zijn geüpload naar een lakehouse. In productie worden deze gegevens gestreamd in plaats van statisch.
Het gegevensbestand voor de werkorder maken
Het gegevensbestand voor werkorders bevat voorbeeldrecords voor werkorders die in deze zelfstudie worden gebruikt om een realtime streamingbron te simuleren. Na het aanmaken van het bestand importeer je het in een lakehouse in de volgende stap.
Kopieer en plak de volgende inhoud in een tekstbestand en sla het vervolgens op als WorkorderLocations.csv. Je gebruikt dit bestand in de volgende stap.
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
Een lakehouse maken en het gegevensbestand van de werkorder importeren
Maak een nieuw lakehouse aan voor binnenkomende werkordergegevens en importeer het locatiebestand van de werkorder.
- Selecteer vanuit je werkruimte Nieuw item, voer lakehouse in in het zoekvak en selecteer het om een nieuw lakehouse aan te maken.
- Voer de naam WorkorderLocationsLakehouse in en selecteer Maken.
- Selecteer in het nieuwe lakehouse bestanden uploaden en upload het WorkorderLocations.csv bestand.
- Selecteer in het nieuwe lakehouse het deelvenster Explorer aan de linkerkant van het scherm.
- Selecteer in de sectie Bestanden van De VerkennerWorkorderLocations.csv om het bestand weer te geven dat u hebt geüpload.
- Selecteer eerste rij als koptekst in de weergave-instellingen.
- (Optioneel) Selecteer tabelweergave in de weergavevervolgkeuzelijst.
Een eventstream maken en gegevens schrijven naar een eventhouse
In deze sectie ontwerpt u een gebeurtenisstroom met behulp van een aangepast eindpunt en verzendt u gegevens met behulp van een notebook om realtime streaming te simuleren.
Microsoft Fabric Eventstream is een realtime datastreamingdienst waarmee je gebeurtenisgegevens kunt invoeren, verwerken en routeren binnen het Microsoft Fabric-ecosysteem. Het biedt een ervaring zonder code voor het bouwen van gebeurtenisgestuurde werkstromen, waardoor naadloze integratie van realtime gegevens uit verschillende bronnen mogelijk is en naar meerdere bestemmingen wordt gerouterd. Voor meer informatie over ondersteunde databronnen of hoe je verbinding maakt met een aangepast eindpunt, zie het Overzicht van Microsoft Fabric eventstreams.
Door eventstream-data in een eventhouse te verwerken, maak je streaming-events beschikbaar voor verwerking met Kusto, waar je ze realtime kunt transformeren en analyseren met tabellen of functies. Zie Eventhouse-overzicht voor meer informatie.
Een eventstream en eventhouse maken
Selecteer nieuw item in uw werkruimte en voer eventstream in het zoekvak in.
Selecteer Eventstream.
In het Nieuwe Eventstream-dialoog voer je een naam in: "WorkordersEventstream" en selecteer je vervolgens Aanmaken.
In het scherm Ontwerp een flow om streaminggebeurtenissen te importeren, transformeren en routeren, selecteer Aangepast eindpunt gebruiken.
Selecteer Bron toevoegen in het dialoogvenster Aangepast eindpunt en klik op Toevoegen.
De eventstream wordt nu gemaakt. Voeg vervolgens een Eventhouse toe als bestemming.
Selecteer Eventhouse in het WorkordersEventstream-knooppunt van de eventstream-ontwerper uit de vervolgkeuzelijst transformeer evenementen of voeg bestemming toe.
Het configuratiedeelvenster Eventhouse-doel wordt aan de rechterkant van het scherm weergegeven. Vul de gevraagde gegevens als volgt in en selecteer Opslaan:
- Gegevensopnamemodus: Instellen op gebeurtenisverwerking vóór opname.
- Doelnaam: Ingesteld op WorkordersEventhouse.
- Werkruimte: Een vervolgkeuzelijst met de naam van uw werkruimte.
- Eventhouse: Selecteer Nieuwe maken en maak een eventhouse met de naam WorkordersEventhouse.
- KQL-database: Selecteer WorkordersEventhouse.
- KQL-doeltabel: Selecteer de link Nieuwe maken en maak een nieuwe tabel met de naam Workorders.
- Indeling van invoergegevens: Selecteer Json.
- Inname activeren na het toevoegen van de databron: Selecteer het selectievakje.
Zodra het eventhouse als bestemming is toegevoegd, selecteert u Publiceren om uw nieuwe eventstream te publiceren.
Vereiste SAS-authenticatiesleutels ophalen
U hebt de naam van de Event Hub en de waarden voor de primaire sleutel van de verbindingsreeks nodig uit de sectie SAS-sleutelverificatie in uw notebookcode.
Selecteer de tegel van de aangepaste eindpuntbron die u net hebt toegevoegd.
Selecteer SAS-sleutelverificatie in het deelvenster Details.
Kopieer de volgende twee waarden en sla deze op voor gebruik in uw notebookcode:
- Event Hub-naam: wordt gebruikt voor de variabele EVENT_HUB_NAME .
- Primaire sleutel voor verbindingsreeks: wordt gebruikt voor de variabele CONNECTION_STR .
Real-time opname simuleren met een notebook
In deze sectie maakt u een notitieblok dat is verbonden met het lakehouse dat u eerder hebt gemaakt, en gebruikt u vervolgens de opgegeven code om de CSV-gegevens te lezen en gebeurtenissen naar de eventstream te verzenden. Dit proces simuleert realtime gegevensopname. Voor demo's kun je het notebook handmatig draaien of het periodiek plannen.
Een notitieblok maken in uw Fabric-werkruimte
Maak een notebook met code om het werkorderlocatiebestand van uw lakehouse te importeren in de eventstream die u in de vorige sectie hebt gemaakt. Dit simuleert een realtime streamingbron, die in een productieomgeving data streamt in plaats van statische data te gebruiken.
Selecteer nieuw item in uw werkruimte en voer het notitieblok in het zoekvak in.
Selecteer Notebook.
Voer WorkorderLocations in het veld Naam in in het dialoogvenster Nieuw notitieblok en selecteer Maken.
Als u uw notitieblok wilt verbinden met lakehouse, selecteert u in de vervolgkeuzelijst Gegevensitems toevoegenuit de OneLake-catalogus.
Selecteer WorkorderLocationsLakehouse in de OneLake-catalogus en selecteer de knop Verbinding maken . Dit meerhuis is degene die je eerder hebt gebouwd.
Nadat je het notebook hebt aangemaakt en verbind met je lakehouse, plak je de volgende code in de eerste cel en voer je deze uit om de Azure Event Hubs SDK te installeren:
# Install Azure Event Hubs SDK (only needed once per environment) %pip install azure-eventhubSelecteer + Code om een nieuwe cel in het notitieblok te maken.
Selecteer de nieuwe cel en voer de volgende code in:
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)Voeg de waarden toe voor de variabelen CONNECTION_STR en EVENT_HUB_NAME die je hebt gekregen in de vorige sectie getiteld Haal vereiste SAS-sleutels voor authenticatiesleutels.
Voer de notebookcode uit. Hiermee maakt u de tabel Workorders aan in de KQL-database, binnen het evenementhuis WorkordersEventhouse.
Een Kusto-functie maken en toevoegen als een kaartlaag
In deze sectie maakt u een Kusto-functie die de huidige locatiegegevens van de werkorder ophaalt uit de tabel Workorders in uw eventhouse en die functie vervolgens gebruikt als gegevensbron voor een Fabric Maps-kaart. Met de functie kan de kaart actieve werkorders weergeven als een laag, waardoor een visuele weergave wordt geboden van taken die moeten worden gepland en toegewezen aan veldpersoneel.
Een Kusto-functie maken
Vanuit uw eventhouse (KQL-database):
Open de KQL-database die is gekoppeld aan uw eventhouse.
Selecteer Functies en vervolgens Nieuwe functie.
Deze stap maakt een query aan die, wanneer het wordt uitgevoerd, een nieuwe functie aanmaakt genaamd WorkordersFunction.
Voer de volgende query in:
.create-or-alter function WorkordersFunction() { Workorders | project Latitude, Longitude, WorkorderID }Voer de query uit.
1 & 2 - De KQL-query die wordt gebruikt om de functie WorkordersFunction te maken.
3 - De nieuw aangemaakte functie WorkordersFunction .
Selecteer in de map FunctionsWorkordersFunction en vervolgens Resultaten weergeven om te controleren of deze werkorderrecords retourneert met geldige locatievelden.
Deze functie fungeert als een herbruikbare gegevensbron voor een kaartgegevenslaag van Fabric Maps, die wordt gedemonstreerd in de volgende sectie.
Een kaart maken en de functie toevoegen als laag
In deze sectie maakt u een Fabric Maps-kaart en gebruikt u de eerder gemaakte KQL-functie als gegevenslaag. De kaart is geconfigureerd met een vernieuwingsinterval, zodat streaming werkordergegevens automatisch worden bijgewerkt, waardoor een vrijwel realtime ruimtelijke weergave van actieve werkorders wordt geboden. Vervolgens wijzigt u de naam van de laag en past u de instellingen aan om te bepalen hoe de gegevens op de kaart worden weergegeven. Deze live georuimtelijke context helpt dispatchers bij het bewaken van veldactiviteit, het beoordelen van de vraag in verschillende servicegebieden en het nemen van weloverwogen beslissingen over routering en toewijzing.
Een nieuwe kaart maken
- Selecteer Nieuw item in uw werkruimte.
- In het deelvenster Nieuw item voert u map in het zoekveld in en selecteert u Map.
- Voer in het dialoogvenster Nieuwe kaartWorkordersMap in het veld Naam in en selecteer Maken.
Eventhouse toevoegen aan kaart
Selecteer In het deelvenster Explorerde optie Fabric-items en vervolgens de knop Toevoegen .
Selecteer KQL-database in het menu dat wordt weergegeven bij het selecteren van de knop Toevoegen .
Selecteer in de OneLake-catalogus het eventhouse WorkordersEventhouse dat u eerder hebt gemaakt en selecteer vervolgens Toevoegen.
Aanbeveling
Als je een foutmelding krijgt zoals De KQL-database heeft een beschermd label dat de toegang beperkt. Neem contact op met uw database-eigenaar voor hulp. Controleer het gevoeligheidslabel in uw KQL-database, want dit kan de toegang beperken. Zie Vertrouwelijkheidslabels toepassen op Fabric-items voor meer informatie.
Functie weergeven op kaart
Selecteer in het deelvenster Explorer op uw nieuwe kaart het eventhouse WorkordersEventhouse dat u in de vorige stap hebt toegevoegd.
Ga naar de KQL-functie WorkordersFunction en selecteer de ellips (...) om het menu te openen.
Selecteer Weergeven op kaart in het pop-upmenu.
Een schermopname van het paneel Microsoft Fabric Maps Explorer met een hiërarchische boomstructuur waarbij de sectie KQL-database is uitgevouwen. De structuur toont WorkordersEventhouse met een Workorders-Event tabel en de functie WorkordersFunction. Er is een ellipsmenu geopend naast WorkordersFunction met opties, waaronder Op kaart weergeven, gemarkeerd met een rood rechthoekige rand.
Het dialoogvenster Eventhouse-gegevens weergeven op kaart wordt weergegeven met Voorbeeldgegevens geselecteerd. Er zijn geen wijzigingen vereist. Controleer of dit juist is en selecteer vervolgens volgende
In de stap Geometrie en gegevensverversingsinterval instellen, stel de velden als volgt in en selecteer vervolgens Volgende:
Naam van gegevenslaag: WorkordersFunction
Geometrie-kolomlocatie: Breedte- en lengtegradengegevens staan in aparte kolommen
Breedtegraadkolom: Breedtegraad
Lengtegraadkolom: Lengtegraad
Interval voor gegevensvernieuwing: 5 minuten
In de stap 'Beoordelen en toevoegen aan kaart' bekijk je de instellingen en kies je 'Voeg aan kaart' toe.
De functieresultaten verschijnen nu in de bijgewerkte kaart.
Genereer een geoptimaliseerde route met meerdere stops met de Azure Maps Route Directions API
In deze sectie maakt u een nieuw notebook waarmee werkordercoördinaten worden opgehaald uit de KQL-database en de Azure Maps Route Directions REST API wordt aangeroepen. Je schakelt de multi-stop optimalisatiemogelijkheid van de dienst in om de meest efficiënte volgorde voor het bezoeken van elke locatie te bepalen en geeft de routegeometrie terug in die geoptimaliseerde volgorde. Je gebruikt deze output later om een aanbevolen technicusroute op de kaart te visualiseren.
U hebt een Azure-account met een Azure Maps-account en abonnementssleutel nodig om deze sectie te voltooien. Als u geen Azure-account hebt, maakt u een gratis account. Zie Een Azure Maps-account maken voor meer informatie over het maken van een Azure Maps-account. Zie De abonnementssleutel voor uw account ophalen in de quickstart van Azure Maps voor meer informatie over het ophalen van een Azure Maps-abonnementssleutel.
Een notebook maken in uw Fabric-werkruimte waarmee de optimale route wordt opgehaald
Open vanuit uw werkruimte het eventhouse WorkordersEventhouse dat u eerder hebt gemaakt.
In het linkernavigatiedeelvenster onder KQL-databases, selecteer WorkordersEventhouse.
De bovenste menubalk toont nu een optie voor Notitieboek. Selecteer deze om een nieuw notitieblok te maken.
Sla in het nieuwe notebook de waarde voor de kustoUri-variabele op . U gebruikt deze waarde in de nieuwe notebookcode die u in stap 6 maakt.
Verbind uw laptop met WorkorderLocationsLakehouse door Gegevensitems toevoegen te selecteren in de vervolgkeuzelijst en vervolgens de optie Uit OneLake-catalogus te kiezen.
Opmerking
Wanneer u een Lakehouse maakt in Microsoft Fabric, wordt automatisch een SQL-analyse-eindpunt met dezelfde naam gemaakt.
Beide items worden weergegeven in de werkruimte, maar ze hebben verschillende doeleinden:
- Lakehouse wordt gebruikt voor notebooks, Spark-verwerking en gegevensopname.
- Het SQL Analytics-eindpunt is een alleen-lezen T-SQL-queryoppervlak voor de Lakehouse-gegevens.
Wanneer je een notebook toevoegt of aanmaakt, kies dan voor het Lakehouse-eindpunt en niet het SQL-analyse-endpoint. Als WorkorderLocationsLakehouse twee keer wordt weergegeven in de OneLake-catalogus, filtert u op Lakehouse .
Zodra je nieuwe notitieboekje is aangemaakt en verbonden met je huis aan het meer, voer je de volgende code in in de tweede cel van je notitieboek, ter vervanging van de standaardcode. Voeg vervolgens de variabelewaarden toe die je in de vorige stap hebt opgeslagen:
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}")Voer uw Azure Maps-abonnementssleutel in de notebookcode voor de AZMAPS_SUBSCRIPTION_KEY variabele in door '<Uw Azure Maps-abonnementssleutel>' te vervangen door uw Azure Maps-abonnementssleutel.
Belangrijk
In dit voorbeeld wordt de abonnementssleutel van Azure Maps vastgelegd om het eenvoudig te maken. Codeer geen geheimen in productieomgevingen. Bewaar en beheer geheimen veilig met behulp van Azure Key Vault en verwijs ernaar tijdens runtime. Zie Aanbevolen procedures voor het beveiligen van geheimen voor meer informatie.
Selecteer de knop Opslaan als in het menu en sla het notitieblok op als OptimizeRoute.
Voer het notebook uit om het bestand OptimizedRoute.geojson te maken in de map Bestanden van uw lakehouse.
Een schermopname van de Microsoft Fabric-interface toont een notebookcodecel aan de rechterkant met Python-code die routegegevens ophaalt en een GeoJSON-bestand schrijft. Het linker deelvenster Explorer toont OneLake, waarbij de WorkorderLocation is uitgevouwd en de mappen Tabellen en Bestanden zichtbaar zijn. De map Bestanden bevat WorkorderLocations.csv en OptimizedRoute.geojson, wat met een rood vakje is gemarkeerd om aan te geven dat dit het nieuw aangemaakte uitvoerbestand is. In het centrale deelvenster Bestanden worden beide bestanden weergegeven, waarbij OptimizedRoute.geojson ook is gemarkeerd. In de uitvoer van het notitieblok onderaan wordt een succesbericht weergegeven dat stelt: de getransformeerde GeoJSON-routepunten bevatten eigenschappen.
Lakehouse toevoegen aan kaart
- Selecteer In het deelvenster Explorerde optie Fabric-items en vervolgens de knop Toevoegen .
- Selecteer Lakehouse in het menu dat wordt weergegeven wanneer u de knop Toevoegen selecteert.
- Selecteer in de OneLake-catalogus het lakehouse WorkorderLocationsLakehouse dat u eerder hebt gemaakt en selecteer vervolgens Toevoegen.
De geoptimaliseerde route op de kaart weergeven
Selecteer in het deelvenster Explorer op uw nieuwe kaart het lakehouse WorkorderLocationsLakehouse dat u in de vorige stap hebt toegevoegd.
Navigeer naar OptimizedRoute.geojson in de map Bestanden van uw lakehouse en selecteer het beletselteken (...) om het pop-upmenu weer te geven.
Selecteer Weergeven op kaart in het pop-upmenu.
Schakel in het deelvenster Gegevenslagen de zichtbaarheid uit voor de WorkordersFunction-laag.
Zodra de kaart is voltooid, wordt de nieuwe kaartlaag weergegeven in uw Fabric Maps-kaart.
Instellingen voor kaartlagen
Fabric Maps biedt een reeks laaginstellingen waarmee je bepaalt hoe data op de kaart wordt weergegeven. In deze sectie past u de laag aan die is gemaakt op basis van het proces voor routeoptimalisatie door de naam van de laag te wijzigen, de symboolstijl aan te passen en labels te configureren op basis van veldwaarden. Deze instellingen helpen de leesbaarheid te verbeteren en het gemakkelijker te maken om werkordergegevens in één oogopslag te interpreteren.
De naam van de laag wijzigen
Open in het Data lagen-paneel het menu OptiméiertRoute-opties door de ellips (...) te selecteren.
Selecteer Naam wijzigen.
Labels op kaartniveau verwijderen
Wanneer je Labels aan- of uitzet op kaartniveau, beïnvloedt dat de tekstlabels van de basismap. Deze labels zijn afkomstig uit de onderliggende kaartstijl en bevatten:
- Stads- en dorpsnamen
- Land- en regionamen
- Namen van wegen en snelwegen
- Namen van waterkenmerken (rivieren, meren, oceanen)
- Andere namen van administratieve of geografische plaatsen
Wanneer labels niet worden weergegeven, wordt de basiskaart 'schoner' weergegeven en is deze minimaal, zonder plaatsnaamtekst die op de basiskaart wordt weergegeven.
Basiskaartlabels uitschakelen:
Open uw kaart in Fabric Maps.
Selecteer Kaartinstellingen in de menubalk.
Zoek het selectievakje Labels en schakel het uit.
Voor meer informatie over kaartinstellingen in Fabric Maps, zie Basemap-instellingen configureren.
Gegevenslabels toevoegen aan de laag
Gegevenslabels zijn gegevensgestuurde aantekeningen die afkomstig zijn van een of meer velden in de gegevensset van de laag. Ze zijn rechtstreeks gekoppeld aan kaartfuncties op laagniveau, zoals de punten op de kaart die werkorderlocaties vertegenwoordigen. Voor meer informatie over Fabric Maps datalabels, zie Data label-instellingen.
Selecteer Geoptimaliseerde route in het Datalagen-paneel . Het instellingenpaneel Geoptimaliseerde Route verschijnt aan de rechterkant van het scherm.
Selecteer in het menu Instellingen voor Geoptimaliseerde Route de > instellingen voor Gegevenslabel.
Selecteer de wisselknop Gegevenslabels inschakelen om gegevenslabels in te schakelen. Hier ziet u meer instellingen voor gegevenslabels.
Wijzig de volgende instellingen voor gegevenslabels:
- Gegevenslabels: optimizedIndex
- Tekstkleur: wit
- Schuifregelaar voor tekstgrootte ingesteld op 20
- Tekststreekkleur: zwart
- Schuifregelaar voor de breedte van de tekststreek ingesteld op 2
Een schermopname van Microsoft Fabric Maps met het instellingenpaneel voor gegevenslabels aan de rechterkant uitgevouwen, waar Schakel gegevenslabels in ingeschakeld staat, de vervolgkeuzelijst Gegevenslabels is ingesteld op optimizedIndex, de tekstkleur met een witte kleurkiezer, de schuifregelaar voor tekstgrootte ingesteld op 20, de tekstomtrek met zwart, en de schuifregelaar voor tekstomtrek ingesteld op 2. Het hoofdkaartgebied toont een straatkaart van Wenen, Oostenrijk, met paarse routelijnen die genummerde waypoints 1 tot en met 9 verbinden, die de geoptimaliseerde bezoekvolgorde aangeven. In het deelvenster Gegevenslagen aan de linkerkant ziet u WorkordersFunction met zichtbaarheid verborgen en geoptimaliseerde route als de actieve laag.
Samenvatting
Deze tutorial liet je zien hoe je een end-to-end, realtime werkorder-routingscenario kunt bouwen met Microsoft Fabric Real-Time Intelligence en Fabric Maps. Je verwerkt, transformeert en vraagt streaming-werkordergegevens op door KQL te gebruiken, en visualiseert vervolgens de data op een kaart om een dynamisch, continu bijgewerkt overzicht van werkorderlocaties te creëren. Door routeringslogica en optimale padberekeningen te integreren, laat de oplossing zien hoe realtime georuimtelijke analyses kunnen helpen dispatchers en veldbewerkingsteams snellere, beter geïnformeerde beslissingen te nemen.
U kunt dit patroon uitbreiden naar andere locatiegebaseerde scenario's zoals vloottracking, asset monitoring en incidentrespons. Door gebeurtenisgestuurde gegevens, op KQL gebaseerde analyses en kaartvisualisatie te combineren, maakt Microsoft Fabric een overgang mogelijk van onbewerkte streaminggegevens naar praktische geografische inzichten in bijna realtime.
Volgende stappen
Voor meer informatie over de artikelen over Fabric Maps die in deze tutorial aan bod komen, zie: