Teilen über


Anforderungen für Zeichnungspakete

Hinweis

Einstellung von Azure Maps Creator

Der Azure Maps Creator-Indoor-Kartendienst ist jetzt veraltet und wird am 9.30.25. eingestellt. Weitere Informationen finden Sie in der Ankündigung zum Ende des Lebenszyklus von Azure Maps Creator.

Mit dem Azure Maps-Konvertierungsdienst können Sie hochgeladene Zeichnungspakete in Kartendaten konvertieren. In diesem Artikel werden die Anforderungen für Zeichnungspakete für die Konvertierungs-API beschrieben. Wenn Sie sich ein Beispielpaket ansehen möchten, können Sie das exemplarische Zeichnungspaket herunterladen.

Voraussetzungen

Das Zeichnungspaket enthält gespeicherte Zeichnungen im DWG-Format. Hierbei handelt es sich um das native Dateiformat der AutoCAD®-Software von Autodesk.

Die Zeichnungen im Zeichnungspaket können mithilfe einer beliebigen CAD-Software erstellt werden.

Das Zeichnungspaket wird vom Konvertierungsdienst in Kartendaten konvertiert. Der Konvertierungsdienst kann mit dem DWG-Dateiformat AC1032 von AutoCAD verwendet werden.

Glossarbegriffe

Nachfolgend finden Sie einige relevante Begriffe und Definitionen, die für die Inhalte dieses Artikels wichtig sind.

Begriff Definition
Ebene Eine AutoCAD-DWG-Ebene aus der Zeichnungsdatei
Entität Eine AutoCAD DWG-Entität aus der Zeichnungsdatei.
Querverweis Eine Datei im DWG-Dateiformat von AutoCAD, die als externe Referenz an die Hauptzeichnung angefügt wird.
Ebene Ein Gebäudebereich in einer bestimmten Höhe. Hierbei kann es sich beispielsweise um ein Stockwerk handeln.
Komponente Eine Instanz eines vom Konvertierungsdienst erzeugten Objekts, das eine Geometrie mit Metadateninformationen kombiniert.
Featureklassen Eine allgemeine Blaupause für Features. So ist beispielsweise eine Einheit eine Featureklasse, während es sich bei einem Büro um ein Feature handelt.

Struktur eines Zeichnungspakets

Bei einem Zeichnungspaket handelt es sich um ein ZIP-Archiv mit folgenden Dateien:

  • DWG-Dateien im DWG-Dateiformat von AutoCAD
  • Eine manifest.json-Datei, in der die DWG-Dateien im Zeichnungspaket beschrieben sind.

Das Zeichnungspaket muss als ZIP in einer einzelnen Archivdatei verpackt sein und die ZIP-Erweiterung aufweisen. Die DWG-Dateien können innerhalb des Pakets beliebig strukturiert sein. Die Manifestdatei muss sich jedoch im Stammverzeichnis des gezippten Pakets befinden. In den nächsten Abschnitten werden die Anforderungen für die DWG-Dateien, die Manifestdatei und den Inhalt dieser Dateien erläutert. Wenn Sie sich ein Beispielpaket ansehen möchten, können Sie das Beispiel-Zeichnungspaket herunterladen.

DWG-Dateikonvertierungsprozess

Der Konvertierungsdienst führt für jede DWG-Datei Folgendes aus:

  • Extrahiert Featureklassen:
    • Levels
    • Units
    • Zones
    • „Openings“ (Öffnungen)
    • „Walls“ (Wände)
    • „Vertical Penetrations“ (Vertikale Durchdringungen)
  • Erzeugt ein Facility-Feature.
  • Erzeugt einen minimalen Satz von Standardfeatures der Kategorie, auf die von anderen Features verwiesen wird:
    • room
    • structure
    • wall
    • opening.door
    • Zone
    • Funktion

Anforderungen an die DWG-Datei

Für jede Ebene der Einrichtung ist jeweils eine einzelne DWG-Datei erforderlich. Alle Daten einer einzelnen Ebene müssen in einer einzelnen DWG-Datei enthalten sein. Externe Referenzen (Querverweise) müssen jeweils an die übergeordnete Zeichnung gebunden werden. Beispielsweise enthält ein Gebäude mit drei Ebenen drei DWG-Dateien im Zeichnungspaket.

Jede DWG-Datei muss die folgenden Anforderungen erfüllen:

  • Die DWG-Datei muss die Schichten Exterior (Außenbereich) und Unit (Einheit) definieren. Folgende Schichten können optional definiert werden: Wall (Wand), Door (Tür), UnitLabel (Einheitenbezeichnung), Zone (Zone) und ZoneLabel (Zonenbezeichnung).
  • Die DWG-Datei darf keine Features aus mehreren Ebenen enthalten.
  • Die DWG-Datei darf keine Features aus mehreren Einrichtungen enthalten.
  • Die DWG-Datei muss auf das gleiche Maßsystem und die gleiche Maßeinheit wie die anderen DWG-Dateien im Zeichnungspaket verweisen.

