Skapare för inomhuskartor

Den här artikeln beskriver begrepp och verktyg som gäller för Azure Kartor Creator. Vi rekommenderar att du läser den här artikeln innan du börjar använda Azure Kartor Creator API och SDK.

Du kan använda Creator för att utveckla program med kartfunktioner som baseras på kartdata inomhus. I den här artikeln beskrivs hur du laddar upp, konverterar, skapar och använder dina kartdata. Vanligtvis slutförs arbetsflödet av två olika personer med olika expertområden och ansvarsområden:

  • Kartskapare: ansvarar för att kurera och förbereda kartdata.
  • Användare av mappningsdata för skapare: använder kundkartdata i program.

Följande diagram illustrerar hela arbetsflödet.

Creator map data workflow

Skapa Azure Kartor Creator

Om du vill använda Creator-tjänster måste en Azure Kartor Creator-resurs skapas och associeras till ett Azure Kartor-konto med prisnivån Gen 2. Information om hur du skapar en Azure Kartor Creator-resurs i Azure finns i Hantera Azure Kartor Creator.

Dricks

Prisinformation finns i avsnittet Skapare i Azure Kartor prissättning.

Skaparautentisering

Creator ärver inställningarna för Azure Kartor Access Control (IAM). Alla API-anrop för dataåtkomst måste skickas med autentiserings- och auktoriseringsregler.

Användningsdata för skapare ingår i azure-Kartor användningsdiagram och aktivitetslogg. Mer information finns i Hantera autentisering i Azure Kartor.

Viktigt!

Vi rekommenderar att du använder:

  • Microsoft Entra-ID i alla lösningar som har skapats med ett Azure Kartor-konto med hjälp av Creator-tjänster. Mer information om Microsoft Entra-ID finns i Microsoft Entra-autentisering.

  • Inställningar för rollbaserad åtkomstkontroll. Med hjälp av de här inställningarna kan kartskapare fungera som rollen Azure Kartor datadeltagare, och användare av mappningsdata för Skapare kan fungera som Rollen Azure Kartor dataläsare. Mer information finns i Auktorisering med rollbaserad åtkomstkontroll.

Typer av skapardataobjekt

Creator-tjänster skapar, lagrar och använder olika datatyper som definieras och beskrivs i följande avsnitt. Ett skapardataobjekt kan vara av följande typer:

  • Konverterade data
  • Datamängd
  • Paneluppsättning
  • style
  • Mappningskonfiguration
  • Funktionstillståndsuppsättning
  • Routningsuppsättning

Ladda upp ett ritningspaket

Skaparen samlar in kartdata inomhus genom att konvertera ett uppladdat ritningspaket. Ritningspaketet representerar en konstruerad eller ombyggd anläggning. Information om krav för ritningspaket finns i Krav för ritningspaket.

Följ stegen som beskrivs i artikeln Så här skapar du dataregister för att ladda upp ritningspaketet till ditt Azure Storage-konto och registrera det sedan i ditt Azure Kartor-konto.

Viktigt!

Se till att anteckna värdet för den unika identifieraren (udid) och du behöver det. udid Krävs för att konvertera det uppladdade paketet till kartdata inomhus.

Konvertera ett ritningspaket

Konverteringstjänsten konverterar ett uppladdat ritningspaket till kartdata inomhus. Konverteringstjänsten verifierar också paketet. Valideringsproblem klassificeras i två typer:

  • Fel: Om några fel identifieras misslyckas konverteringsprocessen. När ett fel inträffar tillhandahåller konverteringstjänsten en länk till det fristående webbprogrammet Azure Kartor Drawing Error Visualizer. Du kan använda Visualiseraren för ritningsfel för att inspektera varningar och fel i ritningspaketet som inträffade under konverteringsprocessen. När du har åtgärdat felen kan du försöka ladda upp och konvertera paketet.
  • Varningar: Om några varningar identifieras lyckas konverteringen. Vi rekommenderar dock att du granskar och löser alla varningar. En varning innebär att en del av konverteringen ignorerades eller korrigerades automatiskt. Om du inte kan lösa varningarna kan det leda till fel i senare processer. Mer information finns i Varningar och fel för ritningspaket.

