Dela via


Krav för ritningspaket

Kommentar

Azure Maps Creator-tillbakadragning

Inomhuskartetjänsten för Azure Maps Creator är nu inaktuell och kommer att dras tillbaka den 25-09-30. Mer information finns i Meddelande om slut på livslängd för Azure Maps Creator.

Du kan konvertera uppladdade ritningspaket till kartdata med hjälp av Azure Maps-konverteringstjänsten. I den här artikeln beskrivs kraven på ritningspaket för konverterings-API:et. Om du vill visa ett exempelpaket kan du ladda ned exempelritningspaketet.

Förutsättningar

Ritningspaketet innehåller ritningar som sparats i DWG-format, vilket är det interna filformatet för Autodesks AutoCAD-programvara®.

Du kan välja vilken CAD-programvara som helst för att skapa ritningarna i ritningspaketet.

Konverteringstjänsten konverterar ritningspaketet till kartdata. Konverteringstjänsten fungerar med AutoCAD DWG-filformatet AC1032.

Ordlista

För enkel referens, här är några termer och definitioner som är viktiga när du läser den här artikeln.

Period Definition
Skikt Ett AutoCAD DWG-lager från ritningsfilen.
Enhet En AutoCAD DWG-entitet från ritningsfilen.
Xref En fil i AutoCAD DWG-filformat som är kopplad till den primära ritningen som en extern referens.
Nivå Ett område i en byggnad på en angivet höjd. Till exempel golvet i en byggnad.
Funktion En instans av ett objekt som skapats från konverteringstjänsten som kombinerar en geometri med metadatainformation.
Funktionsklasser En vanlig skiss för funktioner. En enhet är till exempel en funktionsklass och ett kontor är en funktion.

Struktur för ritningspaket

Ett ritningspaket är ett .zip arkiv som innehåller följande filer:

  • DWG-filer i AutoCAD DWG-filformat.
  • En manifest.json fil som beskriver DWG-filerna i ritningspaketet.

Ritningspaketet måste zippas in i en enda arkivfil med .zip filnamnstillägget. DWG-filerna kan ordnas på alla sätt i paketet, men manifestfilen måste finnas i rotkatalogen för det zippade paketet. I nästa avsnitt beskrivs kraven för DWG-filerna, manifestfilen och innehållet i dessa filer. Om du vill visa ett exempelpaket kan du ladda ned exempelritningspaketet.

DWG-filkonverteringsprocess

Konverteringstjänsten gör följande för varje DWG-fil:

  • Extraherar funktionsklasser:
    • Nivåer
    • Enheter
    • Zoner
    • Öppningar
    • Väggar
    • Lodräta intrång
  • Skapar en funktion för anläggning .
  • Ger en minimal uppsättning standardkategorifunktioner som refereras av andra funktioner:
    • rum
    • struktur
    • vägg
    • opening.door
    • zon
    • facilitet

KRAV för DWG-filer

En enda DWG-fil krävs för varje nivå i anläggningen. Alla data på en enda nivå måste finnas i en enda DWG-fil. Eventuella externa referenser (xrefs) måste vara bundna till den överordnade ritningen. En anläggning med tre nivåer har till exempel tre DWG-filer i ritningspaketet.

Varje DWG-fil måste uppfylla följande krav:

  • DWG-filen måste definiera skikten Exteriör och Enhet . Du kan också definiera följande lager: Wall, Door, UnitLabel, Zone och ZoneLabel.
  • DWG-filen kan inte innehålla funktioner från flera nivåer.
  • DWG-filen får inte innehålla funktioner från flera anläggningar.
  • DWG måste referera till samma måttsystem och måttenhet som andra DWG-filer i ritningspaketet.

KRAV för DWG-lager

Varje DWG-lager måste följa följande regler:

  • Ett lager måste uteslutande innehålla funktioner i en enda klass. Enheter och väggar kan till exempel inte finnas i samma lager.
  • En enda klass med funktioner kan representeras av flera lager.
  • Själv intersekerande polygoner är tillåtna, men repareras automatiskt. När de repareras genererar konverteringstjänsten en varning. Vi rekommenderar att du inspekterar de reparerade resultaten manuellt, eftersom de kanske inte matchar de förväntade resultaten.
  • Varje lager har en lista över entitetstyper som stöds. Andra entitetstyper i ett lager ignoreras. Textentiteter stöds till exempel inte på vägglagret.

