Condividi tramite


Requisiti del pacchetto di disegno

Il Servizio di conversione di Mappe di Azure consente di convertire i pacchetti di disegni caricati in dati di mappe. Questo articolo descrive i requisiti del pacchetto di disegni per l'API Conversione. Per altre informazioni, è possibile scaricare il pacchetto di disegni di esempio.

Prerequisiti

Il pacchetto di disegni include i disegni salvati in formato DWG, ovvero il formato di file nativo per il software AutoCAD® di Autodesk.

È possibile scegliere qualsiasi software CAD per produrre i disegni del pacchetto di disegni.

Il Servizio di conversione converte il pacchetto di disegni in dati di mappe. Il Servizio di conversione funziona con il formato di file DWG di AutoCAD AC1032.

Glossario dei termini

Per un riferimento semplice, ecco alcuni termini e definizioni importanti durante la lettura di questo articolo.

Termine Definizione
Livello Livello DWG di AutoCAD dal file di disegno.
Entità Entità DWG di AutoCAD dal file di disegno.
Xref Un file in formato DWG di AutoCAD collegato al disegno primario come riferimento esterno.
Level Un'area di un edificio a un'elevazione impostata, ad esempio il piano.
Funzionalità Istanza di un oggetto generato dal Servizio di conversione che combina una geometria con le informazioni sui metadati.
Classi di funzionalità Un progetto comune per le caratteristiche. Ad esempio, un'unità è una classe di funzionalità e un ufficio è una funzionalità.

Struttura del pacchetto di disegni

Un pacchetto di disegni è un archivio ZIP che contiene i file seguenti:

  • File DWG in formato DWG di AutoCAD.
  • File manifest.json che descrive i file DWG nel pacchetto di disegni.

Il pacchetto di disegni deve essere compresso in un singolo file di archivio, con l'estensione .zip. I file DWG possono essere organizzati in qualsiasi modo all'interno del pacchetto, ma il file manifesto deve risiedere nella directory radice del pacchetto compresso. Le sezioni successive illustrano in dettaglio i requisiti per i file DWG, il file manifesto e il contenuto di questi file. Per altre informazioni, è possibile scaricare il pacchetto di disegni di esempio.

Processo di conversione dei file DWG

Il Servizio di conversione esegue le operazioni seguenti in ogni file DWG:

  • Estrae le classi di funzionalità:
    • Livelli
    • Unità
    • Zone
    • Aperture
    • Pareti
    • Penetrazioni verticali
  • Produce una funzionalità Struttura.
  • Produce un set minimo di funzionalità di categoria predefinite a cui fanno riferimento altre funzionalità:
    • room
    • struttura
    • wall
    • opening.door
    • zona
    • struttura

Requisiti relativi ai file DWG

È necessario un singolo file DWG per ogni livello della struttura. I dati di un singolo livello devono essere contenuti in un singolo file DWG. Qualsiasi riferimento esterno (xref) deve essere associato al disegno padre. Ad esempio, una struttura con tre livelli ha tre file DWG nel pacchetto di disegni.

Ogni file DWG deve rispettare i requisiti seguenti:

  • Il file DWG deve definire i livelli Esterni e Unità. Facoltativamente, è in grado di definire i livelli seguenti: Parete, Porta, UnitLabel, Zonae ZoneLabel.
  • Il file DWG non può contenere funzionalità di più livelli.
  • Il file DWG non può contenere funzionalità di più strutture.
  • DWG deve fare riferimento allo stesso sistema di misurazione e unità di misura degli altri file DWG nel pacchetto di disegni.

Requisiti del livello DWG

Ogni livello DWG deve rispettare le regole seguenti:

  • Un livello deve contenere esclusivamente funzionalità di una singola classe. Ad esempio, le unità e le pareti non possono trovarsi nello stesso livello.
  • Una singola classe di funzionalità può essere rappresentata da più livelli.
  • I poligoni auto-intersecanti sono consentiti, ma vengono riparati automaticamente. Durante la riparazione il Servizio di conversione genera un avviso. È consigliabile controllare manualmente i risultati riparati, perché potrebbero non corrispondere ai risultati previsti.
  • Ogni livello include un elenco supportato di tipi di entità. Tutti gli altri tipi di entità in un livello verranno ignorati. Ad esempio, le entità di testo non sono supportate sul livello Parete.