Skapa kartdata inomhus

Azure Kartor Creator tillhandahåller följande tjänster som stöder kartskapande:

  • Datauppsättningstjänst.
  • Tileset-tjänsten. Använd tileset-tjänsten för att skapa en vektorbaserad representation av en datauppsättning. Program kan använda en paneluppsättning för att presentera en visuell panelbaserad vy över datauppsättningen.
  • Anpassad formateringstjänst. Använd formattjänsten eller visualiseringsformatredigeraren för att anpassa de visuella elementen i en inomhuskarta.
  • Funktionstillståndstjänst. Använd tjänsten Funktionstillstånd för att stödja dynamisk kartformatering. Program kan använda dynamisk kartformatering för att återspegla realtidshändelser på utrymmen som tillhandahålls av IoT-systemet.
  • Wayfinding-tjänsten. Använd wayfinding-API:et för att generera en sökväg mellan två punkter i en anläggning. Använd routningsuppsättnings-API:et för att skapa de data som wayfinding-tjänsten behöver för att generera sökvägar.

Datauppsättningar

En datauppsättning är en samling funktioner för inomhuskartor. Funktionerna på inomhuskartan representerar anläggningar som definieras i ett konverterat ritningspaket. När du har skapat en datauppsättning med datauppsättningstjänsten kan du skapa valfritt antal paneluppsättningar eller funktionstillstånd.

Utvecklare kan när som helst använda datauppsättningstjänsten för att lägga till eller ta bort anläggningar i en befintlig datauppsättning. Mer information om hur du uppdaterar en befintlig datauppsättning med hjälp av API:et finns i tilläggsalternativen i Datauppsättningstjänsten. Ett exempel på hur du uppdaterar en datauppsättning finns i Dataunderhåll.

Tilesets

En paneluppsättning är en samling vektordata som representerar en uppsättning enhetliga rutnätspaneler. Utvecklare kan använda tileset-tjänsten för att skapa paneluppsättningar från en datauppsättning.

Om du vill återspegla olika innehållssteg kan du skapa flera paneluppsättningar från samma datauppsättning. Du kan till exempel göra en paneluppsättning med möbler och utrustning, och en annan paneluppsättning utan möbler och utrustning. Du kan välja att generera en paneluppsättning med de senaste datauppdateringarna och en annan paneluppsättning utan de senaste datauppdateringarna.

Förutom vektordata tillhandahåller paneluppsättningen metadata för kartrenderingsoptimering. Metadata för paneluppsättningar innehåller till exempel en minsta och högsta zoomnivå för paneluppsättningen. Metadata innehåller också en avgränsningsruta som definierar paneluppsättningens geografiska omfattning. Ett program kan använda en avgränsningsruta för att programmatiskt ange rätt mittpunkt. Mer information om metadata för paneluppsättningar finns i Paneluppsättningslista.

När en paneluppsättning har skapats hämtas den med hjälp av renderingstjänsten.

Om en paneluppsättning blir inaktuell och inte längre är användbar kan du ta bort paneluppsättningen. Information om hur du tar bort paneluppsättningar finns i Dataunderhåll.

Kommentar

En paneluppsättning är oberoende av datauppsättningen som den skapades från. Om du skapar paneluppsättningar från en datauppsättning och sedan uppdaterar datauppsättningen uppdateras inte paneluppsättningarna.

Om du vill återspegla ändringar i en datauppsättning måste du skapa nya paneluppsättningar. På samma sätt påverkas inte datauppsättningen om du tar bort en paneluppsättning.

Anpassad formatering (förhandsversion)

Ett format definierar det visuella utseendet på en karta. Den definierar vilka data som ska ritas, ordningen för att rita in dem och hur du formaterar data när du ritar dem. Azure Kartor Creator-format har stöd för MapLibre-standarden för formatlager och sprites.

