Požadavky balíčku pro kreslení

Nahrané balíčky výkresu můžete převést na mapová data pomocí služby Azure Mapy Conversion. 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.

Předpoklady

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 AC1032souboru 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.
Entita 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 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 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
    • Otvory
    • Stěny
    • Svislé průniky
  • Vytvoří funkci zařízení.
  • Vytvoří minimální sadu výchozích funkcí kategorií odkazovaných jinými funkcemi:
    • Pokoj
    • – struktura
    • Zdi
    • 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
Exteriér POLYGON, POLYLINE (uzavřeno), CIRCLE nebo EL sada LIP SE (uzavřeno) Úrovně
Jednotka POLYGON, POLYLINE (uzavřeno), CIRCLE nebo EL sada LIP SE (uzavřeno) Jednotky a svislé průniky
Zdi POLYGON, POLYLINE (uzavřeno), CIRCLE nebo EL sada LIP SE (uzavřeno), Struktury
Dveře POLYGON, POLYLINE, LINE, CIRCULARARC, CIRCLE Otvory
Zóny POLYGON, POLYLINE (uzavřeno), CIRCLE nebo EL sada LIP SE (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ší prostory musí být kresleny jako POLYGON, POLYLINE (uzavřeno), KRUH nebo EL sada LIP SE (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), CIRCLE nebo EL sada LIP SE (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 EL sada LIP SE (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 Mapy jsou reprezentovány jako jednořádkový segment, který se překrývají s více hranicemi jednotek. Následující obrázky ukazují, jak Azure Mapy převádí geometrii vrstev dveří na otevírání funkcí v datové sadě.

Four graphics that show the steps to generate openings

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 vykresleny jako POLYGON, POLYLINE (uzavřeno) nebo EL sada LIP SE (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 pravda Verze schématu manifestu V současné době se podporuje pouze verze 1.1.
directoryInfo pravda 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 pravda Určuje úrovně budov a souborů obsahujících návrh úrovní.
georeference pravda Obsahuje číselné geografické informace pro výkres zařízení.
dwgLayers pravda 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žaduje se Popis
name řetězec pravda Název budovy.
streetAddress řetězec false (nepravda) Adresa budovy.
unit řetězec false (nepravda) Jednotka v budově.
locality řetězec 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 řetězec false (nepravda) Kód řazení pošty.
hoursOfOperation řetězec false (nepravda) Dodržuje formát OSM otevírací doby .
phone řetězec false (nepravda) Telefon číslo přidružené k budově.
website řetězec 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žaduje se Popis
levelName řetězec pravda Popisný název úrovně Příklad: Podlaha 1, Lobby, Modré parkoviště nebo Sklep.
ordinal integer pravda 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 řetězec pravda 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žaduje se Popis
lat numerické pravda 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é pravda 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é pravda Ú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žaduje se Popis
exterior pole řetězců pravda 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žaduje se Popis
unitName řetězec pravda 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 řetězec 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 řetězec false (nepravda) Alternativní název jednotky.
nameSubtitle řetězec false (nepravda) Podnadpis jednotky.
addressRoomNumber řetězec false (nepravda) Pokoj, jednotka, byt nebo číslo apartmá jednotky.
verticalPenetrationCategory řetězec 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 řetězec false (nepravda) Pokud verticalPenetrationCategory je definován, volitelně definujte platný směr cesty. Povolené hodnoty: lowToHigh, highToLow, botha 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í isOpenAreafalse 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žaduje se Popis
Název_zóny řetězec pravda 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 řetězec false (nepravda) Účel zóny. Seznam hodnot, které mohou poskytnuté styly vykreslování využít, je zdokumentovaný v categories.json.
zoneNameAlt řetězec false (nepravda) Alternativní název zóny.
zoneNameSubtitle řetězec false (nepravda) Podnadpis zóny.
zoneSetId řetězec 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. Pokud chcete stáhnout celý balíček, přejděte na ukázkový balíček výkresu pro Azure Mapy Creator na GitHubu.

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 Azure Mapy Conversion. 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

Předpoklady

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.
Entita 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 Azure Mapy Conversion převede soubory DWG zařízení na mapová data představující zařízení a funkce zařízení.

Služba převodu Azure Mapy 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, EL sada LIP SE.

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 EL sada LIP SE (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žadováno Popis
version řetězec 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 řetězec FALSE Název zařízení.

Další části podrobně uvádějí požadavky pro každý objekt.

buildingLevels

Vlastnost Typ Požaduje se 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žaduje se Popis
levelName řetězec 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 řetězec 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žaduje se 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 Řetězec 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žaduje se 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 Řetězec TRUE Název vlastnosti třídy funkce, například spaceName nebo spaceUseType.

georeference

Vlastnost Typ Požaduje se 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. Pokud chcete stáhnout celý balíček, přejděte na ukázkový balíček výkresu v2 pro Azure Mapy Creator na GitHubu.

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.

Další informace najdete v článku: