Maker voor indoorkaarten

In dit artikel worden concepten en hulpprogramma's geïntroduceerd die van toepassing zijn op Azure Kaarten Creator. We raden u aan dit artikel te lezen voordat u de Azure Kaarten Creator-API en SDK gaat gebruiken.

U kunt Creator gebruiken om toepassingen te ontwikkelen met kaartfuncties die zijn gebaseerd op indoorkaartgegevens. In dit artikel wordt beschreven hoe u uw kaartgegevens uploadt, converteert, maakt en gebruikt. Normaal gesproken wordt de werkstroom voltooid door twee verschillende persona's met verschillende expertisegebieden en verantwoordelijkheidsgebieden:

  • Mapmaker: verantwoordelijk voor het cureren en voorbereiden van de kaartgegevens.
  • Maker kaartgegevensgebruiker: maakt gebruik van klanttoewijzingsgegevens in toepassingen.

In het volgende diagram ziet u de hele werkstroom.

Creator map data workflow

Azure Kaarten Creator maken

Als u Creator-services wilt gebruiken, moet een Azure Kaarten Creator-resource worden gemaakt en gekoppeld aan een Azure Kaarten-account met de prijscategorie Gen 2. Zie Azure Kaarten Creator beheren voor meer informatie over het maken van een Azure Kaarten Creator-resource in Azure.

Tip

Zie de sectie Creator in Azure Kaarten prijzen voor prijsinformatie.

Verificatie van maker

Creator neemt de IAM-instellingen (Access Control) van Azure Kaarten over. Alle API-aanroepen voor gegevenstoegang moeten worden verzonden met verificatie- en autorisatieregels.

Gebruiksgegevens van makers worden opgenomen in uw Azure Kaarten gebruiksgrafieken en activiteitenlogboek. Zie Verificatie beheren in Azure Kaarten voor meer informatie.

Belangrijk

U wordt aangeraden het volgende te gebruiken:

  • Microsoft Entra ID in alle oplossingen die zijn gebouwd met een Azure Kaarten-account met behulp van Creator-services. Zie Microsoft Entra-verificatie voor meer informatie over Microsoft Entra-id.

  • Instellingen voor op rollen gebaseerd toegangsbeheer. Met behulp van deze instellingen kunnen kaartmakers fungeren als de rol Azure Kaarten Inzender voor gegevens en kunnen gebruikers van maker-kaartgegevens fungeren als de rol Azure Kaarten Gegevenslezer. Zie Autorisatie met op rollen gebaseerd toegangsbeheer voor meer informatie.

Typen creator-gegevensitems

Creator-services maken, opslaan en gebruiken verschillende gegevenstypen die in de volgende secties worden gedefinieerd en besproken. Een makergegevensitem kan van de volgende typen zijn:

  • Geconverteerde gegevens
  • Gegevensset
  • Tegelset
  • stijl
  • Toewijzingsconfiguratie
  • Functiestatusset
  • Routeset

Een tekenpakket uploaden

Maker verzamelt indoorkaartgegevens door een geüpload tekenpakket te converteren. Het tekenpakket vertegenwoordigt een geconstrueerde of geremodelleerde faciliteit. Zie Tekenpakketvereisten voor informatie over de vereisten voor tekenpakketten.

Volg de stappen in het artikel Gegevensregister maken om het tekenpakket te uploaden naar uw Azure-opslagaccount en registreer het vervolgens in uw Azure Kaarten-account.

Belangrijk

Noteer de unieke id (udid)-waarde die u nodig hebt. Het udid is vereist om het geüploade pakket te converteren naar indoorkaartgegevens.

Een tekenpakket converteren