När du konverterar ett ritningspaket efter att du har laddat upp det till ditt Azure Kartor-konto tillämpas standardformat på elementen på kartan. Med den anpassade formateringstjänsten kan du anpassa kartans visuella utseende. Du kan göra detta genom att redigera JSON-formatet manuellt och importera det till ditt Azure Kartor-konto med hjälp av Format – Skapa HTTP-begäran, men den rekommenderade metoden är att använda redigeraren för visuellt format. Mer information finns i Skapa anpassade format för inomhuskartor.

Exempellager i filen style.json:

{
	"id": "indoor_unit_gym_label",
	"type": "symbol",
	"filter": ["all", ["has","floor0"], ["any", ["==", "categoryName", "room.gym"]]],
	"layout": {
		"visibility": "none",
		"icon-image": "gym",
		"icon-size": {"stops": [[17.5, 0.7], [21, 1.1]]},
		"symbol-avoid-edges": true,
		"symbol-placement": "point",
		"text-anchor": "top",
		"text-field": "{name}",
		"text-font": ["SegoeFrutigerHelveticaMYingHei-Medium"],
		"text-keep-upright": true,
		"text-letter-spacing": 0.1,
		"text-offset": [0, 1.05],
		"text-size": {"stops": [[18, 5], [18.5, 6.5], [19, 8], [19.5, 9.5], [20, 11]]}
	},
	"metadata": {"microsoft.maps:layerGroup": "labels_indoor"},
	"minzoom": 17.5,
	"paint": {
		"text-color": "rgba(0, 0, 0, 1)",
		"text-halo-blur": 0.5,
		"text-halo-color": "rgba(255, 255, 255, 1)",
		"text-halo-width": 1,
		"text-opacity": ["step", ["zoom"], 0, 18, 1]
	},
	"source-layer": "Indoor unit"
},
Lageregenskaper beskrivning
id Namnet på lagret
type Återgivningstypen för det här lagret.
Några av de vanligaste typerna är:
fyllning: En fylld polygon med en valfri kantlinje.
Linje: En linjelinje.
Symbol: En ikon eller en textetikett.
fill-extrusion: En extruderad (3D) polygon.
filter Endast funktioner som matchar filtervillkoren visas.
layout Layoutegenskaper för lagret.
minzoom Ett tal mellan 0 och 24 som representerar den minsta zoomnivån för lagret. Vid zoomnivåer som är mindre än minzoomen är lagret dolt.
Måla Standardfärgegenskaper för det här lagret.
source-layer En källa tillhandahåller data från en vektorpanelkälla som visas på en karta. Krävs för vektorpanelkällor. för alla andra källtyper, inklusive GeoJSON-källor.

Mappningskonfiguration

Kartkonfigurationen är en matris med konfigurationer. Varje konfiguration består av en baskarta och ett eller flera lager, där varje lager består av en tupppel + för formatpaneler.

Kartkonfigurationen används när du instansierar inomhushanteraren för ett kartobjekt när du utvecklar program i Azure Kartor. Det refereras med hjälp av mapConfigurationId eller alias. Kartkonfigurationer är oföränderliga. När du gör ändringar i en befintlig kartkonfiguration skapas en ny kartkonfiguration, vilket resulterar i en annan mapConfingurationId. Varje gång du skapar en kartkonfiguration med hjälp av ett alias som redan används av en befintlig kartkonfiguration pekar den på den nya kartkonfigurationen.

Följande JSON är ett exempel på en standardmappningskonfiguration. I följande tabell finns en beskrivning av varje element i filen:

{
    "version": 1.0,
    "description": "This is the default Azure Maps map configuration for facility ontology tilesets.",
    "defaultConfiguration": "indoor_light",
    "configurations": [
        {
            "name": "indoor_light",
            "displayName": "Indoor light",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_2022-01-01.png",
            "baseMap": "microsoft_light",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_2022-01-01"
                }
            ]
        },
        {
            "name": "indoor_dark",
            "displayName": "Indoor dark",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_dark_2022-01-01.png",
            "baseMap": "microsoft_dark",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_dark_2022-01-01"
                }
            ]
        }
    ]
}
Egenskaper för formatmallsobjekt beskrivning
Name Namnet på formatmallen.
displayName Formatmallens visningsnamn.
description Användardefinierad beskrivning av formatet.
miniatyr Använd för att ange miniatyrbilden som används i formatväljaren för det här formatet. Mer information finns i formatväljarens kontroll.
Grundkarta Använd för att ange baskartans formatmall.
Lager Lagermatrisen består av en eller flera paneluppsättningar + formatupplar , var och en är ett lager av kartan. Detta möjliggör flera byggnader på en karta, där varje byggnad representeras i en egen paneluppsättning.

