Vereisten voor tekenpakketten
Notitie
Buitengebruikstelling van Azure Maps Creator
De indoor kaartservice van Azure Maps Creator is nu afgeschaft en wordt buiten gebruik gesteld op 30-9-25. Zie einde levensduuraankondiging van Azure Maps Creator voor meer informatie.
U kunt geüploade tekenpakketten converteren naar kaartgegevens met behulp van de Azure Maps Conversion-service. In dit artikel worden de tekenpakketvereisten voor de Conversie-API beschreven. Als u een voorbeeldpakket wilt weergeven, kunt u het voorbeeldtekeningspakket downloaden.
Vereisten
Het tekenpakket bevat tekeningen die zijn opgeslagen in DWG-indeling. Dit is de systeemeigen bestandsindeling voor AutoCAD-software® van Autodesk.
U kunt elke CAD-software kiezen om de tekeningen in het tekenpakket te produceren.
De conversieservice converteert het tekenpakket naar kaartgegevens. De conversieservice werkt met de AutoCAD DWG-bestandsindeling AC1032
.
Woordenlijst
Hier volgen enkele termen en definities die belangrijk zijn tijdens het lezen van dit artikel.
Term | Definitie |
---|---|
Laag | Een AutoCAD DWG-laag uit het tekenbestand. |
Entity | Een AutoCAD DWG-entiteit uit het tekenbestand. |
Xref | Een bestand in de AutoCAD DWG-bestandsindeling, gekoppeld aan de primaire tekening als externe verwijzing. |
Niveau | Een gedeelte van een gebouw op een vaste hoogte. Bijvoorbeeld de vloer van een gebouw. |
Functie | Een exemplaar van een object dat is geproduceerd vanuit de Conversieservice die een geometrie combineert met metagegevensinformatie. |
Functieklassen | Een algemene blauwdruk voor functies. Een eenheid is bijvoorbeeld een functieklasse en een kantoor is een functie. |
Structuur van tekenpakket
Een tekenpakket is een .zip archief met de volgende bestanden:
- DWG-bestanden in AutoCAD DWG-bestandsindeling.
- Een manifest.json-bestand dat de DWG-bestanden in het tekenpakket beschrijft.
Het tekenpakket moet worden gezipt in één archiefbestand, met de extensie .zip. De DWG-bestanden kunnen op elke manier in het pakket worden georganiseerd, maar het manifestbestand moet zich in de hoofdmap van het zip-pakket bevinden. In de volgende secties worden de vereisten voor de DWG-bestanden, het manifestbestand en de inhoud van deze bestanden beschreven. Als u een voorbeeldpakket wilt weergeven, kunt u het voorbeeldtekeningspakket downloaden.
DWG-bestandsconversieproces
De conversieservice doet het volgende voor elk DWG-bestand:
- Extraheert functieklassen:
- Niveaus
- Eenheden
- Zones
- Openingen
- Muren
- Verticale penetraties
- Produceert een faciliteitfunctie .
- Produceert een minimale set standaardcategoriefuncties waarnaar wordt verwezen door andere functies:
- kamer
- structuur
- muur
- opening.door
- zone
- faciliteit
Vereisten voor DWG-bestanden
Er is één DWG-bestand vereist voor elk niveau van de faciliteit. Alle gegevens van één niveau moeten zijn opgenomen in één DWG-bestand. Eventuele externe verwijzingen (xrefs) moeten zijn gebonden aan de bovenliggende tekening. Een faciliteit met drie niveaus heeft bijvoorbeeld drie DWG-bestanden in het tekenpakket.
Elk DWG-bestand moet voldoen aan de volgende vereisten:
- Het DWG-bestand moet de lagen Buiten en Eenheid definiëren. U kunt desgewenst de volgende lagen definiëren: Wall, Door, UnitLabel, Zone en ZoneLabel.
- Het DWG-bestand kan geen functies van meerdere niveaus bevatten.
- Het DWG-bestand kan geen functies van meerdere faciliteiten bevatten.
- De DWG moet verwijzen naar hetzelfde meetsysteem en dezelfde maateenheid als andere DWG-bestanden in het tekenpakket.
Vereisten voor DWG-laag
Elke DWG-laag moet voldoen aan de volgende regels:
- Een laag moet uitsluitend functies van één klasse bevatten. Eenheden en wanden kunnen zich bijvoorbeeld niet in dezelfde laag bevinden.
- Eén klasse functies kan worden vertegenwoordigd door meerdere lagen.
- Zelf snijdende veelhoeken zijn toegestaan, maar worden automatisch gerepareerd. Wanneer ze zijn hersteld, genereert de Conversieservice een waarschuwing. Het is raadzaam om de herstelde resultaten handmatig te inspecteren, omdat ze mogelijk niet overeenkomen met de verwachte resultaten.
- Elke laag heeft een ondersteunde lijst met entiteitstypen. Alle andere entiteitstypen in een laag worden genegeerd. Tekstentiteiten worden bijvoorbeeld niet ondersteund op de wandlaag.
De volgende tabel bevat een overzicht van de ondersteunde entiteitstypen en geconverteerde kaartfuncties voor elke laag. Als een laag niet-ondersteunde entiteitstypen bevat, negeert de conversieservice deze entiteiten.
Laag | Entiteitstypen | Geconverteerde functies |
---|---|---|
Buitenkant | VEELHOEK, POLYLIJN (gesloten), CIRKEL of BELETSELTEKEN (gesloten) | Niveaus |
Eenheid | VEELHOEK, POLYLIJN (gesloten), CIRKEL of BELETSELTEKEN (gesloten) | Eenheden en verticale penetraties |
Muur | VEELHOEK, POLYLIJN (gesloten), CIRKEL of ELLIPS (gesloten), Structuren | |
Deur | VEELHOEK, POLYLIJN, LIJN, CIRKEL, CIRKEL | Openingen |
Zone | VEELHOEK, POLYLIJN (gesloten), CIRKEL of BELETSELTEKEN (gesloten) | Zones |
UnitLabel | Tekst (één regel) | Niet van toepassing. Deze laag kan alleen eigenschappen toevoegen aan de eenheidsfuncties van de laag Eenheden. Zie de laag UnitLabel voor meer informatie. |
ZoneLabel | Tekst (één regel) | Niet van toepassing. Deze laag kan alleen eigenschappen toevoegen aan zonefuncties van de ZonesLayer. Zie de ZoneLabel-laag voor meer informatie. |
In de volgende secties worden de vereisten voor elke laag beschreven.
Buitenlaag
Het DWG-bestand voor elk niveau moet een laag bevatten om de perimeter van dat niveau te definiëren. Deze laag wordt de buitenlaag genoemd. Als een faciliteit bijvoorbeeld twee niveaus bevat, moet deze twee DWG-bestanden hebben, met een buitenlaag voor elk bestand.
Ongeacht hoeveel entiteitstekeningen zich in de buitenlaag bevinden, bevat de resulterende faciliteitgegevensset slechts één niveaufunctie voor elk DWG-bestand. Bijkomend:
- Buitenkanten moeten worden getekend als VEELHOEK, POLYLIJN (gesloten), CIRKEL of ELLIPS (gesloten).
- Buitenkanten kunnen overlappen, maar worden opgelost in één geometrie.
- De resulterende niveaufunctie moet ten minste 4 vierkante meter zijn.
- Resulterende niveaufunctie mag niet groter zijn dan 400.000 vierkante meter.
Als de laag meerdere overlappende PolyLines bevat, worden deze opgelost in één functie Niveau. Als de laag meerdere niet-overlappende polylijnen bevat, heeft de resulterende functie Niveau een multi-polygonale weergave.
U kunt een voorbeeld van de buitenlaag zien als de overzichtslaag in het voorbeeldtekeningspakket.
Eenheidslaag
Het DWG-bestand voor elk niveau definieert een laag met eenheden. Eenheden zijn bevaarbare ruimten in het gebouw, zoals kantoren, gangen, trappen en liften. Als de VerticalPenetrationCategory
eigenschap is gedefinieerd, worden bevaarbare eenheden die meerdere niveaus omvatten, zoals liften en trappen, geconverteerd naar verticale penetratiefuncties. Verticale penetratiefuncties die elkaar overlappen, krijgen er één setid
toegewezen.
De laag Eenheden moet voldoen aan de volgende vereisten:
- Eenheden moeten worden getekend als VEELHOEK, POLYLIJN (gesloten), CIRKEL of ELLIPS (gesloten).
- Eenheden moeten binnen de grenzen van de buitenperimeter van de faciliteit vallen.
- Eenheden mogen niet gedeeltelijk overlappen.
- Eenheden mogen geen zelf snijdende geometrie bevatten.
Geef een eenheid een naam door een tekstobject in de UnitLabel-laag te maken en plaats het object vervolgens binnen de grenzen van de eenheid. Zie de laag UnitLabel voor meer informatie.
U ziet een voorbeeld van de laag Eenheden in het voorbeeldtekeningspakket.
Wandlaag
Het DWG-bestand voor elk niveau kan een laag bevatten die de fysieke gebieden van muren, kolommen en andere bouwstructuur definieert.
- Wanden moeten worden getekend als VEELHOEK, POLYLIJN (gesloten), CIRKEL of ELLIPS (gesloten).
- De wandlaag of -lagen mogen alleen geometrie bevatten die wordt geïnterpreteerd als bouwstructuur.
U ziet een voorbeeld van de laag Muren in het voorbeeldtekeningspakket.
Deurlaag
U kunt een DWG-laag opnemen die deuren bevat. Elke deur moet de rand van een eenheid van de eenheidslaag overlappen.
Deuropeningen in een Azure Maps-gegevensset worden weergegeven als een segment met één regel dat meerdere eenheidsgrenzen overlapt. In de volgende afbeeldingen ziet u hoe Azure Maps de geometrie van de deurlaag converteert naar het openen van functies in een gegevensset.
Zonelaag
Het DWG-bestand voor elk niveau kan een zonelaag bevatten die de fysieke gebieden van zones definieert. Een zone is een niet-bevaarbare ruimte die kan worden benoemd en weergegeven. Zones kunnen meerdere niveaus omvatten en worden gegroepeerd met behulp van de eigenschap zoneSetId.
- Zones moeten worden getekend als POLYGON, POLYLIJN (gesloten) of ELLIPSE (gesloten).
- Zones kunnen overlappen.
- Zones kunnen binnen of buiten de buitenperimeter van de faciliteit vallen.
Geef een zone een naam door een tekstobject in de ZoneLabel-laag te maken en het tekstobject binnen de grenzen van de zone te plaatsen. Zie ZoneLabel-laag voor meer informatie.
U ziet een voorbeeld van de zonelaag in het voorbeeldtekeningspakket.
UnitLabel-laag
Het DWG-bestand voor elk niveau kan een UnitLabel-laag bevatten. De UnitLabel-laag voegt een naameigenschap toe aan eenheden die zijn geëxtraheerd uit de eenheidslaag. Eenheden met een naameigenschap kunnen meer details bevatten die zijn opgegeven in het manifestbestand.
- Eenheidslabels moeten entiteiten met één regel zijn.
- Eenheidslabels moeten volledig binnen de grenzen van hun eenheid vallen.
- Eenheden mogen niet meerdere tekstentiteiten bevatten in de Laag UnitLabel.
U ziet een voorbeeld van de Laag UnitLabel in het voorbeeldtekeningspakket.
ZoneLabel-laag
Het DWG-bestand voor elk niveau kan een ZoneLabel-laag bevatten. Met deze laag wordt een naameigenschap toegevoegd aan zones die zijn geëxtraheerd uit de zonelaag. Zones met een naameigenschap kunnen meer details bevatten die zijn opgegeven in het manifestbestand.
- Zoneslabels moeten entiteiten met één regel zijn.
- Zoneslabels moeten binnen de grenzen van hun zone vallen.
- Zones mogen niet meerdere tekstentiteiten bevatten in de ZoneLabel-laag.
U ziet een voorbeeld van de ZoneLabel-laag in het voorbeeldtekeningspakket.
Vereisten voor manifestbestanden
De zip-map moet een manifestbestand bevatten op het hoofdniveau van de map en het bestand moet de naam manifest.json hebben. Hierin worden de DWG-bestanden beschreven waarmee de Conversieservice de inhoud kan parseren. Alleen de bestanden die door het manifest worden geïdentificeerd, worden opgenomen. Bestanden die zich in de zip-map bevinden, maar die niet correct worden vermeld in het manifest, worden genegeerd.
Hoewel er vereisten zijn wanneer u de manifestobjecten gebruikt, zijn niet alle objecten vereist. In de volgende tabel ziet u de vereiste en optionele objecten voor versie 1.1 van de Conversieservice.
Notitie
Tenzij anders opgegeven, staan alle eigenschappen met een tekenreekseigenschapstype duizend tekens toe.
Object | Vereist | Beschrijving |
---|---|---|
version |
true | Manifestschemaversie. Op dit moment wordt alleen versie 1.1 ondersteund. |
directoryInfo |
true | Geeft een overzicht van de geografische en contactgegevens van de faciliteit. Het kan ook worden gebruikt om een geografische en contactgegevens van een bewoner te beschrijven. |
buildingLevels |
true | Hiermee geeft u de niveaus van de gebouwen en de bestanden die het ontwerp van de niveaus bevatten. |
georeference |
true | Bevat numerieke geografische informatie voor de faciliteittekening. |
dwgLayers |
true | Geeft de namen van de lagen weer en elke laag bevat de namen van eigen functies. |
unitProperties |
false | Kan worden gebruikt om meer metagegevens voor de eenheidsfuncties in te voegen. |
zoneProperties |
false | Kan worden gebruikt om meer metagegevens voor de zonefuncties in te voegen. |
In de volgende secties worden de vereisten voor elk object beschreven.
directoryInfo
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
name |
tekenreeks | true | Naam van gebouw. |
streetAddress |
tekenreeks | false | Adres van gebouw. |
unit |
tekenreeks | false | Eenheid in gebouw. |
locality |
tekenreeks | false | Naam van een stad, stad, gebied, buurt of regio. |
adminDivisions |
JSON-matrix met tekenreeksen | false | Een matrix met adresaanduidingen. Bijvoorbeeld: (Land, Staat) Gebruik ISO 3166-landcodes en ISO 3166-2 staats-/gebiedscodes. |
postalCode |
tekenreeks | false | De sorteercode voor e-mail. |
hoursOfOperation |
tekenreeks | false | Voldoet aan de indeling OSM-openingstijden . |
phone |
tekenreeks | false | Telefoonnummer dat aan het gebouw is gekoppeld. |
website |
tekenreeks | false | Website gekoppeld aan het gebouw. |
nonPublic |
bool | false | Vlag die aangeeft of het gebouw open is voor het publiek. |
anchorLatitude |
numeriek | false | Breedtegraad van een faciliteitanker (punaise). |
anchorLongitude |
numeriek | false | Lengtegraad van een faciliteitanker (punaise). |
anchorHeightAboveSeaLevel |
numeriek | false | Hoogte van de begane grond van de faciliteit boven zeeniveau, in meters. |
defaultLevelVerticalExtent numeriek |
false | Standaardhoogte (dikte) van een niveau van deze faciliteit dat moet worden gebruikt wanneer een niveau verticalExtent niet is gedefinieerd. |
buildingLevels
Het buildingLevels
object bevat een JSON-matrix met gebouwenniveaus.
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
levelName |
tekenreeks | true | Beschrijvende niveaunaam. Bijvoorbeeld: Verdieping 1, Lobby, Blue Parking of Kelder. |
ordinal |
geheel getal | true | Bepaalt de verticale volgorde van niveaus. Elke faciliteit moet een niveau hebben met rangtelwoord 0. |
heightAboveFacilityAnchor |
numeriek | false | Hoogte hoger dan het anker in meters. |
verticalExtent |
numeriek | false | Hoogte van vloer tot plafond (dikte) van het niveau in meters. |
filename |
tekenreeks | true | Bestandssysteempad van de CAD-tekening voor een gebouwniveau. Het moet relatief zijn ten opzichte van de hoofdmap van het zip-bestand van het gebouw. |
georeference
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
lat |
numeriek | true | Decimaal beeld van graden breedtegraad bij de oorsprong van de faciliteittekening. De oorsprongcoördinaten moeten zich in WGS84 Web Mercator (EPSG:3857 ) hebben. |
lon |
numeriek | true | Decimaal beeld van graden lengtegraad bij de oorsprong van de faciliteittekening. De oorsprongcoördinaten moeten zich in WGS84 Web Mercator (EPSG:3857 ) hebben. |
angle |
numeriek | true | De klokgewijze hoek, in graden, tussen waar noord en de verticale as (Y) van de tekening. |
dwgLayers
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
exterior |
matrix tekenreeksen | true | Namen van lagen die het buitenbouwprofiel definiëren. |
unit |
matrix tekenreeksen | false | Namen van lagen die eenheden definiëren. |
wall |
matrix tekenreeksen | false | Namen van lagen die muren definiëren. |
door |
matrix tekenreeksen | false | Namen van lagen die deuren definiëren. |
unitLabel |
matrix tekenreeksen | false | Namen van lagen die namen van eenheden definiëren. |
zone |
matrix tekenreeksen | false | Namen van lagen die zones definiëren. |
zoneLabel |
matrix tekenreeksen | false | Namen van lagen die namen van zones definiëren. |
unitProperties
Het unitProperties
object bevat een JSON-matrix met eenheidseigenschappen.
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
unitName |
tekenreeks | true | De naam van de eenheid die aan deze unitProperty record moet worden gekoppeld. Deze record is alleen geldig wanneer een labelkoppeling unitName wordt gevonden in de unitLabel lagen. |
categoryName |
tekenreeks | false | Doel van de eenheid. Een lijst met waarden waarvan de opgegeven weergavestijlen gebruik kunnen maken, wordt beschreven in categories.json. |
occupants |
matrix van directoryInfo-objecten | false | Lijst met inzittenden voor de eenheid. |
nameAlt |
tekenreeks | false | Alternatieve naam van de eenheid. |
nameSubtitle |
tekenreeks | false | Ondertitel van de eenheid. |
addressRoomNumber |
tekenreeks | false | Kamer, eenheid, appartement of suite nummer van de eenheid. |
verticalPenetrationCategory |
tekenreeks | false | Wanneer deze eigenschap is gedefinieerd, is de resulterende functie een verticale penetratie (VRT) in plaats van een eenheid. U kunt verticale penetraties gebruiken om naar andere verticale penetratiefuncties te gaan in de niveaus erboven of eronder. Verticale penetratie is een categorienaam . Als deze eigenschap is gedefinieerd, wordt de categoryName eigenschap overschreven door verticalPenetrationCategory . |
verticalPenetrationDirection |
tekenreeks | false | Als verticalPenetrationCategory dit is gedefinieerd, definieert u desgewenst de geldige reisrichting. De toegestane waarden zijn: lowToHigh , highToLow , both en closed . De standaardwaarde is both . De waarde is hoofdlettergevoelig. |
nonPublic |
bool | false | Geeft aan of de eenheid open is voor het publiek. |
isRoutable |
bool | false | Wanneer deze eigenschap is ingesteld op false , kunt u niet naar of via de eenheid gaan. De standaardwaarde is true . |
isOpenArea |
bool | false | Hiermee kan de navigatieagent de eenheid invoeren zonder dat er een opening aan de eenheid hoeft te worden gekoppeld. Deze waarde is standaard ingesteld true op eenheden zonder openingen en false voor eenheden met openingen. Handmatig instellen isOpenArea false op een eenheid zonder openingen resulteert in een waarschuwing, omdat de resulterende eenheid niet bereikbaar is door een navigerende agent. |
zoneProperties
Het zoneProperties
object bevat een JSON-matrix met zone-eigenschappen.
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
zoneName | tekenreeks | true | De naam van de zone die moet worden gekoppeld aan zoneProperty de record. Deze record is alleen geldig wanneer een labelkoppeling zoneName wordt gevonden in de zoneLabel laag van de zone. |
categoryName | tekenreeks | false | Doel van de zone. Een lijst met waarden waarvan de opgegeven weergavestijlen gebruik kunnen maken, wordt beschreven in categories.json. |
zoneNameAlt | tekenreeks | false | Alternatieve naam van de zone. |
zoneNameSubtitle | tekenreeks | false | Ondertitel van de zone. |
zoneSetId | tekenreeks | false | Stel de id in om een relatie tot stand te brengen tussen meerdere zones, zodat ze kunnen worden opgevraagd of geselecteerd als een groep. Bijvoorbeeld zones die meerdere niveaus omvatten. |
Manifest van voorbeeldtekeningspakket
Hier volgt het manifestbestand voor het voorbeeldtekeningspakket. Ga naar het voorbeeldtekeningspakket voor Azure Maps Creator op GitHub om het hele pakket te downloaden.
Manifestbestand
{
"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"
}
]
}
U kunt geüploade tekenpakketten converteren naar kaartgegevens met behulp van de Azure Maps Conversion-service. In dit artikel worden de tekenpakketvereisten voor de Conversie-API beschreven. Als u een voorbeeldpakket wilt weergeven, kunt u het voorbeeldtekeningspakket v2 downloaden.
Zie De handleiding voor tekenpakketten voor een handleiding voor het voorbereiden van uw tekenpakket.
Wijzigingen en revisies
- Er is ondersteuning toegevoegd voor door de gebruiker gedefinieerde functieklassen.
- Vereenvoudigde vereisten van DWG-lagen.
Vereisten
Het tekenpakket bevat tekeningen die zijn opgeslagen in DWG-indeling. Dit is de systeemeigen bestandsindeling voor AutoCAD-software® van Autodesk.
U kunt elke CAD-software kiezen om de tekeningen in het tekenpakket te produceren.
De conversieservice converteert het tekenpakket naar kaartgegevens. De Conversieservice werkt met de AUTOCAD DWG-bestandsindeling AC1032.
Woordenlijst
Hier volgen enkele termen en definities die belangrijk zijn tijdens het lezen van dit artikel.
Term | Definitie |
---|---|
Laag | Een AutoCAD DWG-laag uit het tekenbestand. |
Entity | Een AutoCAD DWG-entiteit uit het tekenbestand. |
Xref | Een bestand in de AutoCAD DWG-bestandsindeling, gekoppeld aan de primaire tekening als externe verwijzing. |
Niveau | Een gebied van een faciliteit op een vaste hoogte. Bijvoorbeeld de vloer van een faciliteit. |
Functie | Een exemplaar van een object dat is geproduceerd vanuit de Conversieservice die een geometrie combineert met metagegevensinformatie. |
Functieklassen | Een algemene blauwdruk voor functies. |
Structuur van tekenpakket
Een tekenpakket is een ZIP-archief met de volgende bestanden:
- DWG-bestanden in AutoCAD DWG-bestandsindeling.
- Een manifest.json-bestand dat de DWG-bestanden in het tekenpakket beschrijft.
Het tekenpakket moet worden gecomprimeerd in één archiefbestand, met de extensie .zip. De DWG-bestanden kunnen op elke manier in het tekenpakket worden ingedeeld, maar het manifestbestand moet zich in de hoofdmap bevinden. In de volgende secties worden het conversieproces en de vereisten voor dwg- en manifestbestanden en de inhoud van deze bestanden uitgelegd. Als u een voorbeeldpakket wilt weergeven, kunt u het voorbeeldtekeningspakket v2 downloaden.
DWG-bestandsconversieproces
De Azure Maps Conversion-service converteert DWG-bestanden van een faciliteit om gegevens toe te wijzen die een faciliteit en functies van een faciliteit vertegenwoordigen.
De Azure Maps Conversion-service maakt het volgende:
- Faciliteitfunctie: de functie op het hoogste niveau van een faciliteit waaraan alle niveaus van een faciliteit zijn gekoppeld.
- Niveaufuncties: Er wordt één niveaufunctie gemaakt voor elke verdieping van een faciliteit. Alle functies op een niveau zijn gekoppeld aan een niveau.
- Door de gebruiker gedefinieerde functies: DWG-lagen worden toegewezen aan een door de gebruiker gedefinieerde functieklasse en worden exemplaren van de functieklasse.
Vereisten voor DWG-bestanden
Elk DWG-bestand moet aan deze vereisten voldoen:
- Het DWG-bestand kan geen functies van meerdere faciliteiten bevatten.
- Het DWG-bestand kan geen functies van meerdere niveaus bevatten. Een faciliteit met drie niveaus heeft bijvoorbeeld drie DWG-bestanden in het tekenpakket.
- Alle gegevens van één niveau moeten zijn opgenomen in één DWG-bestand. Eventuele externe verwijzingen (xrefs) moeten zijn gebonden aan de bovenliggende tekening.
- Het DWG-bestand moet lagen definiëren die de grens van dat niveau vertegenwoordigen.
- De DWG moet verwijzen naar hetzelfde meetsysteem en dezelfde maateenheid als andere DWG-bestanden in het tekenpakket.
- Het DWG-bestand moet worden uitgelijnd wanneer het op een ander niveau van dezelfde faciliteit is gestapeld.
Vereisten voor DWG-laag
Functieklassen
Een of meer DWG-lagen kunnen worden toegewezen aan een door de gebruiker gedefinieerde functieklasse. Eén exemplaar van de functie wordt gemaakt op basis van een entiteit op de toegewezen laag. DWG-lagen stoel, tafel en bank worden bijvoorbeeld toegewezen aan een functieklasse genaamd meubilair. Er wordt een meubelfunctie gemaakt voor elke entiteit op basis van de gedefinieerde lagen. Bijkomend:
- Alle lagen moeten worden gescheiden om verschillende functietypen van de faciliteit weer te geven.
- Alle entiteiten moeten binnen de grenzen van de niveauperimeter vallen.
- Ondersteunde AutoCAD-entiteitstypen: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLYLINE, ELLIPSE.
Eigenschappen van functieklasse
Tekstentiteiten die binnen de grenzen van een gesloten shape vallen, kunnen als eigenschap aan die functie worden gekoppeld. Een ruimtefunctieklasse kan bijvoorbeeld tekst bevatten die de naam van de ruimte beschrijft en een ander voorbeeldtekenpakket voor het ruimtetype v2. Bijkomend:
- Alleen TEKST- en MTEXT-entiteiten zijn als eigenschap aan de functie gekoppeld. Alle andere entiteitstypen worden genegeerd.
- Het tekst- en MTEXT-redenpunt moet binnen de grenzen van de gesloten shape vallen.
- Als meer dan één teksteigenschap binnen de grenzen van de gesloten shape valt en beide aan één eigenschap zijn toegewezen, wordt er een willekeurig geselecteerd.
Faciliteitniveau
Het DWG-bestand voor elk niveau moet een laag bevatten om de perimeter van dat niveau te definiëren. Als een faciliteit bijvoorbeeld twee niveaus bevat, moet deze twee DWG-bestanden hebben, elk met een laag die de perimeter van dat niveau definieert.
Ongeacht hoeveel entiteitstekeningen zich in de perimeterlaag op niveau bevinden, bevat de resulterende faciliteitgegevensset slechts één niveaufunctie voor elk DWG-bestand. Bijkomend:
- Vlakperimeters moeten worden getekend als POLYGON, POLYLIJN (gesloten), CIRKEL of ELLIPSE (gesloten).
- Level perimeters kunnen overlappen, maar worden opgelost in één geometrie.
- De resulterende niveaufunctie moet ten minste 4 vierkante meter groot zijn.
- De resulterende niveaufunctie mag niet groter zijn dan 400.000 vierkante meter.
Als de laag meerdere overlappende POLYLINES bevat, worden ze gecombineerd tot één niveaufunctie. Als de laag meerdere niet-overlapping POLYLINES bevat, heeft de resulterende functie Niveau een multi-polygonale weergave.
U ziet een voorbeeld van de perimeterlaag Niveau als de GROS$
laag in het voorbeeldtekeningspakket v2.
Vereisten voor manifestbestanden
Het tekenpakket moet een manifestbestand op het hoofdniveau bevatten en het bestand moet de naam manifest.json hebben. Hierin worden de DWG-bestanden beschreven waarmee de Conversieservice de inhoud kan parseren. Alleen de bestanden die door het manifest worden geïdentificeerd, worden gebruikt. Bestanden die zich in het tekenpakket bevinden, maar die niet correct worden vermeld in het manifest, worden genegeerd.
De bestandspaden in het object buildingLevels van het manifestbestand moeten relatief zijn ten opzichte van de hoofdmap van het tekenpakket. De DWG-bestandsnaam moet exact overeenkomen met de naam van het faciliteitniveau. Een DWG-bestand voor het niveau Kelder is bijvoorbeeld Basement.dwg. Een DWG-bestand voor niveau 2 heet level_2.dwg. Bestandsnamen mogen geen spaties bevatten. U kunt een onderstrepingsteken gebruiken om spaties te vervangen.
Hoewel er vereisten zijn wanneer u de manifestobjecten gebruikt, zijn niet alle objecten vereist. In de volgende tabel ziet u de vereiste en optionele objecten voor de conversieservice 2023-03-01- preview.
Notitie
Tenzij anders opgegeven, zijn alle tekenreekseigenschappen beperkt tot duizend tekens.
JSON-manifestbestand
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
version |
tekenreeks | TRUE | Manifestschemaversie. Momenteel versie 2.0 |
buildingLevels |
BuildingLevels-object | TRUE | Hiermee geeft u de niveaus van de faciliteit en de bestanden met het ontwerp van de niveaus. |
featureClasses |
Matrix van featureClass-objecten | TRUE | Lijst met functieklasseobjecten die definiëren hoe lagen worden gelezen uit het DWG-tekenbestand. |
georeference |
Geodeductieobject | FALSE | Bevat numerieke geografische informatie voor de faciliteittekening. |
facilityName |
tekenreeks | FALSE | De naam van de faciliteit. |
In de volgende secties worden de vereisten voor elk object beschreven.
buildingLevels
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
dwgLayers |
Matrix tekenreeksen | TRUE | Namen van lagen die het buitenprofiel van de faciliteit definiëren. |
levels |
Matrix van niveauobjecten | TRUE | Een niveau verwijst naar een unieke vloer in de faciliteit die is gedefinieerd in een DWG-bestand, de hoogte van elk niveau en de verticale volgorde waarin ze worden weergegeven. |
niveau
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
levelName |
tekenreeks | TRUE | De naam van het niveau. Bijvoorbeeld: Verdieping 1, Lobby, Blue Parking of Kelder. |
ordinal |
geheel getal | TRUE | Hiermee definieert u de verticale volgorde van niveaus. Alle ordinal waarden moeten uniek zijn binnen een faciliteit. |
filename |
tekenreeks | TRUE | Het pad en de naam van het DWG-bestand dat het niveau in een faciliteit vertegenwoordigt. Het pad moet relatief zijn ten opzichte van de hoofdmap van het tekenpakket. |
verticalExtent |
Nummer | FALSE | Verticale hoogte van vloer tot plafond (dikte) van het niveau in meters. |
featureClass
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
dwgLayers |
Matrix tekenreeksen | TRUE | De naam van elke laag die de functieklasse definieert. Elke entiteit op de opgegeven laag wordt geconverteerd naar een exemplaar van de functieklasse. De dwgLayer naam waarvan een functie wordt geconverteerd, is uiteindelijk een eigenschap van die functie. |
featureClassName |
String | TRUE | De naam van de functieklasse. Typische voorbeelden zijn ruimte, werkruimte of wand. |
featureClassProperties |
Matrix van featureClassProperty-objecten | FALSE | Hiermee geeft u tekstlagen in het DWG-bestand dat is gekoppeld aan de functie als eigenschap. Bijvoorbeeld een label dat binnen de grenzen van een spatie valt, zoals een kamernummer. |
featureClassProperty
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
dwgLayers |
Matrix tekenreeksen | TRUE | De naam van elke laag die de eigenschap van de functieklasse definieert. Elke entiteit op de opgegeven laag wordt geconverteerd naar een eigenschap. Alleen de DWG TEXT- en MTEXT-entiteiten worden geconverteerd naar eigenschappen. Alle andere entiteiten worden genegeerd. |
featureClassPropertyName |
String | TRUE | Naam van de eigenschap functieklasse, bijvoorbeeld spaceName of spaceUseType. |
geodeductie
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
lat |
Nummer | TRUE | Decimaal beeld van graden breedtegraad bij de oorsprong van de faciliteittekening. De oorsprongcoördinaten moeten zich in WGS84 Web Mercator (EPSG:3857) hebben. |
lon |
Nummer | TRUE | Decimaal beeld van graden lengtegraad bij de oorsprong van de faciliteittekening. De oorsprongcoördinaten moeten zich in WGS84 Web Mercator (EPSG:3857) hebben. |
angle |
Nummer | TRUE | De klokgewijze hoek, in graden, tussen waar noord en de verticale as (Y) van de tekening. |
Manifest van voorbeeldtekeningspakket
De JSON in dit voorbeeld toont het manifestbestand voor het voorbeeldtekeningspakket. Ga naar het voorbeeldtekeningspakket v2 voor Azure Maps Creator op GitHub om het hele pakket te downloaden.
Manifestbestand
{
"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"
}
Volgende stappen
Zie de handleiding voor het tekenenpakket voor een handleiding voor het voorbereiden van het tekenpakket.