DWG-Ebenenanforderungen

Jede DWG-Ebene muss den folgenden Regeln entsprechen:

  • Eine Ebene darf nur ausschließlich Features einer einzelnen Klasse enthalten. Beispielsweise können sich Einheiten und Wände nicht auf derselben Ebene befinden.
  • Eine einzelne Klasse von Features kann durch mehrere Ebenen dargestellt werden.
  • Sich selbst überschneidende Polygone sind zulässig, werden aber automatisch repariert. Nach der Reparatur löst der Konvertierungsdienst eine Warnung aus. Es empfiehlt sich, die reparierten Ergebnisse manuell zu überprüfen, da sie möglicherweise nicht mit den erwarteten Ergebnissen übereinstimmen.
  • Jede Ebene verfügt über eine unterstützte Liste von Entitätstypen. Alle anderen Entitätstypen in einer Ebene werden ignoriert. Beispielsweise werden Textentitäten auf der Wandebene nicht unterstützt.

Die folgende Tabelle zeigt die unterstützten Entitätstypen und die konvertierten Kartenfunktionen für die einzelnen Ebenen. Sollte eine Schicht nicht unterstützte Entitätstypen enthalten, werden diese Entitäten vom Konvertierungsdienst ignoriert.

Ebene Entitätstypen Konvertierte Funktionen
Exterior POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) Levels
Einheit POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) Einheiten und vertikale Durchdringungen
Wall POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen), Strukturen
Door POLYGON, POLYLINIE, LINIE, KREISBOGEN, KREIS Openings
Zone POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) Zones
UnitLabel Text (einzeilig) Nicht zutreffend Von dieser Schicht können nur Eigenschaften zu den Einheitenfeatures der Unit-Schicht hinzugefügt werden. Weitere Informationen finden Sie unter UnitLabel-Schicht.
ZoneLabel Text (einzeilig) Nicht zutreffend Von dieser Schicht können nur Eigenschaften zu den Zonenfeatures der Zone-Schicht hinzugefügt werden. Weitere Informationen finden Sie unter ZoneLabel-Schicht.

In den folgenden Abschnitten werden die Anforderungen für jede Ebene beschrieben.

Exterior-Schicht

Die DWG-Datei für die jeweilige Ebene muss eine Schicht zum Definieren der Grenze der betreffenden Ebene enthalten. Diese Schicht wird als Exterior-Schicht bezeichnet. Wenn eine Einrichtung also beispielsweise zwei Ebenen enthält, benötigen Sie zwei DWG-Dateien mit einer Exterior-Schicht für jede Datei.

Das resultierende Einrichtungsdataset enthält jeweils nur ein Ebenenfeature pro DWG-Datei – unabhängig davon, wie viele Entitätszeichnungen sich auf der Exterior-Ebene befinden. Außerdem zu beachten:

  • Außenbereiche müssen als POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) gezeichnet werden.
  • Außenbereiche überschneiden sich zwar möglicherweise, werden jedoch zu einer einzelnen Geometrie aufgelöst.
  • Das resultierende Ebenenfeature muss mindestens 4 Quadratmeter betragen.
  • Das resultierende Ebenenfeature darf nicht größer als maximal 400.000 Quadratmeter sein.

Enthält die Ebene mehrere sich überschneidende Polylinien, werden diese zu einem einzelnen Ebenenfeature aufgelöst. Wenn die Schicht dagegen mehrere Polylinien ohne Überschneidung enthält, weist das resultierende Ebenenfeature eine Multipolygondarstellung auf.

Ein Beispiel für die Exterior-Ebene als Outline-Ebene ist im Beispielzeichenpaket enthalten.

Unit-Schicht

In der DWG-Datei für die jeweilige Ebene wird eine Schicht mit Einheiten definiert. Bei Einheiten handelt es sich um betretbare Gebäudebereiche wie Büros, Flure, Treppenhäuser und Aufzüge. Wenn die VerticalPenetrationCategory-Eigenschaft definiert ist, werden navigierbare Einheiten, die sich über mehrere Ebenen erstrecken, wie etwa Aufzüge und Treppen, in vertikale Durchdringungsfunktionen konvertiert. Vertikale Durchdringungsfunktionen, die einander überschneiden, werden einem setid zugewiesen.

Die Unit-Schicht muss folgende Anforderungen erfüllen:

  • Einheiten müssen als POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) gezeichnet werden.
  • Einheiten müssen innerhalb der Außengrenzen der Einrichtung liegen.
  • Einheiten dürfen sich nicht teilweise überschneiden.
  • Einheiten dürfen keine Geometrie enthalten, die sich selbst schneidet.