Met de conversieservice wordt een geüpload tekenpakket geconverteerd naar gegevens van een indoorkaart. De conversieservice valideert ook het pakket. Validatieproblemen worden ingedeeld in twee typen:

  • Fouten: Als er fouten worden gedetecteerd, mislukt het conversieproces. Wanneer er een fout optreedt, biedt de conversieservice een koppeling naar de zelfstandige webtoepassing van Azure Kaarten Drawing Error Visualizer. U kunt tekenenfout visualiseren gebruiken om waarschuwingen en fouten van tekenpakketten te controleren die zijn opgetreden tijdens het conversieproces. Nadat u de fouten hebt opgelost, kunt u proberen het pakket te uploaden en te converteren.
  • Waarschuwingen: Als er waarschuwingen worden gedetecteerd, slaagt de conversie. We raden u echter aan alle waarschuwingen te bekijken en op te lossen. Een waarschuwing betekent dat een deel van de conversie is genegeerd of automatisch is opgelost. Als u de waarschuwingen niet kunt oplossen, kunnen er fouten optreden in latere processen. Zie Waarschuwingen en fouten van tekenpakketten voor meer informatie.

Gegevens binnenkaart maken

Azure Kaarten Creator biedt de volgende services die ondersteuning bieden voor het maken van kaarten:

  • Gegevenssetservice.
  • Tegelsetservice. Gebruik de Tegelset-service om een op vector gebaseerde weergave van een gegevensset te maken. Toepassingen kunnen een tegelset gebruiken om een weergave op basis van een visuele tegel van de gegevensset te presenteren.
  • Aangepaste stylingservice. Gebruik de stijlservice of visuele stijleditor om de visuele elementen van een indoorkaart aan te passen.
  • Functiestatusservice. Gebruik de functie Statusservice om dynamische kaartstijlen te ondersteunen. Toepassingen kunnen dynamische kaartstijl gebruiken om realtimegebeurtenissen weer te geven op ruimten die door het IoT-systeem worden geleverd.
  • Wayfinding-service. Gebruik de wayfinding-API om een pad te genereren tussen twee punten binnen een faciliteit. Gebruik de routeset-API om de gegevens te maken die de wayfinding-service nodig heeft om paden te genereren.

Gegevenssets

Een gegevensset is een verzameling indoorkaartfuncties. De indoorkaartfuncties vertegenwoordigen faciliteiten die zijn gedefinieerd in een geconverteerd tekenpakket. Nadat u een gegevensset hebt gemaakt met de gegevenssetservice, kunt u een willekeurig aantal tegelsets of functiestatussets maken.

Ontwikkelaars kunnen op elk gewenst moment de gegevenssetservice gebruiken om faciliteiten aan een bestaande gegevensset toe te voegen of te verwijderen. Zie de toevoegopties in de gegevenssetservice voor meer informatie over het bijwerken van een bestaande gegevensset met behulp van de API. Zie Gegevensonderhoud voor een voorbeeld van het bijwerken van een gegevensset.

Tegelsets

Een tegelset is een verzameling vectorgegevens die een set uniforme rastertegels vertegenwoordigt. Ontwikkelaars kunnen de Tegelset-service gebruiken om tegelsets te maken op basis van een gegevensset.

Als u verschillende inhoudsfasen wilt weergeven, kunt u meerdere tegelsets maken op basis van dezelfde gegevensset. U kunt bijvoorbeeld één tegelset maken met meubels en apparatuur, en een andere tegelset zonder meubels en apparatuur. U kunt ervoor kiezen om één tegelset te genereren met de meest recente gegevensupdates en een andere tegelset zonder de meest recente gegevensupdates.

Naast de vectorgegevens biedt de tegelset metagegevens voor optimalisatie van kaartweergave. Tegelsetmetagegevens bevatten bijvoorbeeld een minimum- en maximumzoomniveau voor de tegelset. De metagegevens bieden ook een begrenzingsvak waarmee de geografische omvang van de tegelset wordt gedefinieerd. Een toepassing kan een begrenzingsvak gebruiken om het juiste middelpunt programmatisch in te stellen. Zie De tegelsetlijst voor meer informatie over metagegevens van tegelset.

Nadat een tegelset is gemaakt, wordt deze opgehaald met behulp van de Render-service.

Als een tegelset verouderd raakt en niet meer nuttig is, kunt u de tegelset verwijderen. Zie Gegevensonderhoud voor informatie over het verwijderen van tegelsets.

Notitie

Een tegelset is onafhankelijk van de gegevensset waaruit deze is gemaakt. Als u tegelsets maakt op basis van een gegevensset en deze gegevensset vervolgens bijwerkt, worden de tegelsets niet bijgewerkt.