I följande tabell beskrivs de entitetstyper som stöds och konverterade kartfunktioner för varje lager. Om ett lager innehåller entitetstyper som inte stöds ignorerar konverteringstjänsten dessa entiteter.

Skikt Entitetstyper Konverterade funktioner
Yttre POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd) Nivåer
Enhet POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd) Enheter och vertikala intrång
Vägg POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd), Strukturer
Dörr POLYGON, POLYLINE, LINJE, CIRCULARARC, CIRKEL Öppningar
Zon POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd) Zoner
UnitLabel Text (enkel rad) Ej tillämpbart. Det här lagret kan bara lägga till egenskaper i enhetsfunktionerna från enhetsskiktet. Mer information finns i UnitLabel-lagret.
ZoneLabel Text (enkel rad) Ej tillämpbart. Det här lagret kan bara lägga till egenskaper i zonfunktioner från ZonesLayer. Mer information finns i ZoneLabel-lagret.

I följande avsnitt beskrivs kraven för varje lager.

Yttre lager

DWG-filen för varje nivå måste innehålla ett lager för att definiera den nivåns perimeter. Det här lagret kallas för det yttre lagret. Om en anläggning till exempel innehåller två nivåer måste den ha två DWG-filer, med ett yttre lager för varje fil.

Oavsett hur många entitetsritningar som finns i det yttre lagret innehåller den resulterande anläggningsdatauppsättningen endast en nivåfunktion för varje DWG-fil. Dessutom:

  • Utsidan måste ritas som POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd).
  • Exteriörer kan överlappa varandra, men löses upp i en geometri.
  • Den resulterande nivåfunktionen måste vara minst 4 kvadratmeter.
  • Den resulterande nivåfunktionen får inte vara större än 400 000 kvadratmeter.

Om lagret innehåller flera överlappande PolyLines löses de upp i en enda nivåfunktion. Om lagret i stället innehåller flera polylines som inte överlappar varandra har den resulterande nivåfunktionen en representation med flera polygoner.

Du kan se ett exempel på det yttre lagret som dispositionsskiktet i exempelritningspaketet.

Enhetslager

DWG-filen för varje nivå definierar ett lager som innehåller enheter. Enheter är navigeringsbara utrymmen i byggnaden, till exempel kontor, korridorer, trappor och hissar. Om egenskapen VerticalPenetrationCategory har definierats konverteras navigeringsbara enheter som sträcker sig över flera nivåer, till exempel hissar och trappor, till vertikala penetrationsfunktioner. Vertikala penetrationsfunktioner som överlappar varandra tilldelas en setid.

Enhetslagret bör uppfylla följande krav:

  • Enheter måste ritas som POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd).
  • Enheterna måste falla inom gränserna för anläggningens yttre perimeter.
  • Enheter får inte delvis överlappa varandra.
  • Enheterna får inte innehålla någon geometri med självindelning.

Namnge en enhet genom att skapa ett textobjekt i UnitLabel-lagret och placera sedan objektet inom enhetens gränser. Mer information finns i UnitLabel-lagret.

Du kan se ett exempel på lagret Enheter i exempelritningspaketet.

Väggskikt

DWG-filen för varje nivå kan innehålla ett lager som definierar den fysiska omfattningen av väggar, kolumner och annan byggnadsstruktur.

  • Väggar måste ritas som POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd).
  • Väggskiktet eller skikten bör endast innehålla geometri som tolkas som byggnadsstruktur.

Du kan se ett exempel på lagret Väggar i exempelritningspaketet.

Dörrskikt

Du kan inkludera ett DWG-lager som innehåller dörrar. Varje dörr måste överlappa kanten på en enhet från enhetsskiktet.

Dörröppningar i en Azure Maps-datauppsättning representeras som ett enradssegment som överlappar flera enhetsgränser. Följande bilder visar hur Azure Maps konverterar dörrskiktsgeometri till att öppna funktioner i en datauppsättning.

Fyra bilder som visar stegen för att generera öppningar

Zonskikt