Nella tabella seguente vengono descritti i tipi di entità supportati e le funzionalità della mappa convertite per ogni livello. Se un livello contiene tipi di entità non supportati, il Servizio di conversione li ignorerà.

Livello Tipi di entità Funzionalità convertite
Exterior POLIGONO, POLILINEA (chiusa), CERCHIO o ELLISSE (chiusa) Livelli
Unità POLIGONO, POLILINEA (chiusa), CERCHIO o ELLISSE (chiusa) Unità e penetrazioni verticali
Wall POLIGONO, POLILINEA (chiusa), CIRCLE o ELLIPSE (chiusa), Structures
Door POLIGONO, POLILINEA, LINEA, ARCO CIRCOLARE, CERCHIO Aperture
Zona POLIGONO, POLILINEA (chiusa), CERCHIO o ELLISSE (chiusa) Zone
UnitLabel Testo (riga singola) Non applicabile. Questo livello può aggiungere proprietà solo alle caratteristiche di unità del livello Unit. Per altre informazioni, vedere il livello UnitLabel.
ZoneLabel Testo (riga singola) Non applicabile. Questo livello può aggiungere proprietà solo alle caratteristiche di zona del livello ZonesLayer. Per altre informazioni, vedere il livello ZoneLabel.

Le sezioni seguenti descrivono i requisiti per ogni livello.

Livello Exterior

Il file DWG per ogni livello deve contenere un livello per definirne il perimetro. Questo livello è definito Esterni. Se ad esempio una struttura contiene due livelli, dovrà avere due file DWG, con un livello di esterni per ognuno.

Indipendentemente dal numero di disegni di entità inclusi nel livello esterni, il set di dati della struttura risultante contiene solo una funzionalità di livello per ogni file DWG. Inoltre:

  • Gli esterni devono essere disegnati come POLIGONO, POLILINEA (chiusa), CERCHIO o ELLISSE (chiuso).
  • Gli esterni possono sovrapporsi, ma sono risolti in un'unica figura geometrica.
  • La funzionalità del livello risultante deve essere di almeno 4 metri quadrati.
  • La funzionalità del livello risultante non deve essere maggiore di 400.000 metri quadrati.

Se il livello contiene più polilinee sovrapposte, le suddette sono risolte in una singola funzionalità di livello. Invece, se il livello contiene più polilinee non sovrapposte, la funzionalità di livello risultante ha una rappresentazione multi-poligonale.

È possibile visualizzare un esempio di livello Esterni come livello Struttura nel pacchetto di disegni di esempio.

Livello Unit

Il file DWG per ogni livello definisce un livello contenente Unità, ovvero unità. Le unità sono spazi esplorabili nell'edificio, ad esempio uffici, corridoi, scale e ascensori. Se la proprietà VerticalPenetrationCategory è definita, le unità navigabili che si estendono su più livelli, ad esempio ascensori e scale, vengono convertite in funzioni di penetrazione verticale. Alle funzionalità di penetrazione verticale che si sovrappongono tra loro viene assegnato un oggetto setid.

Il livello unità dovrà rispettare i requisiti seguenti:

  • Le unità devono essere disegnate come POLIGONO, POLILINEA (chiusa), CIRCLE o ELLIPSE (chiusa).
  • Le unità devono rientrare nei limiti del perimetro esterno della struttura.
  • Le unità non devono sovrapporsi parzialmente.
  • Le unità non devono contenere figure geometriche che si auto-intersecano.

Assegnare un nome a un'unità creando un oggetto testo nel livello UnitLabel, quindi inserirlo entro i limiti dell'unità. Per altre informazioni, vedere il livello UnitLabel.

Un esempio di livello Unità è disponibile nel pacchetto di disegni di esempio.

Livello Wall

Il file DWG per ogni livello può contenere un livello che definisce le estensioni fisiche di pareti, colonne e altre strutture dell'edificio.

  • Le pareti devono essere disegnate come POLIGONO, POLILINEA (chiusa), CIRCLE o ELLIPSE (chiusa).
  • Il livello o i livelli Parete possono contenere solo figure geometriche interpretate come strutture dell'edificio.

Un esempio di livello Parete è disponibile nel pacchetto di disegni di esempio.

Livello Door

È possibile includere un livello DWG che contiene porte. Ogni porta deve sovrapporsi al bordo di un'unità del livello Unità.

