Požadavky balíčku pro kreslení
Poznámka:
Vyřazení z provozu v Azure Maps Creatoru
Vnitřní mapová služba Azure Maps Creator je teď zastaralá a bude vyřazena 30. 9. 25. Další informace najdete v tématu Oznámení o ukončení životnosti tvůrce Azure Maps.
Nahrané balíčky výkresu můžete převést na mapová data pomocí služby Převod služby Azure Maps. Tento článek popisuje požadavky balíčku výkresu pro rozhraní Conversion API. Pokud chcete zobrazit ukázkový balíček, můžete si stáhnout ukázkový balíček výkresu.
Požadavky
Balíček výkresu obsahuje výkresy uložené ve formátu DWG, což je nativní formát souboru pro software Autodesk AutoCAD®.
Můžete zvolit libovolný software CAD pro výrobu výkresů v balíčku výkresu.
Služba Převod převede balíček výkresu na mapová data. Převodní služba pracuje s formátem AC1032
souboru DWG autoCADu .
Glosář pojmů
Tady jsou některé termíny a definice, které jsou důležité při čtení tohoto článku.
Pojem | definice |
---|---|
Vrstva | Vrstva DWG autoCADu ze souboru výkresu. |
Entity | Entita DWG autoCADu ze souboru výkresu. |
Xref | Soubor ve formátu souboru DWG aplikace AutoCAD připojený k primárnímu výkresu jako externí odkaz. |
Level | Oblast budovy v nastaveném zvýšení. Například podlaha budovy. |
Funkce | Instance objektu vytvořeného ze služby Conversion, která kombinuje geometrii s informacemi o metadatech. |
Třídy funkcí | Společný podrobný plán pro funkce. Například jednotka je třída funkcí a kancelář je funkce. |
Struktura balíčku výkresu
Balíček výkresu je .zip archiv, který obsahuje následující soubory:
- Soubory DWG ve formátu souboru DWG aplikace AutoCAD.
- Soubor manifest.json , který popisuje soubory DWG v balíčku výkresu.
Balíček výkresu musí být zazipován do jednoho souboru archivu s příponou .zip. Soubory DWG lze uspořádat jakýmkoli způsobem uvnitř balíčku, ale soubor manifestu musí být aktivní v kořenovém adresáři komprimovaného balíčku. Další části podrobně uvádějí požadavky na soubory DWG, soubor manifestu a obsah těchto souborů. Pokud chcete zobrazit ukázkový balíček, můžete si stáhnout ukázkový balíček výkresu.
Proces převodu souborů DWG
Služba převodu provede pro každý soubor DWG následující:
- Extrahuje třídy funkcí:
- Úrovně
- Jednotky
- Zóny
- Zahájení
- Zdi
- Svislé průniky
- Vytvoří funkci zařízení.
- Vytvoří minimální sadu výchozích funkcí kategorií odkazovaných jinými funkcemi:
- místnost
- – struktura
- stěna
- opening.door
- zóna
- zařízení
Požadavky na soubor DWG
Pro každou úroveň zařízení se vyžaduje jeden soubor DWG. Všechna data jedné úrovně musí být obsažena v jednom souboru DWG. Všechny externí odkazy (xrefs) musí být vázané na nadřazený výkres. Například zařízení se třemi úrovněmi má v balíčku výkresu tři soubory DWG.
Každý soubor DWG musí splňovat následující požadavky:
- Soubor DWG musí definovat vrstvy exteriéru a jednotky. Volitelně může definovat následující vrstvy: Wall, Door, UnitLabel, Zone a ZoneLabel.
- Soubor DWG nemůže obsahovat funkce z více úrovní.
- Soubor DWG nemůže obsahovat funkce z více zařízení.
- DWG musí odkazovat na stejný měrný systém a měrnou jednotku jako jiné soubory DWG v balíčku výkresu.
Požadavky na vrstvu DWG
Každá vrstva DWG musí dodržovat následující pravidla:
- Vrstva musí obsahovat výhradně funkce jedné třídy. Například jednotky a stěny nemohou být ve stejné vrstvě.
- Jednu třídu funkcí může reprezentovat více vrstev.
- Jsou povoleny samoroztínající mnohoúhelníky, ale automaticky se opravují. Při opravě služba Převod vyvolá upozornění. Doporučujeme ručně zkontrolovat opravené výsledky, protože nemusí odpovídat očekávaným výsledkům.
- Každá vrstva má podporovaný seznam typů entit. Všechny ostatní typy entit ve vrstvě budou ignorovány. Například textové entity nejsou na vrstvě zdi podporovány.
Následující tabulka popisuje podporované typy entit a převedené funkce mapování pro každou vrstvu. Pokud vrstva obsahuje nepodporované typy entit, služba Conversion tyto entity ignoruje.
Vrstva | Typy entit | Převedené funkce |
---|---|---|
Vnější | POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno) | Úrovně |
Jednotka | POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno) | Jednotky a svislé průniky |
Stěna | POLYGON, POLYLINE (uzavřeno), CIRCLE nebo ELLIPSE (uzavřeno), Struktury | |
Dveře | POLYGON, POLYLINE, LINE, CIRCULARARC, CIRCLE | Zahájení |
Zóna | POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno) | Zóny |
UnitLabel | Text (jeden řádek) | Nevztahuje se. Tato vrstva může do funkcí jednotek přidávat pouze vlastnosti z vrstvy Jednotky. Další informace najdete ve vrstvě UnitLabel. |
ZoneLabel | Text (jeden řádek) | Nevztahuje se. Tato vrstva může přidávat vlastnosti pouze do funkcí zóny z zónyLayer. Další informace najdete v vrstvě ZoneLabel. |
Následující části popisují požadavky pro každou vrstvu.
Vnější vrstva
Soubor DWG pro každou úroveň musí obsahovat vrstvu, která definuje obvod této úrovně. Tato vrstva se označuje jako vnější vrstva. Pokud například zařízení obsahuje dvě úrovně, musí mít dva soubory DWG s vnější vrstvou pro každý soubor.
Bez ohledu na to, kolik výkresů entit je v vnější vrstvě, obsahuje výsledná datová sada zařízení pouze jednu úroveň pro každý soubor DWG. Dále:
- Vnější čáry musí být kresleny jako POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno).
- Exteriéry se mohou překrývat, ale rozpustí se do jedné geometrie.
- Výsledná úroveň funkce musí být nejméně 4 čtvereční metry.
- Výsledná úroveň nesmí být větší než 400 000 metrů čtverečních.
Pokud vrstva obsahuje více překrývajících se čar, rozpustí se do jedné funkce úrovně. Pokud vrstva obsahuje více nepřekrývajících se čar, výsledná funkce Úrovně má víceúhelníkovou reprezentaci.
Příklad vnější vrstvy můžete vidět jako vrstvu osnovy v ukázkovém balíčku výkresu.
Vrstva jednotek
Soubor DWG pro každou úroveň definuje vrstvu obsahující jednotky. K dispozici jsou také prostory pro navigaci v budově, jako jsou kanceláře, chodby, schody a výtahy. VerticalPenetrationCategory
Pokud je vlastnost definována, pohybitelné jednotky, které pokrývají více úrovní, jako jsou výtahy a schody, jsou převedeny na svislé penetrační funkce. Svislé penetrační funkce, které se navzájem překrývají, jsou přiřazeny jeden setid
.
Vrstva Jednotky by měla dodržovat následující požadavky:
- Jednotky musí být nakresleny jako POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno).
- Jednotky musí spadat do hranic vnějšího obvodu zařízení.
- Jednotky se nesmí částečně překrývat.
- Jednotky nesmí obsahovat žádnou vlastní protínající geometrii.
Pojmenujte jednotku vytvořením textového objektu ve vrstvě UnitLabel a pak objekt umístěte do hranic jednotky. Další informace najdete ve vrstvě UnitLabel.
Příklad vrstvy Jednotky můžete vidět v ukázkovém balíčku výkresu.
Nástěnná vrstva
Soubor DWG pro každou úroveň může obsahovat vrstvu, která definuje fyzické rozsahy stěn, sloupců a dalších stavebních struktur.
- Stěny musí být kresleny jako POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno).
- Vrstva zdi nebo vrstvy by měla obsahovat pouze geometrii, která je interpretována jako struktura budovy.
V ukázkovém balíčku výkresu si můžete prohlédnout příklad vrstvy Stěn.
Vrstva dveří
Můžete zahrnout vrstvu DWG, která obsahuje dveře. Každé dveře musí překrývat okraj jednotky z vrstvy Jednotky.
Otevření dveří v datové sadě Azure Maps jsou reprezentované jako jednořádkový segment, který se překrývají s více hranicemi jednotek. Následující obrázky ukazují, jak Azure Maps převádí geometrii vrstev dveří na otevírání funkcí v datové sadě.
Vrstva zóny
Soubor DWG pro každou úroveň může obsahovat vrstvu zóny, která definuje fyzické rozsahy zón. Zóna je nevigovatelné místo, které lze pojmenovat a vykreslit. Zóny mohou zahrnovat více úrovní a jsou seskupeny pomocí zoneSetId vlastnost.
- Zóny musí být nakresleny jako POLYGON, POLYLINE (uzavřeno) nebo ELIPSE (uzavřeno).
- Zóny se můžou překrývat.
- Zóny mohou spadat dovnitř nebo mimo vnější obvod zařízení.
Pojmenujte zónu vytvořením textového objektu ve vrstvě ZoneLabel a umístěním textového objektu do hranic zóny. Další informace naleznete v tématu ZoneLabel vrstva.
Příklad vrstvy zóny si můžete prohlédnout v ukázkovém balíčku výkresu.
Vrstva UnitLabel
Soubor DWG pro každou úroveň může obsahovat vrstvu UnitLabel. Vrstva UnitLabel přidá vlastnost názvu do jednotek extrahovaných z vrstvy Jednotky. Jednotky s vlastností názvu můžou obsahovat další podrobnosti zadané v souboru manifestu.
- Popisky jednotek musí být jednořádkové textové entity.
- Popisky jednotek musí být zcela uvnitř hranic jejich jednotky.
- Jednotky nesmí obsahovat více textových entit ve vrstvě UnitLabel.
Příklad vrstvy UnitLabel si můžete prohlédnout v ukázkovém balíčku výkresu.
Vrstva ZoneLabel
Soubor DWG pro každou úroveň může obsahovat vrstvu ZoneLabel. Tato vrstva přidá vlastnost názvu do zón extrahovaných z vrstvy zóny. Zóny s vlastností názvu můžou mít další podrobnosti zadané v souboru manifestu.
- Popisky zón musí být jednořádkové textové entity.
- Popisky zón musí spadat do mezí jejich zóny.
- Zóny nesmí obsahovat více textových entit ve vrstvě ZoneLabel.
Příklad vrstvy ZoneLabel si můžete prohlédnout v ukázkovém balíčku výkresu.
Požadavky na soubor manifestu
Složka ZIP musí obsahovat soubor manifestu na kořenové úrovni adresáře a soubor musí mít název manifest.json. Popisuje soubory DWG, které službě Conversion umožňují parsovat jejich obsah. Ingestují se pouze soubory identifikované manifestem. Soubory, které jsou ve složce zip, ale nejsou správně uvedené v manifestu, se ignorují.
I když při použití objektů manifestu existují požadavky, nejsou vyžadovány všechny objekty. Následující tabulka uvádí požadované a volitelné objekty pro službu Conversion verze 1.1.
Poznámka:
Pokud není zadáno jinak, všechny vlastnosti s typem vlastnosti řetězce umožňují 1 tisíc znaků.
Objekt | Požadováno | Popis |
---|---|---|
version |
true | Verze schématu manifestu V současné době se podporuje pouze verze 1.1. |
directoryInfo |
true | Popisuje zeměpisné údaje o zařízení a kontaktní údaje. Dá se také použít k vytvoření přehledu zeměpisné polohy a kontaktních údajů. |
buildingLevels |
true | Určuje úrovně budov a souborů obsahujících návrh úrovní. |
georeference |
true | Obsahuje číselné geografické informace pro výkres zařízení. |
dwgLayers |
true | Uvádí názvy vrstev a každá vrstva uvádí názvy vlastních funkcí. |
unitProperties |
false (nepravda) | Lze použít k vložení dalších metadat pro funkce jednotek. |
zoneProperties |
false (nepravda) | Lze použít k vložení dalších metadat pro funkce zóny. |
Další části podrobně uvádějí požadavky pro každý objekt.
directoryInfo
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
name |
string | true | Název budovy. |
streetAddress |
string | false (nepravda) | Adresa budovy. |
unit |
string | false (nepravda) | Jednotka v budově. |
locality |
string | false (nepravda) | Název města, města, oblasti, okolí nebo oblasti. |
adminDivisions |
Pole JSON řetězců | false (nepravda) | Pole obsahující označení adres. Například: (Země, Stát) Použijte kódy zemí ISO 3166 a kódy států/území ISO 3166-2. |
postalCode |
string | false (nepravda) | Kód řazení pošty. |
hoursOfOperation |
string | false (nepravda) | Dodržuje formát OSM otevírací doby . |
phone |
string | false (nepravda) | Telefonní číslo přidružené k budově. |
website |
string | false (nepravda) | Web přidružený k budově. |
nonPublic |
bool | false (nepravda) | Příznak určující, jestli je budova otevřená veřejnosti. |
anchorLatitude |
numerické | false (nepravda) | Zeměpisná šířka ukotvení zařízení (připínáč). |
anchorLongitude |
numerické | false (nepravda) | Zeměpisná délka ukotvení zařízení (připínáč). |
anchorHeightAboveSeaLevel |
numerické | false (nepravda) | Výška přízemí zařízení nad mořem, v metrech. |
defaultLevelVerticalExtent číselný |
false (nepravda) | Výchozí výška (tloušťka) úrovně tohoto zařízení, která se použije v případě, že verticalExtent je úroveň nedefinovaná. |
buildingLevels
Objekt buildingLevels
obsahuje pole JSON úrovní budov.
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
levelName |
string | true | Popisný název úrovně Příklad: Podlaha 1, Lobby, Modré parkoviště nebo Sklep. |
ordinal |
integer | true | Určuje svislé pořadí úrovní. Každé zařízení musí mít úroveň s pořadovým číslo 0. |
heightAboveFacilityAnchor |
numerické | false (nepravda) | Úroveň výšky nad ukotvení v metrech. |
verticalExtent |
numerické | false (nepravda) | Výška podlahy na strop (tloušťka) úrovně v metrech. |
filename |
string | true | Cesta k systému souborů výkresu CAD pro úroveň budovy. Musí být relativní vzhledem ke kořenovému adresáři souboru ZIP budovy. |
georeference
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
lat |
numerické | true | Desetinná reprezentace stupňů zeměpisné šířky na počátku výkresu zařízení. Souřadnice původu musí být ve WGS84 Web Mercator (EPSG:3857 ). |
lon |
numerické | true | Desetinná reprezentace stupňů délky na počátku výkresu zařízení Souřadnice původu musí být ve WGS84 Web Mercator (EPSG:3857 ). |
angle |
numerické | true | Úhel po směru hodinových ručiček ve stupních mezi skutečnou severní a svislou osou výkresu (Y). |
dwgLayers
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
exterior |
pole řetězců | true | Názvy vrstev definující vnější profil budovy. |
unit |
pole řetězců | false (nepravda) | Názvy vrstev, které definují jednotky. |
wall |
pole řetězců | false (nepravda) | Názvy vrstev, které definují stěny. |
door |
pole řetězců | false (nepravda) | Názvy vrstev, které definují dveře. |
unitLabel |
pole řetězců | false (nepravda) | Názvy vrstev, které definují názvy jednotek. |
zone |
pole řetězců | false (nepravda) | Názvy vrstev, které definují zóny. |
zoneLabel |
pole řetězců | false (nepravda) | Názvy vrstev, které definují názvy zón. |
unitProperties
Objekt unitProperties
obsahuje pole JSON s vlastnostmi jednotek.
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
unitName |
string | true | Název jednotky, kterou chcete přidružit k tomuto unitProperty záznamu. Tento záznam je platný pouze v případě, že se ve unitLabel vrstvách najde odpovídající unitName popisek. |
categoryName |
string | false (nepravda) | Účel jednotky. Seznam hodnot, které mohou poskytnuté styly vykreslování využít, je zdokumentovaný v categories.json. |
occupants |
array of directoryInfo objects | false (nepravda) | Seznam osob pro jednotku. |
nameAlt |
string | false (nepravda) | Alternativní název jednotky. |
nameSubtitle |
string | false (nepravda) | Podnadpis jednotky. |
addressRoomNumber |
string | false (nepravda) | Pokoj, jednotka, byt nebo číslo apartmá jednotky. |
verticalPenetrationCategory |
string | false (nepravda) | Pokud je tato vlastnost definována, výsledná funkce je vertikální průnik (VRT) místo jednotky. Pomocí vertikálních průniků můžete přejít na jiné vertikální průnikové funkce na úrovních nad nebo pod ním. Svislá průnik je název kategorie . Pokud je tato vlastnost definována, categoryName vlastnost je přepsána parametrem verticalPenetrationCategory . |
verticalPenetrationDirection |
string | false (nepravda) | Pokud verticalPenetrationCategory je definován, volitelně definujte platný směr cesty. Povolené hodnoty: lowToHigh , highToLow , both a closed . Výchozí hodnota je both . V hodnotě se rozlišují malá a velká písmena. |
nonPublic |
bool | false (nepravda) | Označuje, jestli je jednotka otevřená veřejnosti. |
isRoutable |
bool | false (nepravda) | Pokud je tato vlastnost nastavená na false , nemůžete přejít na jednotku ani ji procházet. Výchozí hodnota je true . |
isOpenArea |
bool | false (nepravda) | Umožňuje navigaci v agentu zadat jednotku bez nutnosti otevření připojené k jednotce. Ve výchozím nastavení je tato hodnota nastavená na true jednotky bez otevření a false pro jednotky s otevřením. Ruční nastavení isOpenArea false na jednotku bez otevření způsobí upozornění, protože výsledná jednotka není dosažitelná procházením agenta. |
zoneProperties
Objekt zoneProperties
obsahuje pole JSON vlastností zóny.
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
zoneName | string | true | Název zóny, kterou chcete přidružit k záznamu zoneProperty . Tento záznam je platný pouze v případě, že se ve zoneLabel vrstvě zóny najde odpovídající zoneName popisek. |
categoryName | string | false (nepravda) | Účel zóny. Seznam hodnot, které mohou poskytnuté styly vykreslování využít, je zdokumentovaný v categories.json. |
zoneNameAlt | string | false (nepravda) | Alternativní název zóny. |
zoneNameSubtitle | string | false (nepravda) | Podnadpis zóny. |
zoneSetId | string | false (nepravda) | Nastavte ID pro navázání relace mezi více zónami, aby se mohly dotazovat nebo vybrat jako skupina. Například zóny, které pokrývají více úrovní. |
Ukázkový manifest balíčku výkresu
Následuje soubor manifestu ukázkového balíčku výkresu. Přejděte do ukázkového balíčku výkresu pro Azure Maps Creator na GitHubu a stáhněte si celý balíček.
Soubor manifestu
{
"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"
}
]
}
Nahrané balíčky výkresu můžete převést na mapová data pomocí služby Převod služby Azure Maps. Tento článek popisuje požadavky balíčku výkresu pro rozhraní Conversion API. Pokud chcete zobrazit ukázkový balíček, můžete si stáhnout ukázkový balíček výkresu v2.
Průvodce přípravou balíčku výkresu najdete v tématu Průvodce balíčkem výkresu.
Změny a revize
- Byla přidána podpora pro třídy funkcí definovaných uživatelem.
- Zjednodušené požadavky vrstev DWG
Požadavky
Balíček výkresu obsahuje výkresy uložené ve formátu DWG, což je nativní formát souboru pro software Autodesk AutoCAD®.
Můžete zvolit libovolný software CAD pro výrobu výkresů v balíčku výkresu.
Služba Převod převede balíček výkresu na mapová data. Služba převodu funguje s formátem souboru AC1032 ve formátu SOUBORU DWG autoCADu.
Glosář pojmů
Tady jsou některé termíny a definice, které jsou důležité při čtení tohoto článku.
Pojem | definice |
---|---|
Vrstva | Vrstva DWG autoCADu ze souboru výkresu. |
Entity | Entita DWG autoCADu ze souboru výkresu. |
Xref | Soubor ve formátu souboru DWG aplikace AutoCAD připojený k primárnímu výkresu jako externí odkaz. |
Level | Plocha zařízení v nastavené výšce. Například podlaha zařízení. |
Funkce | Instance objektu vytvořeného ze služby Conversion, která kombinuje geometrii s informacemi o metadatech. |
Třídy funkcí | Společný podrobný plán pro funkce. |
Struktura balíčku výkresu
Balíček výkresu je archiv ZIP, který obsahuje následující soubory:
- Soubory DWG ve formátu souboru DWG aplikace AutoCAD.
- Soubor manifest.json , který popisuje soubory DWG v balíčku výkresu.
Balíček výkresu musí být komprimován do jednoho souboru archivu s příponou .zip. Soubory DWG lze uspořádat jakýmkoli způsobem uvnitř balíčku výkresu, ale soubor manifestu musí být v kořenovém adresáři. Další části popisují proces převodu a požadavky na soubory DWG i manifestu a obsah těchto souborů. Pokud chcete zobrazit ukázkový balíček, můžete si stáhnout ukázkový balíček výkresu v2.
Proces převodu souborů DWG
Služba Převod služby Azure Maps převádí soubory DWG zařízení na mapová data představující zařízení a funkce zařízení.
Služba Převodní služby Azure Maps vytvoří:
- Funkce zařízení: Funkce nejvyšší úrovně zařízení, ke které jsou přidruženy všechny úrovně zařízení.
- Funkce úrovně: Jedna úroveň je vytvořena pro každé patro zařízení. Všechny funkce na úrovni jsou přidružené k úrovni.
- Uživatelem definované funkce: Vrstvy DWG se mapují na uživatelsky definovanou třídu funkcí a stávají se instancemi třídy funkcí.
Požadavky na soubor DWG
Každý soubor DWG musí splňovat tyto požadavky:
- Soubor DWG nemůže obsahovat funkce z více zařízení.
- Soubor DWG nemůže obsahovat funkce z více úrovní. Například zařízení se třemi úrovněmi má v balíčku výkresu tři soubory DWG.
- Všechna data jedné úrovně musí být obsažena v jednom souboru DWG. Všechny externí odkazy (xrefs) musí být vázané na nadřazený výkres.
- Soubor DWG musí definovat vrstvy představující hranici této úrovně.
- DWG musí odkazovat na stejný měrný systém a měrnou jednotku jako jiné soubory DWG v balíčku výkresu.
- Soubor DWG musí být zarovnaný, když je skládaný na jinou úroveň ze stejného zařízení.
Požadavky na vrstvu DWG
Třídy funkcí
Jednu nebo více vrstev DWG lze mapovat na třídu funkcí definovanou uživatelem. Jedna instance funkce se vytvoří z entity na mapované vrstvě. Například vrstvy DWG židle, stůl a gauč jsou mapovány na třídu prvků označovanou jako nábytek. Funkce nábytku je vytvořena pro každou entitu z definovaných vrstev. Dále:
- Všechny vrstvy by měly být odděleny tak, aby představovaly různé typy funkcí zařízení.
- Všechny entity musí spadat do hranic hranice hranice úrovně.
- Podporované typy entit AutoCADu: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLYLINE, ELLIPSE.
Vlastnosti třídy funkcí
Textové entity, které spadají do hranic uzavřeného obrazce, mohou být přidruženy k této funkci jako vlastnost. Například třída funkcí místnosti může obsahovat text, který popisuje název místnosti a jiný ukázkový balíček výkresu typu místnosti v2. Dále:
- K funkci jsou přidruženy pouze entity TEXT a MTEXT jako vlastnost. Všechny ostatní typy entit jsou ignorovány.
- Bod odůvodnění TEXT a MTEXT musí spadat do hranic uzavřeného obrazce.
- Pokud je v mezích uzavřeného obrazce více než jedna vlastnost TEXT a obě jsou mapovány na jednu vlastnost, jedna je náhodně vybrána.
Úroveň zařízení
Soubor DWG pro každou úroveň musí obsahovat vrstvu, která definuje obvod této úrovně. Pokud například zařízení obsahuje dvě úrovně, musí mít dva soubory DWG, z nichž každá má vrstvu, která definuje obvod dané úrovně.
Bez ohledu na to, kolik výkresů entit je v hraniční vrstvě na úrovni, obsahuje výsledná datová sada zařízení pouze jednu funkci úrovně pro každý soubor DWG. Dále:
- Obvody na úrovni musí být nakresleny jako POLYGON, POLYLINE (uzavřeno), KRUH nebo ELIPSE (uzavřeno).
- Obvody úrovně se mohou překrývat, ale rozpouštějí se do jedné geometrie.
- Výsledná úroveň musí být alespoň 4 čtvereční metry.
- Výsledná funkce úrovně nesmí být větší než 400 000 metrů čtverečních.
Pokud vrstva obsahuje více překrývajících se čar POLYLINES, zkombinují se do jedné funkce úrovně. Pokud vrstva obsahuje více nepřekrytých čar polylines, výsledná funkce úrovně má vícenásobnou reprezentaci.
Příklad hraniční vrstvy Úrovně můžete vidět jako vrstvu GROS$
v ukázkovém balíčku výkresu v2.
Požadavky na soubor manifestu
Balíček výkresu musí obsahovat soubor manifestu na kořenové úrovni a soubor musí mít název manifest.json. Popisuje soubory DWG, které službě Conversion umožňují parsovat jejich obsah. Používají se pouze soubory identifikované manifestem. Soubory, které jsou v balíčku výkresu, ale nejsou správně uvedené v manifestu, se ignorují.
Cesty k souborům v objektu buildingLevels souboru manifestu musí být relativní vzhledem ke kořenovému adresáři balíčku výkresu. Název souboru DWG musí přesně odpovídat názvu úrovně zařízení. Například soubor DWG pro úroveň "Sklep" je Basement.dwg. Soubor DWG pro úroveň 2 má název level_2.dwg. Názvy souborů nemůžou obsahovat mezery, k nahrazení mezer můžete použít podtržítko.
I když při použití objektů manifestu existují požadavky, nejsou vyžadovány všechny objekty. Následující tabulka ukazuje požadované a volitelné objekty pro převodní službu 2023-03-01-preview.
Poznámka:
Pokud není zadáno jinak, všechny vlastnosti řetězce jsou omezeny na jeden tisíc znaků.
Soubor JSON manifestu
Vlastnost | Typ | Požaduje se | Popis |
---|---|---|---|
version |
string | TRUE | Verze schématu manifestu Aktuálně verze 2.0 |
buildingLevels |
BuildingLevels – objekt | TRUE | Určuje úrovně zařízení a soubory obsahující návrh úrovní. |
featureClasses |
Pole objektů featureClass | TRUE | Seznam objektů třídy funkcí, které definují, jak se vrstvy čtou ze souboru výkresu DWG. |
georeference |
Objekt Georeference | FALSE | Obsahuje číselné geografické informace pro výkres zařízení. |
facilityName |
string | FALSE | Název zařízení. |
Další části podrobně uvádějí požadavky pro každý objekt.
buildingLevels
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
dwgLayers |
Pole řetězců | TRUE | Názvy vrstev, které definují vnější profil zařízení. |
levels |
Pole objektů na úrovni | TRUE | Úroveň odkazuje na jedinečnou podlahu v zařízení definovaném v souboru DWG, výšku každé úrovně a svislé pořadí, ve kterém se zobrazují. |
úroveň
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
levelName |
string | TRUE | Název úrovně. Příklad: Podlaha 1, Lobby, Modré parkoviště nebo Sklep. |
ordinal |
integer | TRUE | Definuje svislé pořadí úrovní. Všechny ordinal hodnoty musí být v rámci zařízení jedinečné. |
filename |
string | TRUE | Cesta a název souboru DWG představující úroveň v zařízení. Cesta musí být relativní vzhledem ke kořenovému adresáři balíčku výkresu. |
verticalExtent |
Číslo | FALSE | Svislá výška (tloušťka) úrovně v metrech. |
featureClass
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
dwgLayers |
Pole řetězců | TRUE | Název každé vrstvy, která definuje třídu funkcí. Každá entita v zadané vrstvě se převede na instanci třídy funkcí. Název dwgLayer , ze kterého je funkce převedena, skončí jako vlastnost této funkce. |
featureClassName |
String | TRUE | Název třídy funkcí. Mezi typické příklady patří místnost, pracovní prostor nebo stěna. |
featureClassProperties |
Array of featureClassProperty objects | FALSE | Určuje textové vrstvy v souboru DWG přidruženém k funkci jako vlastnost. Například popisek, který spadá do hranic mezery, například číslo místnosti. |
featureClassProperty
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
dwgLayers |
Pole řetězců | TRUE | Název každé vrstvy, která definuje vlastnost třídy funkcí. Každá entita v zadané vrstvě se převede na vlastnost. Na vlastnosti se převedou pouze entity DWG TEXT a MTEXT. Všechny ostatní entity se ignorují. |
featureClassPropertyName |
String | TRUE | Název vlastnosti třídy funkce, například spaceName nebo spaceUseType. |
georeference
Vlastnost | Typ | Požadováno | Popis |
---|---|---|---|
lat |
Číslo | TRUE | Desetinná reprezentace stupňů zeměpisné šířky na počátku výkresu zařízení. Souřadnice původu musí být ve WGS84 Web Mercator (EPSG:3857). |
lon |
Číslo | TRUE | Desetinná reprezentace stupňů délky na počátku výkresu zařízení Souřadnice původu musí být ve WGS84 Web Mercator (EPSG:3857). |
angle |
Číslo | TRUE | Úhel po směru hodinových ručiček ve stupních mezi skutečnou severní a svislou osou výkresu (Y). |
Ukázkový manifest balíčku výkresu
Json v tomto příkladu ukazuje soubor manifestu pro ukázkový balíček výkresu. Přejděte do ukázkového balíčku výkresu v2 pro Azure Maps Creator na GitHubu a stáhněte si celý balíček.
Soubor manifestu
{
"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"
}
Další kroky
Průvodce přípravou balíčku výkresu najdete v průvodci balíčkem výkresu.