DWG-filen för varje nivå kan innehålla ett zonskikt som definierar zonernas fysiska omfattning. En zon är ett icke-farbart utrymme som kan namnges och återges. Zoner kan sträcka sig över flera nivåer och grupperas tillsammans med egenskapen zoneSetId.

  • Zoner måste ritas som POLYGON, POLYLINE (stängd) eller ELLIPSE (stängd).
  • Zoner kan överlappa varandra.
  • Zoner kan falla inom eller utanför anläggningens yttre perimeter.

Namnge en zon genom att skapa ett textobjekt i ZoneLabel-lagret och placera textobjektet inom zonens gränser. Mer information finns i ZoneLabel-lagret.

Du kan se ett exempel på zonskiktet i exempelritningspaketet.

UnitLabel-lager

DWG-filen för varje nivå kan innehålla ett UnitLabel-lager. UnitLabel-lagret lägger till en namnegenskap till enheter som extraherats från enhetsskiktet. Enheter med en namnegenskap kan ha mer information som anges i manifestfilen.

  • Enhetsetiketter måste vara enradstextentiteter.
  • Enhetsetiketter måste falla helt inom gränserna för enheten.
  • Enheter får inte innehålla flera textentiteter i UnitLabel-lagret.

Du kan se ett exempel på UnitLabel-lagret i exempelritningspaketet.

ZoneLabel-lager

DWG-filen för varje nivå kan innehålla ett ZoneLabel-lager. Det här lagret lägger till en namnegenskap i zoner som extraherats från zonskiktet. Zoner med en namnegenskap kan ha mer information som anges i manifestfilen.

  • Zonetiketter måste vara enradstextentiteter.
  • Zonetiketter måste ligga inom gränserna för zonen.
  • Zoner får inte innehålla flera textentiteter i ZoneLabel-lagret.

Du kan se ett exempel på ZoneLabel-lagret i exempelritningspaketet.

Krav för manifestfil

Zip-mappen måste innehålla en manifestfil på rotnivån i katalogen och filen måste ha namnet manifest.json. Den beskriver DWG-filerna så att konverteringstjänsten kan parsa sitt innehåll. Endast de filer som identifieras av manifestet matas in. Filer som finns i zip-mappen, men som inte visas korrekt i manifestet, ignoreras.

Även om det finns krav när du använder manifestobjekten krävs inte alla objekt. I följande tabell visas de obligatoriska och valfria objekten för version 1.1 av konverteringstjänsten.

Kommentar

Om inget annat anges tillåter alla egenskaper med en strängegenskapstyp tusen tecken.

Objekt Obligatoriskt Beskrivning
version true Manifestschemaversion. För närvarande stöds endast version 1.1.
directoryInfo true Beskriver anläggningens geografiska information och kontaktinformation. Den kan också användas för att beskriva geografisk information och kontaktinformation för personer.
buildingLevels true Anger nivåerna för byggnaderna och filerna som innehåller designen av nivåerna.
georeference true Innehåller numerisk geografisk information för anläggningsritningen.
dwgLayers true Visar en lista över namnen på lagren och varje lager visar namnen på dess egna funktioner.
unitProperties falskt Kan användas för att infoga fler metadata för enhetsfunktionerna.
zoneProperties falskt Kan användas för att infoga fler metadata för zonfunktionerna.

I nästa avsnitt beskrivs kraven för varje objekt.

directoryInfo

Property Type Obligatoriskt Beskrivning
name sträng true Namn på byggnad.
streetAddress sträng falskt Adressen till byggnaden.
unit sträng falskt Enhet i byggnad.
locality sträng falskt Namn på en stad, stad, område, stadsdel eller region.
adminDivisions JSON-matris med strängar falskt En matris som innehåller adressbeteckningar. Exempel: (Land, delstat) Använd ISO 3166 landskoder och ISO 3166-2 delstats-/områdeskoder.
postalCode sträng falskt Sorteringskoden för e-post.
hoursOfOperation sträng falskt Följer FORMATET OSM-öppettider.
phone sträng falskt Telefonnummer som är associerat med byggnaden.
website sträng falskt Webbplats som är associerad med byggnaden.
nonPublic bool falskt Flagga som anger om byggnaden är öppen för allmänheten.
anchorLatitude numeric falskt Latitud för en anläggningsfästpunkt (pushpin).
anchorLongitude numeric falskt Longitud för en anläggningsfästpunkt (pushpin).
anchorHeightAboveSeaLevel numeric falskt Höjden på anläggningens bottenvåningen över havsnivån, i meter.
defaultLevelVerticalExtent numerisk falskt Standardhöjd (tjocklek) för en nivå av den här anläggningen som ska användas när en nivå är verticalExtent odefinierad.