Le aperture delle porte in un set di dati di Mappe di Azure sono rappresentate da un segmento di linea singola che si sovrappone a più limiti di unità. Le immagini seguenti illustrano come Mappe di Azure converte la geometria del livello porta in funzionalità di apertura in un set di dati.

Quattro grafici che mostrano i passaggi per generare le aperture

Livello Zone

Il file DWG per ogni livello può contenere un livello Zona che definisce le estensioni fisiche delle zone. Una zona è uno spazio non navigabile che può essere denominato e sottoposto a rendering. Le zone possono estendersi su più livelli e sono raggruppate usando la proprietà zoneSetId.

  • Le zone devono essere disegnate come POLIGONO, POLILINEA (chiusa) o ELLIPSE (chiusa).
  • Le zone possono sovrapporsi.
  • Le zone possono essere interne o esterne al perimetro esterno della struttura.

Assegnare un nome a una zona creando un oggetto testo nel livello zoneLabel e inserendolo entro i limiti della zona. Per altre informazioni, vedere il livello ZoneLabel.

Un esempio di livello Zona è disponibile nel pacchetto di disegni di esempio.

Livello UnitLabel

Il file DWG per ogni livello può contenere un livello UnitLabel. Il livello UnitLabel aggiunge una proprietà Nome alle unità estratte dal livello Unità. Per le unità con una proprietà Name possono essere specificati altri dettagli nel file manifesto.

  • Le etichette di unità devono essere entità di testo a riga singola.
  • Le etichette di unità devono rientrare interamente nei limiti della rispettiva unità.
  • Le unità non devono contenere più entità di testo nel livello UnitLabel.

Un esempio di livello unità del livello UnitLabel è disponibile nel pacchetto di disegni di esempio.

Livello ZoneLabel

Il file DWG per ogni livello può contenere un livello ZoneLabel. Questo livello aggiunge una proprietà name alle zone estratte dal livello Zone. Per le zone con una proprietà Name possono essere specificati altri dettagli nel file manifesto.

  • Le etichette di zone essere entità di testo a riga singola.
  • Le etichette di zone devono rientrare nei limiti della rispettiva zona.
  • Le zone non devono contenere più entità di testo nel livello ZoneLabel.

Un esempio di livello ZoneLabel è disponibile nel pacchetto di disegni di esempio.

Requisiti dei file manifesto

La cartella ZIP deve contenere un file manifesto al livello radice della directory, che deve essere denominato manifest.json. Questo file descrive i file DWG per consentire al Servizio di conversione di analizzarne il contenuto. Sono inseriti solo i file identificati dal manifesto. I file inclusi nella cartella ZIP ma che non sono correttamente elencati nel manifesto sono ignorati.

Anche se sono previsti requisiti per l'uso degli oggetti del manifesto, non tutti gli oggetti sono obbligatori. La tabella seguente mostra gli oggetti obbligatori e facoltativi per la versione 1.1 del Servizio di conversione.

Nota

Se non differentemente specificato, tutte le proprietà con un tipo di proprietà stringa consentono un numero di caratteri di mille caratteri.

Object Obbligatorio Descrizione
version vero Versione dello schema del manifesto. Attualmente è supportata solo la versione 1.1.
directoryInfo true Descrive le informazioni geografiche e di contatto della struttura. Può anche essere usato per descrivere informazioni geografiche e di contatto di un occupante.
buildingLevels true Specifica i livelli degli edifici e i file che contengono la progettazione dei livelli.
georeference true Contiene informazioni geografiche numeriche per il disegno della struttura.
dwgLayers true Elenca i nomi dei livelli e ogni livello elenca i nomi delle rispettive caratteristiche.
unitProperties false È possibile usarlo per inserire altri metadati per le funzionalità delle unità.
zoneProperties false È possibile usarlo per inserire altri metadati per le funzionalità delle zone.

Le sezioni successive illustrano in dettaglio i requisiti per ogni oggetto.

directoryInfo