Erstellen Sie zum Benennen einer Einheit ein Textobjekt in der Schicht „UnitLabel“, und platzieren Sie es innerhalb der Grenzen der Einheit. Weitere Informationen finden Sie unter UnitLabel-Schicht.

Ein Beispiel für die Units-Ebene ist im Beispielzeichenpaket enthalten.

Wall-Schicht

Die DWG-Datei für die jeweilige Ebene kann eine Schicht enthalten, die die physischen Abmessungen von Wänden, Säulen und anderen Baustrukturen definiert.

  • Wände müssen als POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) gezeichnet werden.
  • Wall-Schichten dürfen nur eine als Baustruktur interpretierte Geometrie enthalten.

Ein Beispiel für die Walls-Ebene ist im Beispielzeichenpaket enthalten.

Door-Schicht

Sie können eine DWG-Schicht hinzufügen, die Türen enthält. Jede Tür muss sich mit der Kante einer Einheit aus der Unit-Schicht überschneiden.

Türöffnungen werden in einem Azure Maps-Dataset als Segment mit einer einzelnen Linie dargestellt, das sich mit mehreren Einheitengrenzen überschneidet. In den folgenden Abbildungen wird gezeigt, wie Azure Maps die Geometrie der Türschicht in Öffnen-Features in einem Dataset konvertiert.

Vier Abbildungen zur Veranschaulichung der Schritte, mit denen Öffnungen generiert werden

Zone-Schicht

Die DWG-Datei für die jeweilige Ebene kann eine Zone-Schicht enthalten, die die physischen Abmessungen von Zonen definiert. Eine Zone ist ein nicht navigierbarer Bereich, der benannt und wiedergegeben werden kann. Zonen können mehrere Ebenen umfassen und mithilfe der ZoneSetId-Eigenschaft gruppiert werden.

  • Zonen müssen als POLYGON, POLYLINIE (geschlossen) oder ELLIPSE (geschlossen) gezeichnet werden.
  • Zonen können sich überlappen.
  • Zonen können innerhalb oder außerhalb der Außengrenze der Einrichtung liegen.

Erstellen Sie zum Benennen einer Zone ein Textobjekt in der ZoneLabel-Schicht, und platzieren Sie es innerhalb der Grenzen der Zone. Weitere Informationen finden Sie unter ZoneLabel-Schicht.

Ein Beispiel für die Zone-Ebene ist im Beispielzeichenpaket enthalten.

UnitLabel-Schicht

Die DWG-Datei für die jeweilige Ebene kann eine UnitLabel-Schicht enthalten. Durch die UnitLabel-Schicht wird eine Namenseigenschaft zu Einheiten hinzugefügt, die aus der Unit-Schicht extrahiert wurden. Für Einheiten mit einer Namenseigenschaft können weitere Details in der Manifestdatei angegeben werden.

  • Bei Einheitenbezeichnungen muss es sich um einzeilige Textentitäten handeln.
  • Einheitenbezeichnungen müssen innerhalb der Grenzen der zugehörigen Einheit liegen.
  • Einheiten dürfen nicht mehrere Textentitäten in der UnitLabel-Schicht enthalten.

Ein Beispiel für die UnitLabel-Ebene ist im Beispielzeichenpaket enthalten.

ZoneLabel-Schicht

Die DWG-Datei für die jeweilige Ebene kann eine ZoneLabel-Schicht enthalten. Durch diese Schicht wird aus der Zone-Schicht extrahierten Zonen eine Namenseigenschaft hinzugefügt. Für Zonen mit einer Namenseigenschaft können weitere Details in der Manifestdatei angegeben werden.

  • Bei Zonenbezeichnungen muss es sich um einzeilige Textentitäten handeln.
  • Zonenbezeichnungen müssen innerhalb der Grenzen der zugehörigen Zone liegen.
  • Zonen dürfen nicht mehrere Textentitäten in der ZoneLabel-Schicht enthalten.

Ein Beispiel für die ZoneLabel-Ebene ist im Beispielzeichenpaket enthalten.

Anforderungen für die Manifestdatei

Der ZIP-Ordner muss eine Manifestdatei auf der Stammebene des Verzeichnisses enthalten, und die Datei muss manifest.json heißen. In dieser Datei werden die DWG-Dateien beschrieben, damit deren Inhalt vom Konvertierungsdienst analysiert werden kann. Bei der Erfassung werden nur die im Manifest angegebenen Dateien berücksichtigt. Dateien, die sich zwar im ZIP-Ordner befinden, aber nicht ordnungsgemäß im Manifest aufgeführt sind, werden ignoriert.

