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.
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 , both och 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å false kan 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.