Proprietà Type Obbligatorio Descrizione
name stringa true Nome dell'edificio.
streetAddress string false Indirizzo dell'edificio.
unit string false Unità dell'edificio.
locality string false Nome di una città, una città, un'area, un quartiere o un'area geografica.
adminDivisions Matrice di stringhe JSON false Array contenente le designazioni degli indirizzi. Ad esempio: (Paese, Stato) Usare codici paese ISO 3166 e codici di stato/territorio ISO 3166-2.
postalCode string false Il codice di smistamento postale.
hoursOfOperation string false Conforme al formato degli orari di apertura OSM Opening Hours.
phone string false Numero di telefono associato all'edificio.
website string false Sito Web associato all'edificio.
nonPublic bool false Flag che specifica se l'edificio è aperto al pubblico.
anchorLatitude numeric false Latitudine di un ancoraggio di struttura (puntina da disegno).
anchorLongitude numeric false Longitudine di un ancoraggio di struttura (puntina da disegno).
anchorHeightAboveSeaLevel numeric false Altezza del pianterreno della struttura sul livello del mare, in metri.
defaultLevelVerticalExtent numerico false Altezza predefinita (spessore) di un livello di questa struttura da usare quando la proprietà verticalExtent di un livello non è definita.

buildingLevels

L'oggetto buildingLevels contiene una matrice JSON di livelli di edifici.

Proprietà Type Obbligatorio Descrizione
levelName stringa true Nome descrittivo del livello. Ad esempio: Piano 1, Lobby, Parcheggio Blu o Seminterrato.
ordinal integer true Determina l'ordine verticale dei livelli. Ogni struttura deve avere un livello con ordinal 0.
heightAboveFacilityAnchor numeric false Altezza del livello sopra l'ancoraggio in metri.
verticalExtent numeric false Altezza da pavimento a soffitto (spessore) del livello, in metri.
filename string true Percorso del file system del disegno CAD per un livello dell'edificio. Deve essere relativo alla radice del file ZIP dell'edificio.

georeference

Proprietà Type Obbligatorio Descrizione
lat numeric true Rappresentazione decimale della latitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate dell'origine devono essere espresse in WGS84 Web Mercator (EPSG:3857).
lon numeric true Rappresentazione decimale della longitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate dell'origine devono essere espresse in WGS84 Web Mercator (EPSG:3857).
angle numeric true L'angolo in senso orario, in gradi, tra il nord geografico e l'asse verticale (Y) del disegno.

dwgLayers

Proprietà Type Obbligatorio Descrizione
exterior matrice di stringhe true Nomi dei livelli che definiscono il profilo della facciata dell'edificio.
unit matrice di stringhe false Nomi dei livelli che definiscono le unità.
wall matrice di stringhe false Nomi dei livelli che definiscono le pareti.
door matrice di stringhe false Nomi dei livelli che definiscono le porte.
unitLabel matrice di stringhe false Nomi dei livelli che definiscono i nomi delle unità.
zone matrice di stringhe false Nomi dei livelli che definiscono le zone.
zoneLabel matrice di stringhe false Nomi dei livelli che definiscono i nomi delle zone.

unitProperties

L'oggetto unitProperties contiene una matrice JSON di proprietà delle unità.

Proprietà Type Obbligatorio Descrizione
unitName stringa true Nome dell'unità da associare al record unitProperty. Questo record è valido solo quando nei livelli unitLabel è disponibile un'etichetta corrispondente unitName.
categoryName string false Scopo dell'unità. Un elenco di valori utilizzabili dagli stili di rendering forniti è disponibile in categories.json.
occupants array di oggetti directoryInfo false Elenco di occupanti per l'unità.
nameAlt string false Nome alternativo dell'unità.
nameSubtitle string false Sottotitolo dell'unità.
addressRoomNumber string false Numero di stanza, unità, appartamento o suite dell'unità.
verticalPenetrationCategory string false Quando questa proprietà è definita, la funzionalità risultante è una penetrazione verticale (VRT) invece di un'unità. È possibile usare penetrazioni verticali per andare ad altre funzionalità di penetrazione verticale nei livelli sopra o sotto di esso. La penetrazione verticale è un nome di Categoria. Se questa proprietà è definita, la proprietà categoryName viene sottoposta a override con verticalPenetrationCategory.
verticalPenetrationDirection string false Se la proprietà verticalPenetrationCategory è definita, facoltativamente definire la direzione valida dello spostamento. I valori consentiti sono lowToHigh, highToLow, both e closed. Il valore predefinito è both. Il valore fa distinzione tra maiuscole e minuscole.
nonPublic bool false Indica se l'unità è aperta al pubblico.
isRoutable bool false Quando questa proprietà è impostata su false, non è possibile andare a o tramite l'unità. Il valore predefinito è true.
isOpenArea bool false Consente l'accesso dell'agente mobile all'unità senza la necessità di un'apertura. Per impostazione predefinita, questo valore è impostato su true per le unità senza aperture e false per le unità con aperture. L'impostazione manuale di isOpenArea su false in un'unità senza aperture genera un avviso, perché l'unità risultante non è raggiungibile da un agente di spostamento.