Im Zusammenhang mit der Verwendung der Manifestobjekte müssen zwar gewisse Anforderungen erfüllt werden, es sind aber nicht alle Objekte erforderlich. Die folgende Tabelle enthält die erforderlichen und optionalen Objekte für die Version 1.1 des Konvertierungsdiensts.

Hinweis

Sofern nicht anders angegeben, lassen alle Eigenschaften mit dem Eigenschaftstyp Zeichenfolge tausend Zeichen zu.

Object Erforderlich BESCHREIBUNG
version true Manifestschemaversion Aktuell wird nur Version 1.1 unterstützt.
directoryInfo true Gibt die geografischen Informationen und die Kontaktinformationen für die Einrichtung an. Kann auch zur Angabe der geografischen Informationen und der Kontaktinformationen eines Nutzers verwendet werden.
buildingLevels true Gibt die Ebenen der Gebäude und die Dateien an, die den Plan der Ebenen enthalten.
georeference true Enthält numerische geografische Informationen für die Einrichtungszeichnung.
dwgLayers true Listet die Namen der Schichten auf. Außerdem werden für jede Schicht die Namen der zugehörigen Features aufgelistet.
unitProperties false Ermöglicht das Einfügen weiterer Metadaten für die Einheitenfeatures.
zoneProperties false Ermöglicht das Einfügen weiterer Metadaten für die Zonenfeatures.

In den nächsten Abschnitten werden die Anforderungen für die einzelnen Objekte erläutert.

directoryInfo

Eigenschaft Type Erforderlich Beschreibung
name Zeichenfolge true Name des Gebäudes.
streetAddress Zeichenfolge false Adresse des Gebäudes.
unit Zeichenfolge false Einheit im Gebäude.
locality Zeichenfolge false Name einer Stadt, eines Bereichs, einer Umgebung oder einer Region.
adminDivisions JSON-Array von Zeichenfolgen false Ein Array, das Adressbezeichnungen enthält. Beispiel: (Land, Bundesland) Verwenden Sie Landeskennzahlen gemäß ISO 3166 und Gebietscodes gemäß ISO 3166-2.
postalCode Zeichenfolge false Die Postleitzahl.
hoursOfOperation Zeichenfolge false Entspricht dem Öffnungszeitenformat von OSM.
phone Zeichenfolge false Telefonnummer für das Gebäude.
website Zeichenfolge false Website für das Gebäude.
nonPublic bool false Flag, um anzugeben, ob das Gebäude öffentlich zugänglich ist.
anchorLatitude NUMERIC false Breitengrad eines Einrichtungsankers (Ortsmarke).
anchorLongitude NUMERIC false Längengrad eines Einrichtungsankers (Ortsmarke).
anchorHeightAboveSeaLevel NUMERIC false Höhe des Erdgeschosses der Einrichtung über dem Meeresspiegel, angegeben in Metern.
defaultLevelVerticalExtent NUMERIC false Die Standardhöhe (Stärke) einer Ebene dieser Einrichtung für den Fall, dass verticalExtent für die Ebene nicht definiert ist.

buildingLevels

Das Objekt buildingLevels enthält ein JSON-Array mit Gebäudeebenen.

Eigenschaft Type Erforderlich Beschreibung
levelName Zeichenfolge true Beschreibender Ebenenname. Beispiel: 1. Stock, Eingangsbereich, blaue Parkebene oder Keller.
ordinal integer true Bestimmt die vertikale Reihenfolge der Ebenen. Jede Einrichtung muss über eine Ebene mit der Ordnungszahl 0 verfügen.
heightAboveFacilityAnchor NUMERIC false Die Ebenenhöhe über dem Anker in Metern.
verticalExtent NUMERIC false Die Höhe vom Boden bis zur Decke (Stärke) der Ebene, angegeben in Metern.
filename Zeichenfolge true Dateisystempfad der CAD-Zeichnung für eine Gebäudeebene. Muss relativ zum Stamm der ZIP-Datei des Gebäudes angegeben werden.

georeference

Eigenschaft Type Erforderlich Beschreibung
lat NUMERIC true Dezimaldarstellung des Breitengrads am Ursprung der Anlagenzeichnung. Die Ursprungskoordinaten müssen als WGS 84-Web-Mercator-Koordinaten (EPSG:3857) vorliegen.
lon NUMERIC true Dezimaldarstellung des Längengrads am Ursprung der Anlagenzeichnung. Die Ursprungskoordinaten müssen als WGS 84-Web-Mercator-Koordinaten (EPSG:3857) vorliegen.
angle NUMERIC true Der Winkel im Uhrzeigersinn zwischen geografisch Nord und der vertikalen Achse (Y-Achse) der Zeichnung, angegeben in Grad.

dwgLayers