Als u wijzigingen in een gegevensset wilt weergeven, moet u nieuwe tegelsets maken. Als u een tegelset verwijdert, wordt de gegevensset ook niet beïnvloed.

Aangepaste stijl (preview)

Een stijl definieert het uiterlijk van een kaart. Hiermee definieert u welke gegevens moeten worden getekend, de volgorde waarin u deze wilt tekenen en hoe u de gegevens kunt stylen bij het tekenen. Azure Kaarten Creator-stijlen ondersteunen de MapLibre-standaard voor stijllagen en sprites.

Wanneer u een tekenpakket converteert nadat u het hebt geüpload naar uw Azure Kaarten-account, worden standaardstijlen toegepast op de elementen van uw kaart. Met de aangepaste stijlservice kunt u het visuele uiterlijk van uw kaart aanpassen. U kunt dit doen door de JSON-stijl handmatig te bewerken en te importeren in uw Azure Kaarten-account met behulp van de stijl - HTTP-aanvraag maken, maar de aanbevolen benadering is om de editor voor visuele stijlen te gebruiken. Zie Aangepaste stijlen voor indoorkaarten maken voor meer informatie.

Voorbeeldlaag in het bestand 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"
},
Laageigenschappen Description
id De naam van de laag
type Het renderingtype voor deze laag.
Enkele van de meest voorkomende typen zijn:
fill: Een opgevulde veelhoek met een optionele rand met pennenstreken.
Lijn: Een lijn met lijnen.
Symbool: een pictogram of een tekstlabel.
fill-extrusion: Een geëxtrudeerde (3D) veelhoek.
filter Alleen functies die voldoen aan de filtercriteria worden weergegeven.
indeling Indelingseigenschappen voor de laag.
minzoom Een getal tussen 0 en 24 dat het minimale zoomniveau voor de laag vertegenwoordigt. Op zoomniveaus die kleiner zijn dan de minzoom, is de laag verborgen.
Verf Standaardverfeigenschappen voor deze laag.
bronlaag Een bron levert de gegevens, van een vectortegelbron, die op een kaart worden weergegeven. Vereist voor vectortegelbronnen; verboden voor alle andere brontypen, met inbegrip van GeoJSON-bronnen.

Toewijzingsconfiguratie

De kaartconfiguratie is een matrix met configuraties. Elke configuratie bestaat uit een basemap en een of meer lagen, elke laag die bestaat uit een + stijltegelset tuple.

De kaartconfiguratie wordt gebruikt wanneer u De Indoor Manager van een kaartobject instantiëren bij het ontwikkelen van toepassingen in Azure Kaarten. Er wordt naar verwezen met behulp van de mapConfigurationId of alias. Toewijzingsconfiguraties zijn onveranderbaar. Wanneer u wijzigingen aanbrengt in een bestaande toewijzingsconfiguratie, wordt er een nieuwe toewijzingsconfiguratie gemaakt, wat resulteert in een andere mapConfingurationId. Wanneer u een kaartconfiguratie maakt met behulp van een alias die al door een bestaande toewijzingsconfiguratie wordt gebruikt, verwijst deze naar de nieuwe toewijzingsconfiguratie.

De volgende JSON is een voorbeeld van een standaardtoewijzingsconfiguratie. Zie de volgende tabel voor een beschrijving van elk element van het bestand:

{
    "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"
                }
            ]
        }
    ]
}
Eigenschappen van stijlobject Description
Naam De naam van de stijl.
displayName De weergavenaam van de stijl.
beschrijving De door de gebruiker gedefinieerde beschrijving van de stijl.
thumbnail Gebruik deze optie om de miniatuur op te geven die wordt gebruikt in de stijlkiezer voor deze stijl. Zie het besturingselement stijlkiezer voor meer informatie.
baseMap Hiermee stelt u de basiskaartstijl in.
Lagen De lagenmatrix bestaat uit een of meer tegelset + style tuples, die elk een laag van de kaart zijn. Hierdoor kunnen meerdere gebouwen op een kaart worden weergegeven, elk gebouw in een eigen tegelset.

Aanvullende informatie

Functiestatussets