zoneProperties

L'oggetto zoneProperties contiene una matrice JSON di proprietà delle zone.

Proprietà Type Obbligatorio Descrizione
zoneName string true Nome della zona da associare al record zoneProperty. Questo record è valido solo quando nel livello zoneLabel della zona è disponibile un'etichetta corrispondente zoneName.
categoryName string false Scopo della zona. Un elenco di valori utilizzabili dagli stili di rendering forniti è disponibile in categories.json.
zoneNameAlt string false Nome alternativo della zona.
zoneNameSubtitle string false Sottotitolo della zona.
zoneSetId string false Impostare l'ID per stabilire una relazione tra più zone in modo che possano essere sottoposte a query o selezionate come gruppo. Ad esempio, zone che si estendono su più livelli.

Manifesto del pacchetto di disegni di esempio

Di seguito è riportato il file manifesto per il pacchetto di disegni di esempio. Andare al pacchetto di disegni di esempio per Creator di Mappe di Azure in GitHub per scaricare l'intero pacchetto.

File manifesto

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

Il Servizio di conversione di Mappe di Azure consente di convertire i pacchetti di disegni caricati in dati di mappe. Questo articolo descrive i requisiti del pacchetto di disegni per l'API Conversione. Per altre informazioni, è possibile scaricare il pacchetto di disegni di esempio v2.

Per una guida su come preparare il pacchetto di disegni, vedere Guida al pacchetto di disegni.

Modifiche e revisioni

  • Aggiunto il supporto per le classi di funzionalità definite dall'utente.
  • Requisiti semplificati dei livelli DWG.

Prerequisiti

Il pacchetto di disegni include i disegni salvati in formato DWG, ovvero il formato di file nativo per il software AutoCAD® di Autodesk.

È possibile scegliere qualsiasi software CAD per produrre i disegni del pacchetto di disegni.

Il Servizio di conversione converte il pacchetto di disegni in dati di mappe. Il Servizio di conversione funziona con il formato di file DWG autoCAD AC1032.

Glossario dei termini

Per un riferimento semplice, ecco alcuni termini e definizioni importanti durante la lettura di questo articolo.

Termine Definizione
Livello Livello DWG di AutoCAD dal file di disegno.
Entità Entità DWG di AutoCAD dal file di disegno.
Xref Un file in formato DWG di AutoCAD collegato al disegno primario come riferimento esterno.
Level Area di una struttura a un'elevazione impostata. Ad esempio il piano di una struttura.
Funzionalità Istanza di un oggetto generato dal Servizio di conversione che combina una geometria con le informazioni sui metadati.
Classi di funzionalità Un progetto comune per le caratteristiche.

Struttura del pacchetto di disegni

Un pacchetto di disegni è un archivio ZIP che contiene i file seguenti:

  • File DWG in formato DWG di AutoCAD.
  • File manifest.json che descrive i file DWG nel pacchetto di disegni.

Il pacchetto di disegni deve essere compresso in un singolo file di archivio, con l'estensione .zip. I file DWG possono essere organizzati in qualsiasi modo all'interno del pacchetto di disegni, ma il file manifesto deve trovarsi nella directory radice. Le sezioni successive illustrano il processo di conversione e i requisiti per i file DWG e manifesti e il contenuto di questi file. Per altre informazioni, è possibile scaricare il pacchetto di disegni di esempio v2.

Processo di conversione dei file DWG

Il Servizio di conversione mappe di Azure converte i file DWG di una struttura per eseguire il mapping dei dati che rappresentano una struttura e le funzionalità di una struttura.

Il Servizio di conversione di Mappe di Azure crea:

  • Funzionalità Struttura: funzionalità di primo livello di una struttura a cui sono associati tutti i livelli di una struttura.
  • Funzionalità Livello: viene creata una funzionalità di livello per ogni piano di una struttura. Tutte le funzionalità di un livello sono associate a un livello.
  • Funzionalità definite dall'utente: i livelli DWG vengono mappati a una classe di funzionalità definita dall'utente e diventano istanze della classe di funzionalità.

Requisiti relativi ai file DWG

Ogni file DWG deve rispettare questi requisiti:

  • Il file DWG non può contenere funzionalità di più strutture.
  • Il file DWG non può contenere funzionalità di più livelli. Ad esempio, una struttura con tre livelli ha tre file DWG nel pacchetto di disegni.
  • I dati di un singolo livello devono essere contenuti in un singolo file DWG. Qualsiasi riferimento esterno (xref) deve essere associato al disegno padre.
  • Il file DWG deve definire uno o più livelli che rappresentano il limite di tale livello.
  • DWG deve fare riferimento allo stesso sistema di misurazione e unità di misura degli altri file DWG nel pacchetto di disegni.
  • Il file DWG deve essere allineato quando è sovrapposto a un altro livello dalla stessa struttura.

Requisiti del livello DWG

Classi di funzionalità

È possibile eseguire il mapping di uno o più livelli DWG a una classe di funzionalità definita dall'utente. Un'istanza della funzionalità viene creata da un'entità nel livello mappato. Ad esempio, i livelli DWG sedia, tavolo e divano sono mappati a una classe di funzionalità denominata mobili. Una funzionalità di arredamento viene creata per ogni entità dai livelli definiti. Inoltre:

  • Tutti i livelli devono essere separati per rappresentare differenti tipi di funzionalità della struttura.
  • Tutte le entità devono rientrare nei limiti del perimetro del livello.
  • Tipi di entità AutoCAD supportati: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLILINEA, ELLIPSE.

Proprietà della classe di funzionalità

Le entità di testo che rientrano nei limiti di una forma chiusa possono essere associate a tale funzionalità come proprietà. Ad esempio, una classe di funzionalità della sala potrebbe avere testo che descrive il nome della stanza e un altro tipo di stanza pacchetto di disegni di esempio v2. Inoltre:

  • Solo le entità TEXT e MTEXT sono associate alla funzionalità come proprietà. Tutti gli altri tipi di entità vengono ignorati.
  • Il punto di giustificazione TEXT e MTEXT deve rientrare entro i limiti della forma chiusa.
  • Se più proprietà TEXT si trova all'interno dei limiti della forma chiusa ed entrambi vengono mappati a una proprietà, ne viene selezionata una in modo casuale.

Livello di struttura

Il file DWG per ogni livello deve contenere un livello per definirne il perimetro. Ad esempio, se una struttura contiene due livelli, deve avere due file DWG, ognuno con un livello che definisce il perimetro del livello.

Indipendentemente dal numero di disegni di entità inclusi nel livello Perimetro di livello, il set di dati della struttura risultante conterrà solo una funzionalità di livello per ogni file DWG. Inoltre:

  • I perimetri di livello devono essere disegnati come POLIGONO, POLILINEA (chiuso), CIRCLE o ELLIPSE (chiuso).
  • I perimetri di livello possono sovrapporsi ma vengono sciolti in una geometria.
  • La funzionalità del livello risultante deve essere di almeno 4 metri quadrati.
  • La funzionalità del livello risultante non deve essere maggiore di 400.000 metri quadrati.

Se il livello contiene più POLILINEE sovrapposte, queste vengono combinate in una singola funzionalità di livello. In alternativa, se il livello contiene più POLILINEE non sovrapposte, la funzionalità di livello risultante avrà una rappresentazione multi-poligonale.

È possibile visualizzare un esempio di livello Perimetro di livello come livello GROS$ nel pacchetto di disegni di esempio v2.

Requisiti dei file manifesto

Il pacchetto di disegni deve contenere un file manifesto al livello radice, che deve essere denominato manifest.json. Questo file descrive i file DWG per consentire al Servizio di conversione di analizzarne il contenuto. Vengono usati solo i file identificati dal manifesto. I file presenti nel pacchetto di disegni, ma non sono elencati correttamente nel manifesto, vengono ignorati.

I percorsi dei file, nell'oggetto buildingLevels del file manifesto, devono essere relativi alla radice del pacchetto di disegni. Il nome del file DWG deve corrispondere esattamente al nome del livello della struttura. Ad esempio, un file DWG per il livello "seminterrato" si chiama Basement.dwg. Un file DWG per il livello 2 è denominato level_2.dwg. I nomi file non possono contenere spazi, è possibile usare un carattere di sottolineatura per sostituire gli spazi.

Anche se sono previsti requisiti per l'uso degli oggetti del manifesto, non tutti gli oggetti sono obbligatori. La tabella seguente mostra gli oggetti obbligatori e facoltativi per l'anteprima 2023-03-01 del Servizio di conversione.

Nota

Se non differentemente specificato, tutte le proprietà stringa sono limitate a un migliaio di caratteri.

File JSON manifesto

Proprietà Type Obbligatorio Descrizione
version string TRUE Versione dello schema del manifesto. Attualmente versione "2.0"
buildingLevels Oggetto BuildingLevels TRUE Specifica i livelli della struttura e i file che contengono la progettazione dei livelli.
featureClasses Array di oggetti featureClass TRUE Elenco di oggetti classe di funzionalità che definiscono la modalità di lettura dei livelli dal file di disegno DWG.
georeference Oggetto Georeferenziazione FALSE Contiene informazioni geografiche numeriche per il disegno della struttura.    
facilityName string FALSE Nome della struttura.

Le sezioni successive illustrano in dettaglio i requisiti per ogni oggetto.

buildingLevels

Proprietà Type Obbligatorio Descrizione
dwgLayers Matrice di stringhe TRUE Nomi di livelli che definiscono il profilo esterno della struttura.
levels Array di oggetti di livello TRUE Un livello fa riferimento a un piano univoco nella struttura definita in un file DWG, l'altezza di ogni livello e ordine verticale in cui vengono visualizzati.

level

Proprietà Type Obbligatorio Descrizione
levelName stringa TRUE Nome del livello. Ad esempio: Piano 1, Lobby, Parcheggio Blu o Seminterrato.
ordinal integer TRUE Definisce l'ordine verticale dei livelli. Tutti i valori ordinal devono essere univoci all'interno di una struttura.
filename string TRUE Percorso e nome del file DWG che rappresenta il livello in una struttura. Il percorso deve essere relativo alla radice del pacchetto di disegni. 
verticalExtent number FALSE Altezza verticale da pavimento a soffitto (spessore) del livello, in metri.

featureClass

Proprietà Type Obbligatorio Descrizione
dwgLayers Matrice di stringhe TRUE Nome di ogni livello che definisce la classe di funzionalità. Ogni entità nel livello specificato viene convertita in un'istanza della classe di funzionalità. Il nome dwgLayer da cui viene convertita una funzionalità termina come proprietà di tale funzionalità.
featureClassName string TRUE Nome della classe di funzionalità. Gli esempi tipici includono sala, area di lavoro o parete.
featureClassProperties Array di oggetti featureClassProperty FALSE Specifica i livelli di testo nel file DWG associato alla funzionalità come proprietà. Ad esempio, un'etichetta che rientra nei limiti di uno spazio, ad esempio un numero di stanza.

featureClassProperty

Proprietà Type Obbligatorio Descrizione
dwgLayers Matrice di stringhe TRUE Nome di ogni livello che definisce la proprietà della classe di funzionalità. Ogni entità nel livello specificato viene convertita in una proprietà. Solo le entità DWG TEXT e MTEXT vengono convertite in proprietà. Tutte le altre entità vengono ignorate.
featureClassPropertyName string TRUE Nome della proprietà della classe di funzionalità, ad esempio spaceName o spaceUseType.

georeference

Proprietà Type Obbligatorio Descrizione
lat number TRUE Rappresentazione decimale della latitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate dell'origine devono essere espresse in WGS84 Web Mercator (EPSG:3857).
lon number TRUE Rappresentazione decimale della longitudine in gradi in corrispondenza dell'origine del disegno della struttura. Le coordinate dell'origine devono essere espresse in WGS84 Web Mercator (EPSG:3857).
angle number TRUE L'angolo in senso orario, in gradi, tra il nord geografico e l'asse verticale (Y) del disegno.

Manifesto del pacchetto di disegni di esempio

Il codice JSON in questo esempio mostra il file manifesto per il pacchetto di disegni di esempio. Andare al pacchetto di disegni di esempio v2 per Creator di Mappe di Azure in GitHub per scaricare l'intero pacchetto.

File manifesto

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

Passaggi successivi

Per una guida su come preparare il pacchetto di disegni, vedere la guida al pacchetto di disegni.