Ytterligare information

Funktionstillståndsuppsättningar

Funktionstillstånd är samlingar av dynamiska egenskaper (tillstånd) som tilldelas till datamängdsfunktioner, till exempel rum eller utrustning. Ett exempel på ett tillstånd kan vara temperatur eller beläggning. Varje tillstånd är ett nyckel/värde-par som innehåller namnet på egenskapen, värdet och tidsstämpeln för den senaste uppdateringen.

Du kan använda funktionstillståndstjänsten för att skapa och hantera en funktionstillståndsuppsättning för en datauppsättning. Tillståndsuppsättningen definieras av ett eller flera tillstånd. Varje funktion, till exempel ett rum, kan ha ett tillstånd kopplat till den.

Värdet för varje tillstånd i en tillståndsuppsättning uppdateras eller hämtas av IoT-enheter eller andra program. Om du till exempel använder API:et för funktionstillståndsuppdatering kan enheter som mäter utrymmesbeläggning systematiskt publicera tillståndsändringen av ett rum.

Ett program kan använda en funktionstillståndsuppsättning för att dynamiskt återge funktioner i en anläggning enligt deras aktuella tillstånd och respektive kartformat. Mer information om hur du använder funktionstillståndsuppsättningar för att formatera funktioner i en återgivningskarta finns i Modulen Inomhus Kartor.

Kommentar

Precis som paneluppsättningar påverkar inte ändring av en datauppsättning den befintliga funktionsstatusuppsättningen, och att ta bort en funktionstillståndsuppsättning påverkar inte den datauppsättning som den är ansluten till.

Wayfinding (förhandsversion)

Med Wayfinding-tjänsten kan du ge dina kunder den kortaste vägen mellan två punkter i en anläggning. När du har importerat dina kartdata inomhus och skapat din datauppsättning kan du använda den för att skapa en routningsuppsättning. Routningsuppsättningen innehåller de data som krävs för att generera sökvägar mellan två punkter. Wayfinding-tjänsten tar hänsyn till saker som minsta bredd på öppningar och kan eventuellt utesluta hissar eller trappor när du navigerar mellan nivåer som ett resultat.

Creator wayfinding drivs av Havok.

Wayfinding-sökvägar

När en vägfiningssökväg har genererats hittar den den kortaste sökvägen mellan två punkter i den angivna anläggningen. Varje våning i resan representeras som ett separat ben, liksom alla trappor eller hissar som används för att flytta mellan våningarna.

Till exempel kan den första delen av sökvägen vara från ursprunget till hissen på den våningen. Nästa ben är hissen, och sedan är den sista etappen vägen från hissen till målet. Den uppskattade restiden beräknas också och returneras i HTTP-svarets JSON.

Struktur

För att wayfinding ska fungera måste anläggningsdata innehålla en struktur. Wayfinding-tjänsten beräknar den kortaste sökvägen mellan två valda punkter i en anläggning. Tjänsten skapar sökvägen genom att navigera runt strukturer, till exempel väggar och andra ogenomträngliga strukturer.

Lodrät inträngning

Om det valda ursprunget och målet finns på olika våningar avgör wayfinding-tjänsten vilka vertikalaPenetrationsobjekt som trappor eller hissar som är tillgängliga som möjliga vägar för att navigera vertikalt mellan nivåer. Som standard används det alternativ som resulterar i den kortaste sökvägen.

Wayfinding-tjänsten inkluderar trappor eller hissar i en sökväg baserat på värdet av den vertikala penetrationens direction egenskap. Mer information om riktningsegenskapen finns i verticalPenetration i artikeln Facility Ontology. Mer information om andra faktorer som kan påverka sökvägsvalet mellan golvnivåer finns i dokumentationen avoidFeaturesminWidth och i dokumentationen för api:et för wayfinding .