buildingLevels

Objektet buildingLevels innehåller en JSON-matris med byggnader.

Property Type Obligatoriskt Beskrivning
levelName sträng true Beskrivande nivånamn. Till exempel: våning 1, lobby, blå parkering eller källare.
ordinal integer true Avgör den lodräta ordningen på nivåerna. Varje anläggning måste ha en nivå med ordningstal 0.
heightAboveFacilityAnchor numeric falskt Nivåhöjd över fästpunkten i meter.
verticalExtent numeric falskt Golv till tak höjd (tjocklek) av nivån i meter.
filename sträng true Filsystemsökväg för CAD-ritningen för en byggnivå. Den måste vara relativ till roten i byggnadens zip-fil.

georeference

Property Type Obligatoriskt Beskrivning
lat numeric true Decimalrepresentation av graders latitud vid anläggningsritningens ursprung. Ursprungskoordinaterna måste finnas i WGS84 Web Mercator (EPSG:3857).
lon numeric true Decimalrepresentation av graders longitud vid anläggningsritningens ursprung. Ursprungskoordinaterna måste finnas i WGS84 Web Mercator (EPSG:3857).
angle numeric true Medsolsvinkeln, i grader, mellan true north och ritningens lodräta axel (Y).

dwgLayers

Property Type Obligatoriskt Beskrivning
exterior strängmatris true Namn på lager som definierar den yttre byggnadsprofilen.
unit strängmatris falskt Namn på lager som definierar enheter.
wall strängmatris falskt Namn på lager som definierar väggar.
door strängmatris falskt Namn på lager som definierar dörrar.
unitLabel strängmatris falskt Namn på lager som definierar namn på enheter.
zone strängmatris falskt Namn på lager som definierar zoner.
zoneLabel strängmatris falskt Namn på lager som definierar namn på zoner.

unitProperties

Objektet unitProperties innehåller en JSON-matris med enhetsegenskaper.

Property Type Obligatoriskt Beskrivning
unitName sträng true Namnet på den enhet som ska associeras med den här unitProperty posten. Den här posten är endast giltig när en etikettmatchning unitName hittas i unitLabel lagren.
categoryName sträng falskt Syftet med enheten. En lista med värden som de angivna renderingsformaten kan använda dokumenteras i categories.json.
occupants matris med directoryInfo-objekt falskt Lista över personer i enheten.
nameAlt sträng falskt Alternativt namn på enheten.
nameSubtitle sträng falskt Enhetens underrubrik.
addressRoomNumber sträng falskt Rum, enhet, lägenhet eller svitnummer för enheten.
verticalPenetrationCategory sträng falskt När den här egenskapen har definierats är den resulterande funktionen en vertikal penetration (VRT) i stället för en enhet. Du kan använda vertikala intrång för att gå till andra vertikala penetrationsfunktioner i nivåerna ovanför eller under den. Vertikal penetration är ett kategorinamn . Om den här egenskapen har definierats categoryName åsidosättas egenskapen med verticalPenetrationCategory.
verticalPenetrationDirection sträng falskt Om verticalPenetrationCategory har definierats kan du också definiera den giltiga färdriktningen. De tillåtna värdena är: lowToHigh, highToLow, bothoch closed. Standardvärdet är both. Värdet är skiftlägeskänsligt.
nonPublic bool falskt Anger om enheten är öppen för allmänheten.
isRoutable bool falskt När den här egenskapen är inställd på falsekan du inte gå till eller via enheten. Standardvärdet är true.
isOpenArea bool falskt Tillåter att navigeringsagenten anger enheten utan att behöva en öppning som är kopplad till enheten. Som standard är det här värdet inställt på true för enheter utan öppningar och false för enheter med öppningar. Om du manuellt anger isOpenArea till false på en enhet utan öppningar resulterar det i en varning, eftersom den resulterande enheten inte kan nås av en navigeringsagent.

zoneProperties

Objektet zoneProperties innehåller en JSON-matris med zonegenskaper.

Property Type Obligatoriskt Beskrivning
zoneName sträng true Namnet på zonen som ska associeras med zoneProperty posten. Den här posten är endast giltig när en etikettmatchning zoneName hittas i zoneLabel zonens lager.
categoryName sträng falskt Syftet med zonen. En lista med värden som de angivna renderingsformaten kan använda dokumenteras i categories.json.
zoneNameAlt sträng falskt Alternativt namn på zonen.
zoneNameSubtitle sträng falskt Underrubrik för zonen.
zoneSetId sträng falskt Ange ID för att upprätta en relation mellan flera zoner så att de kan frågas eller väljas som en grupp. Till exempel zoner som sträcker sig över flera nivåer.

Exempel på ritningspaketmanifest

Följande är manifestfilen för exempelritningspaketet. Gå till exempelritningspaketet för Azure Maps Creator på GitHub för att ladda ned hela paketet.

Manifestfil

{
    "version": "1.1", 
    "directoryInfo": { 
        "name": "Contoso Building", 
        "streetAddress": "Contoso Way", 
        "unit": "1", 
        "locality": "Contoso eastside", 
        "postalCode": "98052", 
        "adminDivisions": [ 
            "Contoso city", 
            "Contoso state", 
            "Contoso country" 
        ], 
        "hoursOfOperation": "Mo-Fr 08:00-17:00 open", 
        "phone": "1 (425) 555-1234", 
        "website": "www.contoso.com", 
        "nonPublic": false, 
        "anchorLatitude": 47.636152, 
        "anchorLongitude": -122.132600, 
        "anchorHeightAboveSeaLevel": 1000, 
        "defaultLevelVerticalExtent": 3  
    }, 
    "buildingLevels": { 
        "levels": [ 
            { 
                "levelName": "Basement", 
                "ordinal": -1, 
                "filename": "./Basement.dwg" 
            }, { 
                "levelName": "Ground", 
                "ordinal": 0, 
                "verticalExtent": 5, 
                "filename": "./Ground.dwg" 
            }, { 
                "levelName": "Level 2", 
                "ordinal": 1, 
                "heightAboveFacilityAnchor": 3.5, 
                "filename": "./Level_2.dwg" 
            } 
        ] 
    }, 
    "georeference": { 
        "lat": 47.636152, 
        "lon": -122.132600, 
        "angle": 0 
    }, 
    "dwgLayers": { 
        "exterior": [ 
            "OUTLINE", "WINDOWS" 
        ], 
        "unit": [ 
            "UNITS" 
        ], 
        "wall": [ 
            "WALLS" 
        ], 
        "door": [ 
            "DOORS" 
        ], 
        "unitLabel": [ 
            "UNITLABELS" 
        ], 
        "zone": [ 
            "ZONES" 
        ], 
        "zoneLabel": [ 
            "ZONELABELS" 
        ] 
    }, 
    "unitProperties": [ 
        { 
            "unitName": "B01", 
            "categoryName": "room.office", 
            "occupants": [ 
                { 
                    "name": "Joe's Office", 
                    "phone": "1 (425) 555-1234" 
                } 
            ], 
            "nameAlt": "Basement01", 
            "nameSubtitle": "01", 
            "addressRoomNumber": "B01", 
            "nonPublic": true, 
            "isRoutable": true, 
            "isOpenArea": true 
        }, 
        { 
            "unitName": "B02" 
        }, 
        { 
            "unitName": "B05", 
            "categoryName": "room.office" 
        }, 
        { 
            "unitName": "STRB01", 
            "verticalPenetrationCategory": "verticalPenetration.stairs", 
            "verticalPenetrationDirection": "both" 
        }, 
        { 
            "unitName": "ELVB01", 
            "verticalPenetrationCategory": "verticalPenetration.elevator", 
            "verticalPenetrationDirection": "high_to_low" 
        } 
    ], 
    "zoneProperties": 
    [ 
        { 
            "zoneName": "WifiB01", 
            "categoryName": "Zone", 
            "zoneNameAlt": "MyZone", 
            "zoneNameSubtitle": "Wifi", 
            "zoneSetId": "1234" 
        }, 
        { 
            "zoneName": "Wifi101",
            "categoryName": "Zone",
            "zoneNameAlt": "MyZone",
            "zoneNameSubtitle": "Wifi",
            "zoneSetId": "1234"
        }
    ]
}