Functiestatussets zijn verzamelingen dynamische eigenschappen (statussen) die zijn toegewezen aan gegevenssetfuncties, zoals ruimten of apparatuur. Een voorbeeld van een status kan temperatuur of bezetting zijn. Elke status is een sleutel-waardepaar dat de naam van de eigenschap, de waarde en de tijdstempel van de laatste update bevat.

U kunt de functiestatusservice gebruiken om een functiestatusset voor een gegevensset te maken en te beheren. De statusset wordt gedefinieerd door een of meer statussen. Aan elke functie, zoals een ruimte, kan één status zijn gekoppeld.

De waarde van elke status in een statusset wordt bijgewerkt of opgehaald door IoT-apparaten of andere toepassingen. Met behulp van de Api voor functiestatusupdates kunnen apparaten die ruimtebezetting meten bijvoorbeeld systematisch de statuswijziging van een ruimte posten.

Een toepassing kan een functiestatusset gebruiken om functies in een faciliteit dynamisch weer te geven op basis van hun huidige status en de respectieve kaartstijl. Zie de module Indoor Kaarten voor meer informatie over het gebruik van functiestatussets voor stijlfuncties in een renderingkaart.

Notitie

Net als tegelsets heeft het wijzigen van een gegevensset geen invloed op de bestaande functiestatusset en het verwijderen van een functiestatusset heeft geen invloed op de gegevensset waaraan deze is gekoppeld.

Wayfinding (preview)

Met de Wayfinding-service kunt u uw klanten het kortste pad tussen twee punten binnen een faciliteit bieden. Zodra u uw indoorkaartgegevens hebt geïmporteerd en uw gegevensset hebt gemaakt, kunt u deze gebruiken om een routeset te maken. De routeset bevat de gegevens die nodig zijn om paden tussen twee punten te genereren. De wayfinding service houdt rekening met zaken zoals de minimale breedte van openingen en kan eventueel liften of trappen uitsluiten bij het navigeren tussen niveaus als gevolg hiervan.

Creator wayfinding wordt mogelijk gemaakt door Havok.

Wegwijspaden

Wanneer een pad voor het bepalen van een manier is gegenereerd, wordt het kortste pad tussen twee punten in de opgegeven faciliteit gevonden. Elke verdieping in de reis wordt weergegeven als een apart been, net als elke trap of lift die wordt gebruikt om tussen de verdiepingen te schakelen.

Het eerste been van het pad kan bijvoorbeeld afkomstig zijn van de oorsprong naar de lift op die verdieping. Het volgende been is de lift en dan is het laatste been het pad van de lift naar de bestemming. De geschatte reistijd wordt ook berekend en geretourneerd in de JSON van het HTTP-antwoord.

Structuur

Om te kunnen werken, moeten de faciliteitgegevens een structuur bevatten. De wayfinding-service berekent het kortste pad tussen twee geselecteerde punten in een faciliteit. De service maakt het pad door te navigeren rond structuren, zoals muren en andere ondoordringbare structuren.

Verticale penetratie

Als de geselecteerde oorsprong en bestemming zich op verschillende verdiepingen bevinden, bepaalt de wayfinding-service welke verticalPenetration-objecten , zoals trappen of liften, beschikbaar zijn als mogelijke paden voor het verticaal navigeren tussen niveaus. Standaard wordt de optie die resulteert in het kortste pad gebruikt.

De Wayfinding-service omvat trappen of liften in een pad op basis van de waarde van de eigenschap van de verticale penetratie direction . Zie verticalPenetration in het artikel Facility Ontology voor meer informatie over de richtingeigenschap. Zie de avoidFeatures en minWidth eigenschappen in de api-documentatie voor wayfinding voor meer informatie over andere factoren die van invloed kunnen zijn op de padselectie tussen verdiepingsniveaus.

Zie voor meer informatie het artikel over hoe u de service voor indoorkaarten definieert.

Indoorkaarten gebruiken

Render - Tegel-API voor kaart ophalen

De API voor Azure Kaarten [Render - Get Map Tile] is uitgebreid ter ondersteuning van Creator-tegelsets.