Eigenschaft Type Erforderlich BESCHREIBUNG
exterior array of strings true Namen von Schichten zum Definieren des äußeren Gebäudeprofils.
unit array of strings false Namen von Schichten zum Definieren von Einheiten.
wall array of strings false Namen von Schichten zum Definieren von Wänden.
door array of strings false Namen von Schichten zum Definieren von Türen.
unitLabel array of strings false Namen von Schichten zum Definieren von Einheitennamen.
zone array of strings false Namen von Schichten zum Definieren von Zonen.
zoneLabel array of strings false Namen von Schichten zum Definieren von Zonennamen.

unitProperties

Das Objekt unitProperties enthält ein JSON-Array mit Einheiteneigenschaften.

Eigenschaft Type Erforderlich Beschreibung
unitName Zeichenfolge true Name der Einheit, die diesem Datensatz vom Typ unitProperty zugeordnet werden soll. Dieser Datensatz ist nur gültig, wenn die Schichten vom Typ unitLabel eine Bezeichnung vom Typ unitName enthalten.
categoryName Zeichenfolge false Zweck der Einheit. Eine Liste der Werte, die von den bereitgestellten Rendering Styles verwendet werden können, finden Sie in der Datei categories.json.
occupants Array mit Objekten vom Typ „directoryInfo“ false Nutzerliste für die Einheit.
nameAlt Zeichenfolge false Alternativer Name der Einheit.
nameSubtitle Zeichenfolge false Untertitel der Einheit.
addressRoomNumber Zeichenfolge false Raum-, Einheiten-, Wohnungs- oder Suitennummer der Einheit.
verticalPenetrationCategory Zeichenfolge false Wenn diese Eigenschaft definiert ist, ist das resultierende Feature keine Einheit, sondern eine vertikale Durchdringung (Vertical Penetration, VRT). Sie können vertikale Durchdringungen verwenden, um zu anderen Features von vertikalen Durchdringungen in der Ebene darüber oder darunter zu gelangen. „verticalPenetration“ ist ein Kategoriename. Wenn diese Eigenschaft definiert ist, wird die Eigenschaft categoryName durch verticalPenetrationCategory überschrieben.
verticalPenetrationDirection Zeichenfolge false Ist verticalPenetrationCategory definiert, kann optional die gültige Bewegungsrichtung definiert werden. Zulässige Werte: lowToHigh, highToLow, both und closed. Standardwert: both. Bei dem Wert wird die Groß-/Kleinschreibung beachtet.
nonPublic bool false Gibt an, ob die Einheit öffentlich zugänglich ist.
isRoutable bool false Wenn diese Eigenschaft auf false festgelegt ist, ist keine Bewegung zur oder durch die Einheit möglich. Standardwert: true.
isOpenArea bool false Ermöglicht dem Navigations-Agent den Zugang/die Zufahrt zur Einheit, ohne dass eine Öffnung mit der Einheit verknüpft sein muss. Standardmäßig ist dieser Wert für Einheiten ohne Öffnungen auf true festgelegt, für Einheiten mit Öffnungen auf false. Das manuelle Festlegen von isOpenArea auf false für eine Einheit ohne Öffnungen führt zu einer Warnung, da die sich ergebende Einheit nicht durch einen navigierenden Agent erreicht werden kann.

zoneProperties

Das Objekt zoneProperties enthält ein JSON-Array mit Zoneneigenschaften.

Eigenschaft Type Erforderlich BESCHREIBUNG
zoneName Zeichenfolge true Name der Zone, der dem Datensatz zoneProperty zugeordnet werden soll. Dieser Datensatz ist nur gültig, wenn die Schicht zoneLabel der Zone eine Bezeichnung vom Typ zoneName enthält.
categoryName Zeichenfolge false Zweck der Zone. Eine Liste der Werte, die von den bereitgestellten Rendering Styles verwendet werden können, finden Sie in der Datei categories.json.
zoneNameAlt Zeichenfolge false Alternativer Name der Zone.
zoneNameSubtitle Zeichenfolge false Untertitel der Zone.
zoneSetId Zeichenfolge false Legen Sie die ID fest, um eine Beziehung zwischen mehreren Zonen herzustellen, damit diese als Gruppe abgefragt oder ausgewählt werden können. Beispielsweise Zonen, die mehrere Ebenen umfassen.

Exemplarisches Zeichnungspaketmanifest

Nachfolgend finden Sie die Manifestdatei für das Beispielzeichnungspaket. Wechseln Sie zum Beispielzeichnungspaket für Azure Maps Creator auf GitHub, um das gesamte Paket herunterzuladen.

Manifestdatei

{
    "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"
        }
    ]
}

Mit dem Azure Maps-Konvertierungsdienst können Sie hochgeladene Zeichnungspakete in Kartendaten konvertieren. In diesem Artikel werden die Anforderungen für Zeichnungspakete für die Konvertierungs-API beschrieben. Wenn Sie sich ein Beispielpaket ansehen möchten, können Sie das Beispielzeichnungspaket v2 herunterladen.

Eine Anleitung zur Vorbereitung Ihres Zeichnungspakets finden Sie im Handbuch für Zeichnungspakete.

Änderungen und Revisionen

  • Unterstützung für benutzerdefinierte Featureklassen wurde hinzugefügt.
  • Vereinfachte Anforderungen von DWG-Ebenen.

Voraussetzungen

Das Zeichnungspaket enthält gespeicherte Zeichnungen im DWG-Format. Hierbei handelt es sich um das native Dateiformat der AutoCAD®-Software von Autodesk.

Die Zeichnungen im Zeichnungspaket können mithilfe einer beliebigen CAD-Software erstellt werden.

Das Zeichnungspaket wird vom Konvertierungsdienst in Kartendaten konvertiert. Der Konvertierungsdienst kann mit dem DWG-Dateiformat AC1032 von AutoCAD verwendet werden.

Glossarbegriffe

Nachfolgend finden Sie einige relevante Begriffe und Definitionen, die für die Inhalte dieses Artikels wichtig sind.

Begriff Definition
Ebene Eine AutoCAD-DWG-Ebene aus der Zeichnungsdatei
Entität Eine AutoCAD DWG-Entität aus der Zeichnungsdatei.
Querverweis Eine Datei im DWG-Dateiformat von AutoCAD, die als externe Referenz an die Hauptzeichnung angefügt wird.
Ebene Ein Gebäudebereich in einer bestimmten Höhe. Beispielsweise die Etage eines Gebäudes.
Komponente Eine Instanz eines vom Konvertierungsdienst erzeugten Objekts, das eine Geometrie mit Metadateninformationen kombiniert.
Featureklassen Eine allgemeine Blaupause für Features.

Struktur eines Zeichnungspakets

Ein Zeichnungspaket ist ein ZIP-Archiv mit folgenden Dateien:

  • DWG-Dateien im DWG-Dateiformat von AutoCAD
  • Eine manifest.json-Datei, in der die DWG-Dateien im Zeichnungspaket beschrieben sind.

Das Zeichnungspaket muss in eine einzige Archivdatei mit der Erweiterung „.zip“ komprimiert werden. Die DWG-Dateien können innerhalb des Zeichnungspakets beliebig organisiert sein, aber die Manifestdatei muss sich im Stammverzeichnis befinden. In den nächsten Abschnitten werden der Konvertierungsprozess und die Anforderungen für die DWG- und Manifestdateien sowie der Inhalt dieser Dateien erläutert. Wenn Sie sich ein Beispielpaket ansehen möchten, können Sie das Beispielzeichnungspaket v2 herunterladen.

DWG-Dateikonvertierungsprozess

Der Azure Maps-Konvertierungsdienst konvertiert DWG-Dateien eines Gebäudes in Kartendaten, die ein Gebäude und dessen Features darstellen.

Der Azure Maps-Konvertierungsdienst erstellt Folgendes:

  • Gebäudefeature: Das Feature auf oberster Ebene eines Gebäudes, dem alle seine Ebenen zugeordnet sind.
  • Ebenenfeatures: Das Feature „Eine Ebene“ wird für jede Etage eines Gebäudes erstellt. Alle Features auf einer Ebene sind einer Ebene zugeordnet.
  • Benutzerdefinierte Features: DWG-Ebenen werden einer benutzerdefinierten Featureklasse zugeordnet und zu deren Instanzen.

Anforderungen an die DWG-Datei

Jede DWG-Datei muss diese Anforderungen erfüllen:

  • Die DWG-Datei darf keine Features aus mehreren Einrichtungen enthalten.
  • Die DWG-Datei darf keine Features aus mehreren Ebenen enthalten. Beispielsweise enthält ein Gebäude mit drei Ebenen drei DWG-Dateien im Zeichnungspaket.
  • Alle Daten einer einzelnen Ebene müssen in einer einzelnen DWG-Datei enthalten sein. Externe Referenzen (Querverweise) müssen jeweils an die übergeordnete Zeichnung gebunden werden.
  • Die DWG-Datei muss Ebenen definieren, die die Grenze dieser Ebene darstellen.
  • Die DWG-Datei muss auf das gleiche Maßsystem und die gleiche Maßeinheit wie die anderen DWG-Dateien im Zeichnungspaket verweisen.
  • Die DWG-Datei muss ausgerichtet werden, wenn sie auf einer anderen Ebene aus demselben Gebäude gestapelt wird.

DWG-Ebenenanforderungen