Du kan konvertera uppladdade ritningspaket till kartdata med hjälp av Azure Maps-konverteringstjänsten. I den här artikeln beskrivs kraven på ritningspaket för konverterings-API:et. Om du vill visa ett exempelpaket kan du ladda ned exempelritningspaketet v2.

En guide om hur du förbereder ritningspaketet finns i Ritningspaketguide.

Ändringar och revisioner

  • Stöd har lagts till för användardefinierade funktionsklasser.
  • Förenklade krav för DWG-lager.

Förutsättningar

Ritningspaketet innehåller ritningar som sparats i DWG-format, vilket är det interna filformatet för Autodesks AutoCAD-programvara®.

Du kan välja vilken CAD-programvara som helst för att skapa ritningarna i ritningspaketet.

Konverteringstjänsten konverterar ritningspaketet till kartdata. Konverteringstjänsten fungerar med AutoCAD DWG-filformatet AC1032.

Ordlista

För enkel referens, här är några termer och definitioner som är viktiga när du läser den här artikeln.

Period Definition
Skikt Ett AutoCAD DWG-lager från ritningsfilen.
Enhet En AutoCAD DWG-entitet från ritningsfilen.
Xref En fil i AutoCAD DWG-filformat som är kopplad till den primära ritningen som en extern referens.
Nivå Ett område i en anläggning på en angivet höjd. Till exempel golvet i en anläggning.
Funktion En instans av ett objekt som skapats från konverteringstjänsten som kombinerar en geometri med metadatainformation.
Funktionsklasser En vanlig skiss för funktioner.

Struktur för ritningspaket

Ett ritningspaket är ett ZIP-arkiv som innehåller följande filer:

  • DWG-filer i AutoCAD DWG-filformat.
  • En manifest.json fil som beskriver DWG-filerna i ritningspaketet.

Ritningspaketet måste komprimeras till en enda arkivfil med tillägget .zip. DWG-filerna kan ordnas på alla sätt i ritningspaketet, men manifestfilen måste finnas i rotkatalogen. I nästa avsnitt förklaras konverteringsprocessen och kraven för både DWG- och manifestfilerna och innehållet i dessa filer. Om du vill visa ett exempelpaket kan du ladda ned exempelritningspaketet v2.

DWG-filkonverteringsprocess

Azure Maps-konverteringstjänsten konverterar DWG-filer för en anläggning för att mappa data som representerar en anläggning och funktioner i en anläggning.

Azure Maps-konverteringstjänsten skapar:

  • Anläggningsfunktion: Den översta funktionen i en anläggning som alla nivåer i en anläggning är associerad med.
  • Nivåfunktioner: En nivåfunktion skapas för varje våning i en anläggning. Alla funktioner på en nivå är associerade med en nivå.
  • Användardefinierade funktioner: DWG-lager mappas till en användardefinierad funktionsklass och blir instanser av funktionsklassen.

KRAV för DWG-filer

Varje DWG-fil måste följa dessa krav:

  • DWG-filen får inte innehålla funktioner från flera anläggningar.
  • DWG-filen kan inte innehålla funktioner från flera nivåer. En anläggning med tre nivåer har till exempel tre DWG-filer i ritningspaketet.
  • Alla data på en enda nivå måste finnas i en enda DWG-fil. Eventuella externa referenser (xrefs) måste vara bundna till den överordnade ritningen.
  • DWG-filen måste definiera lager som representerar gränsen för den nivån.
  • DWG måste referera till samma måttsystem och måttenhet som andra DWG-filer i ritningspaketet.
  • DWG-filen måste justeras när den staplas ovanpå en annan nivå från samma anläggning.

KRAV för DWG-lager

Funktionsklasser

Ett eller flera DWG-lager kan mappas till en användardefinierad funktionsklass. En instans av funktionen skapas från en entitet på det mappade lagret. Till exempel mappas DWG-lagerstol, tabell och soffa till en funktionsklass som kallas möbler. En möbelfunktion skapas för varje entitet från de definierade lagren. Dessutom:

  • Alla lager ska separeras för att representera olika funktionstyper i anläggningen.
  • Alla entiteter måste ligga inom gränserna för nivåperimetern.
  • AutoCAD-entitetstyper som stöds: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLYLINE, ELLIPSE.