Toepassingen kunnen de Render - Get Map Tile API gebruiken om tegelsets aan te vragen. De tegelsets kunnen vervolgens worden geïntegreerd in een kaartbeheer of SDK. Zie Indoor Kaarten Module voor een voorbeeld van een kaartbeheer dat gebruikmaakt van de Render-service.

Web Feature Service-API

U kunt de webfunctieservice (WFS) gebruiken om query's uit te voeren op gegevenssets. WFS volgt de open georuimtelijke consortium-API-functies. U kunt de WFS-API gebruiken om query's uit te voeren op functies in de gegevensset zelf. U kunt bijvoorbeeld WFS gebruiken om alle middelgrote vergaderruimten van een specifieke faciliteit en verdieping te vinden.

Alias-API

Creator-services zoals Conversie, Gegevensset, Tegelset en Functiestatus retourneren een id voor elke resource die is gemaakt op basis van de API's. Met de Alias-API kunt u een alias toewijzen om te verwijzen naar een resource-id.

Plattegrondmodule

De Azure Kaarten Web SDK bevat de module Indoor Kaarten. Deze module biedt uitgebreide functionaliteiten voor de Azure Kaarten Map Control-bibliotheek. De module Indoor Kaarten geeft indoorkaarten weer die zijn gemaakt in Creator. Het integreert widgets zoals vloerkiezer waarmee gebruikers de verschillende verdiepingen kunnen visualiseren.

U kunt de module Indoor Kaarten gebruiken om webtoepassingen te maken die indoorkaartgegevens integreren met andere Azure Kaarten-services. De meest voorkomende toepassingsinstellingen zijn het toevoegen van kennis van andere kaarten, zoals wegen, afbeeldingen, weer en doorvoer, aan indoorkaarten.

De Indoor Kaarten module ondersteunt ook dynamische kaartstijl. Zie De module Indoor Map gebruiken voor een stapsgewijze procedure voor het implementeren van een functiestatusset dynamische stijl in een toepassing.

Integratie van Azure Kaarten

Wanneer u oplossingen voor indoorkaarten gaat ontwikkelen, kunt u manieren ontdekken om bestaande Mogelijkheden van Azure Kaarten te integreren. U kunt bijvoorbeeld assettracking- of veiligheidsscenario's implementeren met behulp van de Geofence-service met Creator-indoorkaarten. U kunt bijvoorbeeld de Geofence-API gebruiken om te bepalen of een werknemer specifieke binnengebieden binnenkomt of verlaat. Zie zelfstudie: Ruimtelijke analyse van IoT implementeren met Behulp van Azure Kaarten voor meer informatie over het verbinden van Azure Kaarten met IoT-telemetrie.

Gegevensonderhoud

U kunt de API van Azure Kaarten Creator List, Update en Delete gebruiken om uw gegevenssets, tegelsets en functiestatussets weer te geven, bij te werken en te verwijderen.

Notitie

Wanneer u een lijst met items bekijkt om te bepalen of u ze wilt verwijderen, moet u rekening houden met de gevolgen van die verwijdering voor alle afhankelijke API's of toepassingen. Als u bijvoorbeeld een tegelset verwijdert die wordt gebruikt door een toepassing met behulp van de API [Render - Get Map Tile], kan de toepassing die tegelset niet weergeven.

Voorbeeld: Een gegevensset bijwerken

In het volgende voorbeeld ziet u hoe u een gegevensset bijwerkt, een nieuwe tegelset maakt en een oude tegelset verwijdert:

  1. Volg de stappen in de secties Een tekenpakket uploaden en een tekenpakket converteren om het nieuwe tekenpakket te uploaden en te converteren.
  2. Gebruik Gegevensset maken om de geconverteerde gegevens toe te voegen aan de bestaande gegevensset.
  3. Gebruik Tegelset Maken om een nieuwe tegelset te genereren uit de bijgewerkte gegevensset.
  4. Sla de nieuwe tilesetId op voor de volgende stap.
  5. Werk de tegelset-id in uw toepassing bij om de visualisatie van de bijgewerkte campusgegevensset in te schakelen. Als de oude tegelset niet meer wordt gebruikt, kunt u deze verwijderen.

Volgende stappen