Featureklassen

Eine oder mehrere DWG-Ebene(n) kann/können einer benutzerdefinierten Featureklasse zugeordnet werden. Eine Instanz des Features wird aus einer Entität auf der zugeordneten Ebene erstellt. Beispielsweise werden die DWG-Ebenen „Stuhl“, „Tisch“ und „Couch“ der Featureklasse „Möbel“ zugeordnet. Für jede Entität aus den definierten Ebenen wird ein Feature „Möbel“ erstellt. Darüber hinaus gilt:

  • Alle Ebenen sollten getrennt werden, um verschiedene Featuretypen des Gebäudes darzustellen.
  • Alle Entitäten müssen innerhalb der Grenzen der Ebenengrenze liegen.
  • Unterstützte AutoCAD-Entitätstypen: TEXT, MTEXT, PUNKT, BOGEN, KREIS, LINIE, POLYLINIE, ELLIPSE.

Eigenschaften der Featureklasse

Textentitäten, die innerhalb der Grenzen einer geschlossenen Form liegen, können diesem Feature als Eigenschaft zugeordnet werden. Beispielsweise könnte eine Featureklasse „Zimmer“ Text enthalten, der den Zimmernamen beschreibt, und eine andere den Zimmertyp Beispielzeichnungspaket v2. Darüber hinaus gilt:

  • Nur TEXT- und MTEXT-Entitäten werden dem Feature als Eigenschaft zugeordnet. Alle anderen Entitätstypen werden ignoriert.
  • Der Ausrichtungspunkt von TEXT und MTEXT muss innerhalb der Grenzen der geschlossenen Form liegen.
  • Wenn mehrere TEXT-Eigenschaften innerhalb der Grenzen der geschlossenen Form liegen und alle einer einzigen Eigenschaft zugeordnet sind, wird nach dem Zufallsprinzip eine Eigenschaft ausgewählt.

Gebäudeebene

Die DWG-Datei für die jeweilige Ebene muss eine Schicht zum Definieren der Grenze der betreffenden Ebene enthalten. Wenn ein Gebäude beispielsweise zwei Ebenen enthält, muss sie zwei DWG-Dateien mit jeweils einer Ebene haben, die die Grenze dieser Ebene definiert.

Das resultierende Gebäudedataset enthält jeweils nur ein Ebenenfeature pro DWG-Datei – unabhängig davon, wie viele Entitätszeichnungen sich in der Ebene „Ebenengrenze“ befinden. Darüber hinaus gilt:

  • Ebenengrenzen müssen als POLYGON, POLYLINIE (geschlossen), KREIS oder ELLIPSE (geschlossen) gezeichnet werden.
  • Ebenengrenzen überschneiden sich möglicherweise, werden aber in eine einzige Geometrie aufgelöst.
  • Das resultierende Ebenenfeature muss mindestens 4 Quadratmeter betragen.
  • Das resultierende Ebenenfeature darf nicht größer als maximal 400.000 Quadratmeter sein.

Enthält die Ebene mehrere sich überschneidende POLYLINIEN, werden diese zu einem einzigen Ebenenfeature aufgelöst. Enthält die Ebene stattdessen mehrere nicht überlappende POLYLINEN, hat das resultierende Ebenenmerkmal eine multipolygonale Darstellung.

Ein Beispiel für eine „Ebenengrenze“ als GROS$-Ebene ist im Beispielzeichnungspaket v2 enthalten.

Anforderungen für die Manifestdatei

Das Zeichnungspaket muss eine Manifestdatei auf der Stammebene enthalten, und die Datei muss manifest.json heißen. Sie beschreibt die DWG-Dateien, damit der Konvertierungsdienst ihren Inhalt analysieren kann. Nur die im Manifest angegebenen Dateien werden verwendet. Dateien, die sich zwar im Zeichnungspaket befinden, aber im Manifest nicht ordnungsgemäß aufgeführt sind, werden ignoriert.

Die Dateipfade im Objekt „buildingLevels“ der Manifestdatei müssen relativ zum Stamm des Zeichnungspakets sein. Der DWG-Dateiname muss exakt dem Namen der Einrichtungsebene entsprechen. Eine DWG-Datei für die Ebene „Keller“ heißt also beispielsweise Keller.dwg. Eine DWG-Datei für Ebene 2 heißt Ebene_2.dgw. Dateinamen dürfen keine Leerzeichen enthalten. Sie können Leerzeichen aber durch einen Unterstrich ersetzen.

Im Zusammenhang mit der Verwendung der Manifestobjekte müssen zwar gewisse Anforderungen erfüllt werden, es sind aber nicht alle Objekte erforderlich. Die folgende Tabelle enthält die erforderlichen und optionalen Objekte für die Vorschauversion 2023-03-01 des Konvertierungsdiensts.