Egenskaper för funktionsklass

Textentiteter som ligger inom gränserna för en stängd form kan associeras med funktionen som en egenskap. Till exempel kan en rumsfunktionsklass ha text som beskriver rumsnamnet och en annan exempelritningspaket för rumstyp v2. Dessutom:

  • Endast TEXT- och MTEXT-entiteter är associerade med funktionen som en egenskap. Alla andra entitetstyper ignoreras.
  • Text- och MTEXT-justeringspunkten måste ligga inom gränserna för den stängda formen.
  • Om mer än en TEXT-egenskap ligger inom gränserna för den stängda formen och båda mappas till en egenskap, väljs en slumpmässigt.

Anläggningsnivå

DWG-filen för varje nivå måste innehålla ett lager för att definiera den nivåns perimeter. Om en anläggning till exempel innehåller två nivåer måste den ha två DWG-filer, var och en med ett lager som definierar den nivåns perimeter.

Oavsett hur många entitetsritningar som finns i nivåperimeterlagret innehåller den resulterande anläggningsdatauppsättningen endast en nivåfunktion för varje DWG-fil. Dessutom:

  • Nivåperimeter måste ritas som POLYGON, POLYLINE (stängd), CIRCLE eller ELLIPSE (stängd).
  • Nivåperimeter kan överlappa men löses upp i en geometri.
  • Den resulterande nivåfunktionen måste vara minst 4 kvadratmeter.
  • Den resulterande nivåfunktionen får inte vara större än 400 000 kvadratmeter.

Om lagret innehåller flera överlappande POLYLINES kombineras de till en enda nivåfunktion. Om lagret i stället innehåller flera polylines som inte överlappar varandra har den resulterande nivåfunktionen en representation av flera polygoner.

Du kan se ett exempel på nivåperimeterlagret som GROS$ skiktet i exempelritningspaketet v2.

Krav för manifestfil

Ritningspaketet måste innehålla en manifestfil på rotnivå och filen måste ha namnet manifest.json. Den beskriver DWG-filerna som gör det möjligt för konverteringstjänsten att parsa sitt innehåll. Endast de filer som identifieras av manifestet används. Filer som finns i ritningspaketet, men som inte visas korrekt i manifestet, ignoreras.

Filsökvägarna i manifestfilens buildingLevels-objekt måste vara relativa till ritningspaketets rot. DWG-filnamnet måste exakt matcha namnet på anläggningsnivån. En DWG-fil för nivån "Källare" är till exempel Basement.dwg. En DWG-fil för nivå 2 namnges som level_2.dwg. Filnamn får inte innehålla blanksteg. Du kan använda ett understreck för att ersätta blanksteg.

Även om det finns krav när du använder manifestobjekten krävs inte alla objekt. I följande tabell visas de obligatoriska och valfria objekten för konverteringstjänsten 2023-03-01-preview.

Kommentar

Om inget annat anges begränsas alla strängegenskaper till tusen tecken.

Manifest-JSON-fil

Property Type Obligatoriskt Beskrivning
version sträng Sant Manifestschemaversion. För närvarande version "2.0"
buildingLevels BuildingLevels-objekt Sant Anger nivåerna för anläggningen och de filer som innehåller designen av nivåerna.
featureClasses Matris med featureClass-objekt Sant Lista över funktionsklassobjekt som definierar hur skikt läse från DWG-ritningsfilen.
georeference Georeference-objekt Falskt Innehåller numerisk geografisk information för anläggningsritningen.    
facilityName sträng Falskt Namnet på anläggningen.

I nästa avsnitt beskrivs kraven för varje objekt.

buildingLevels

Property Type Obligatoriskt Beskrivning
dwgLayers Strängmatris Sant Namn på lager som definierar anläggningens yttre profil.
levels Matris med nivåobjekt Sant En nivå refererar till ett unikt golv i den anläggning som definierats i en DWG-fil, höjden på varje nivå och den lodräta ordning som de visas i.

nivå