Mer information finns i artikeln om wayfinding-tjänsten för inomhuskartor.

Använda inomhuskartor

Rendera – Hämta API för kartpanel

API:et för Azure Kartor [Render - Get Map Tile] har utökats för att stödja Creator-paneluppsättningar.

Program kan använda API:et Render – Get Map Tile för att begära paneluppsättningar. Paneluppsättningarna kan sedan integreras i en kartkontroll eller SDK. Ett exempel på en kartkontroll som använder renderingstjänsten finns i Modulen Inomhus Kartor.

API för webbfunktionstjänst

Du kan använda webbfunktionstjänsten (WFS) för att fråga efter datauppsättningar. WFS följer api-funktionerna för Open Geospatial Consortium. Du kan använda WFS-API:et för att fråga efter funktioner i själva datauppsättningen. Du kan till exempel använda WFS för att hitta alla mellanstora mötesrum för en specifik anläggning och golvnivå.

Alias-API

Creator-tjänster som Konvertering, Datauppsättning, Paneluppsättning och Funktionstillstånd returnerar en identifierare för varje resurs som skapas från API:erna. Med alias-API :et kan du tilldela ett alias för att referera till en resursidentifierare.

Modul för inomhuskartor

Azure Kartor Web SDK innehåller modulen Inomhus Kartor. Den här modulen erbjuder utökade funktioner till Azure Kartor Map Control-biblioteket. Modulen Indoor Kartor renderar inomhuskartor som skapats i Creator. Den integrerar widgetar som golvväljare som hjälper användarna att visualisera de olika våningarna.

Du kan använda modulen Indoor Kartor för att skapa webbprogram som integrerar kartdata inomhus med andra Azure Kartor-tjänster. De vanligaste programinställningarna är att lägga till kunskap från andra kartor – till exempel väg, bilder, väder och transit – till inomhuskartor.

Modulen Indoor Kartor stöder också dynamisk kartformatering. En stegvis genomgång för att implementera funktionstillståndet dynamisk formatering i ett program finns i Använda modulen Inomhuskarta.

Azure Kartor-integrering

När du börjar utveckla lösningar för inomhuskartor kan du hitta sätt att integrera befintliga Funktioner i Azure Kartor. Du kan till exempel implementera tillgångsspårning eller säkerhetsscenarier med hjälp av Geofence-tjänsten med inomhuskartor för Creator. Du kan till exempel använda Geofence-API:et för att avgöra om en arbetare kommer in i eller lämnar specifika inomhusområden. Mer information om hur du ansluter Azure Kartor med IoT-telemetri finns i Självstudie: Implementera rumslig IoT-analys med hjälp av Azure Kartor.

Dataunderhåll

Du kan använda API:et Azure Kartor Creator List, Update och Delete för att lista, uppdatera och ta bort dina datauppsättningar, paneluppsättningar och funktionstillstånd.

Kommentar

När du granskar en lista med objekt för att avgöra om du vill ta bort dem bör du överväga effekten av borttagningen på alla beroende API:er eller program. Om du till exempel tar bort en paneluppsättning som används av ett program med hjälp av API:et [Rendera – Hämta kartpanel] kan programmet inte återge paneluppsättningen.

Exempel: Uppdatera en datauppsättning

I följande exempel visas hur du uppdaterar en datauppsättning, skapar en ny paneluppsättning och tar bort en gammal paneluppsättning:

  1. Följ stegen i avsnitten Ladda upp ett ritpaket och Konvertera ett ritpaket för att ladda upp och konvertera det nya ritningspaketet.
  2. Använd Skapa datauppsättning för att lägga till konverterade data i den befintliga datauppsättningen.
  3. Använd Paneluppsättning Skapa för att generera en ny paneluppsättning från den uppdaterade datauppsättningen.
  4. Spara det nya tilesetId för nästa steg.
  5. Om du vill aktivera visualiseringen av den uppdaterade campusdatauppsättningen uppdaterar du identifieraren för paneluppsättningen i ditt program. Om den gamla paneluppsättningen inte längre används kan du ta bort den.

Nästa steg