Hinweis

Wenn nicht anders angegeben, sind alle Zeichenfolgeneigenschaften auf eintausend Zeichen begrenzt.

JSON-Manifestdatei

Eigenschaft Type Erforderlich Beschreibung
version Zeichenfolge TRUE Manifestschemaversion Zurzeit Version „2.0“
buildingLevels Objekt BuildingLevels TRUE Gibt die Ebenen des Gebäudes und die Dateien an, die den Entwurf der Ebenen enthalten.
featureClasses Array von featureClass-Objekten true Liste der Featureklassenobjekte, die definieren, wie Ebenen aus der DWG-Zeichnungsdatei gelesen werden.
georeference Objekt Georeferenz false Enthält numerische geografische Informationen für die Einrichtungszeichnung.    
facilityName Zeichenfolge false Der Name des Gebäudes.

In den nächsten Abschnitten werden die Anforderungen für die einzelnen Objekte erläutert.

buildingLevels

Eigenschaft Type Erforderlich BESCHREIBUNG
dwgLayers Array von Zeichenfolgen true Namen von Ebenen, die das äußere Profil des Gebäudes definieren.
levels Array von Ebenenobjekten true Eine Ebene bezieht sich auf eine eindeutige Etage in dem in einer DWG-Datei definierten Gebäude, die Höhe jeder Ebene und die vertikale Reihenfolge, in der sie angezeigt werden.

Level

Eigenschaft Type Erforderlich Beschreibung
levelName Zeichenfolge true Der Name der Ebene. Beispiel: 1. Stock, Eingangsbereich, blaue Parkebene oder Keller.
ordinal integer true Definiert die vertikale Reihenfolge von Ebenen. Alle ordinal-Werte müssen innerhalb eines Gebäudes eindeutig sein.
filename Zeichenfolge true Der Pfad und Name der DWG-Datei, die die Ebene in einem Gebäude darstellt. Der Pfad muss relativ zum Stamm des Zeichnungspakets sein. 
verticalExtent number false Die vertikale Höhe vom Boden bis zur Decke (Stärke) der Ebene, angegeben in Metern.

featureClass

Eigenschaft Type Erforderlich BESCHREIBUNG
dwgLayers Array von Zeichenfolgen true Der Name jeder Ebene, die die Featureklasse definiert. Jede Entität auf der angegebenen Ebene wird in eine Instanz der Featureklasse konvertiert. Der Name dwgLayer, aus dem ein Feature konvertiert wird, endet als eine Eigenschaft dieses Features.
featureClassName String true Der Name der Featureklasse. Typische Beispiele sind Zimmer, Arbeitsbereich oder Wand.
featureClassProperties Array von featureClassProperty-Objekten FALSE Gibt Textebenen in der DWG-Datei an, die dem Feature als Eigenschaft zugeordnet sind. Beispielsweise eine Bezeichnung, die innerhalb der Grenzen eines Bereichs liegt, z. B. eine Zimmernummer.

featureClassProperty

Eigenschaft Type Erforderlich BESCHREIBUNG
dwgLayers Array von Zeichenfolgen true Der Name jeder Ebene, die die Eigenschaft der Featureklasse definiert. Jede Entität auf der angegebenen Ebene wird in eine Eigenschaft konvertiert. Nur die DWG-Entitäten TEXT und MTEXT werden in Eigenschaften konvertiert. Alle anderen Entitäten werden ignoriert.
featureClassPropertyName String true Name der Eigenschaft der Featureklasse, z. B. „spaceName“ oder „spaceUseType“.

georeference

Eigenschaft Type Erforderlich Beschreibung
lat number true Dezimaldarstellung des Breitengrads am Ursprung der Anlagenzeichnung. Die Ursprungskoordinaten müssen als WGS 84-Web-Mercator-Koordinaten (EPSG:3857) vorliegen.
lon number true Dezimaldarstellung des Längengrads am Ursprung der Anlagenzeichnung. Die Ursprungskoordinaten müssen als WGS 84-Web-Mercator-Koordinaten (EPSG:3857) vorliegen.
angle number true Der Winkel im Uhrzeigersinn zwischen geografisch Nord und der vertikalen Achse (Y-Achse) der Zeichnung, angegeben in Grad.

Exemplarisches Zeichnungspaketmanifest

Der JSON-Code in diesem Beispiel zeigt die Manifestdatei für das Beispielzeichnungspaket. Wechseln Sie zum Beispielzeichnungspaket v2 für Azure Maps Creator auf GitHub, um das gesamte Paket herunterzuladen.

Manifestdatei

{
  "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ächste Schritte

Eine Anleitung zur Vorbereitung Ihres Zeichnungspakets finden Sie im Handbuch für Zeichnungspakete.