Property Type Obligatoriskt Beskrivning
levelName sträng Sant Namnet på nivån. Till exempel: våning 1, lobby, blå parkering eller källare.
ordinal integer Sant Definierar den lodräta ordningen på nivåer. Alla ordinal värden måste vara unika i en anläggning.
filename sträng Sant Sökvägen och namnet på DWG-filen som representerar nivån i en anläggning. Sökvägen måste vara relativ till ritningspaketets rot. 
verticalExtent Nummer Falskt Vertikal höjd från golv till tak (tjocklek) för nivån i meter.

featureClass

Property Type Obligatoriskt Beskrivning
dwgLayers Strängmatris Sant Namnet på varje lager som definierar funktionsklassen. Varje entitet på det angivna lagret konverteras till en instans av funktionsklassen. Namnet dwgLayer som en funktion konverteras från hamnar som en egenskap för den funktionen.
featureClassName String Sant Namnet på funktionsklassen. Vanliga exempel är rum, arbetsyta eller vägg.
featureClassProperties Matris med funktionClassProperty-objekt Falskt Anger textlager i DWG-filen som är associerad med funktionen som en egenskap. Till exempel en etikett som faller inom gränserna för ett utrymme, till exempel ett rumsnummer.

featureClassProperty

Property Type Obligatoriskt Beskrivning
dwgLayers Strängmatris Sant Namnet på varje lager som definierar egenskapen för funktionsklassen. Varje entitet på det angivna lagret konverteras till en egenskap. Endast DWG TEXT- och MTEXT-entiteterna konverteras till egenskaper. Alla andra entiteter ignoreras.
featureClassPropertyName String Sant Namnet på egenskapen för funktionsklassen, till exempel spaceName eller spaceUseType.

georeference

Property Type Obligatoriskt Beskrivning
lat Nummer Sant Decimalrepresentation av graders latitud vid anläggningsritningens ursprung. Ursprungskoordinaterna måste finnas i WGS84 Web Mercator (EPSG:3857).
lon Nummer Sant Decimalrepresentation av graders longitud vid anläggningsritningens ursprung. Ursprungskoordinaterna måste finnas i WGS84 Web Mercator (EPSG:3857).
angle Nummer Sant Medsolsvinkeln, i grader, mellan true north och ritningens lodräta axel (Y).

Exempel på ritningspaketmanifest

JSON i det här exemplet visar manifestfilen för exempelritningspaketet. Gå till exempelritningspaketet v2 för Azure Maps Creator på GitHub för att ladda ned hela paketet.

Manifestfil

{
  "version": "2.0",
  "buildingLevels": {
    "dwgLayers": [
      "GROS$"
    ],
    "levels": [
      {
        "filename": "Ground.dwg",
        "levelName": "level 1",
        "ordinal": 0
      },
      {
        "filename": "Level_2.dwg",
        "levelName": "level 2",
        "ordinal": 1
      }
    ]
  },
  "georeference": {
    "lat": 47.63529901,
    "lon": -122.13355885,
    "angle": 0
  },
  "featureClasses": [
    {
      "featureClassName": "room",
      "dwgLayers": [
        "RM$"
      ],
      "featureClassProperties": [
        {
          "featureClassPropertyName": "name",
          "dwgLayers": [
            "A-IDEN-NUMR-EXST"
          ]
        },
        {
          "featureClassPropertyName": "roomType",
          "dwgLayers": [
            "A-IDEN-NAME-EXST"
          ]
        }
      ]
    },
    {
      "featureClassName": "wall",
      "dwgLayers": [
        "A-WALL-EXST",
        "A-WALL-CORE-EXST",
        "A-GLAZ-SILL-EXST",
        "A-GLAZ-SHEL-SILL-EXST",
        "A-GLAZ-SHEL-EXST",
        "A-GLAZ-EXST"
      ]
    },
    {
      "featureClassName": "workspace",
      "dwgLayers": [
        "A-BOMA"
      ]
    },
    {
      "featureClassName": "workspaceFurniture",
      "dwgLayers": [
        "A-FURN-SYTM-EXST"
      ]
    },
    {
      "featureClassName": "buildingFurniture",
      "dwgLayers": [
        "A-FURN-FREE-EXST"
      ]
    }
  ],
  "facilityName": "Contoso Building"
}

Nästa steg

En guide om hur du förbereder ritningspaketet finns i ritningspaketguiden.