Compartilhar via


Requisitos do pacote de desenho

Observação

Desativação do Criador do Azure Mapas

O serviço de mapa interno do Criador do Azure Mapas agora foi preterido e será desativado em 30/09/25. Para obter mais informações, consulte Anúncio de fim da vida útil do Criador do Azure Mapas.

O serviço Conversão do Azure Mapas permite converter pacotes de desenho carregados em dados de mapa. Este artigo descreve os requisitos de pacote de desenho para a API de Conversão. Para exibir um pacote de exemplo, você pode baixar o Pacote de desenho de amostra.

Pré-requisitos

O pacote de desenho inclui desenhos salvos no formato DWG, um formato de arquivo nativo para o software AutoCAD® da Autodesk.

Você pode usar qualquer software CAD para produzir desenhos no pacote de desenho.

O serviço Conversão converte o pacote de desenho em dados de mapa. O serviço de conversão funciona no formato de arquivo do AutoCAD DWG AC1032.

Glossário de termos

Para facilitar a referência, aqui estão alguns termos e definições que são importantes à medida que você lê este artigo.

Termo Definição
Camada Uma camada DWG do AutoCAD do arquivo de desenho.
Entidade Uma entidade DWG do AutoCAD do arquivo de desenho.
Xref Um arquivo no formato de arquivo DWG do AutoCAD anexado ao desenho primário como uma referência externa.
Nível Uma área de uma construção com uma elevação definida. Por exemplo, o andar de uma construção.
Recurso Uma instância de um objeto produzido do serviço de conversão que combina uma geometria com informações de metadados.
Classes de recurso Um blueprint comum dos recursos. Por exemplo, umaUnidade é uma classe de recurso e um escritório é um recurso.

Estrutura do pacote do desenho

Um pacote de desenho é um arquivo .zip que contém os seguintes arquivos:

  • Arquivos DWG com formato de arquivo DWG do AutoCAD.
  • Um arquivomanifest.json que descreve os arquivos DWG no pacote de desenho.

O pacote de desenho deve ser compactado em um único arquivo, com a extensão .zip. Os arquivos DWG podem ser organizados de qualquer forma dentro da pasta, mas o arquivo de manifesto deve ficar no diretório raiz da pasta zipada. As seções a seguir detalham os requisitos para arquivos DWG, o arquivo de manifesto e o conteúdo desses arquivos. Para exibir um pacote de amostra, você pode baixar o pacote de desenho de amostra.

Processo de conversão do arquivo DWG

O serviço Conversão faz o seguinte em cada arquivo DWG:

  • Extrai classes de recurso:
    • Levels
    • Unidades
    • Zonas
    • Aberturas
    • Paredes
    • Penetrações verticais
  • Produz um recurso de Instalações.
  • Produz um conjunto mínimo de recursos padrão de Categoria referenciados por outros recursos:
    • quarto
    • estrutura
    • parede
    • opening.door
    • zona
    • facilidade

Requisitos do arquivo DWG

Apenas um arquivo DWG é necessário para cada nível da instalação. Todos os dados de um único nível devem estar contidos em um único arquivo DWG. Todas as referências externas (xrefs) devem estar ligadas ao desenho pai. Por exemplo, uma instalação com três níveis tem três arquivos DWG no pacote de desenhos.

Cada arquivo DWG deve atender aos requisitos a seguir:

  • O arquivo DWG deve definir as camadas Exterior e Unidade. Alternativamente, é possível definir as seguintes camadas: Parede, Porta, UnitLabel, Zona e ZoneLabel.
  • O arquivo DWG não pode conter recursos de vários níveis.
  • O arquivo DWG não pode conter recursos de várias instalações.
  • O DWG deve fazer referência ao mesmo sistema de medidas e unidade de medida que outros arquivos DWG do pacote de desenho.

Requisitos de camada do DWG

Cada camada do DWG deve aderir às seguintes regras:

  • Uma camada deve conter exclusivamente recursos de uma única classe. Por exemplo, unidades e paredes não podem estar na mesma camada.
  • Uma única classe de recursos pode ser representada por várias camadas.
  • Polígonos com interseção automática são permitidos, mas são reparados automaticamente. Após o reparo, o serviço Conversão gera um aviso. É recomendável inspecionar resultados reparados manualmente, pois eles podem não corresponder aos resultados esperados.
  • Cada camada tem uma lista de tipos de entidade com suporte. Todos os outros tipos de entidade em uma camada serão ignorados. Por exemplo, as entidades de texto não têm suporte na camada de parede.

A seguinte tabela descreve os tipos de entidades com suporte e os recursos do mapa convertido para cada camada. Se uma camada contiver tipos de entidade sem suporte, o serviço Conversão vai ignorá-las.

Camada Tipos de entidade Recursos convertidos
Exterior POLYGON, POLYLINE (fechada), CIRCLE ou ELLIPSE (fechada) Levels
Unidade POLYGON, POLYLINE (fechada), CIRCLE ou ELLIPSE (fechada) Unidades e invasões verticais
Parede POLYGON, POLYLINE (fechada), CIRCLE ou ELLIPSE (fechada), Estruturas
Porta POLYGON, POLYLINE, LINE, CIRCULARARC, CIRCLE Aberturas
Zona POLYGON, POLYLINE (fechada), CIRCLE ou ELLIPSE (fechada) Zonas
UnitLabel Texto (linha única) Não aplicável. Essa camada só pode adicionar propriedades aos recursos da unidade a partir da camada Unidades. Para obter mais informações, consulte Camada UnitLabel.
ZoneLabel Texto (linha única) Não aplicável. Essa camada só pode adicionar propriedades a recursos de zona da ZonesLayer. Para mais informações, consulte Camada ZoneLabel.

As seguintes seções descrevem os requisitos para cada camada.

Camada Exterior

O arquivo DWG de cada nível deve conter uma camada para definir o perímetro desse nível. Essa camada é conhecida como a camada Exterior. Por exemplo, se uma instalação contiver dois níveis, ela precisará ter dois arquivos DWG, com uma camada Exterior para cada arquivo.

Não importa quantos desenhos da entidade estejam na camada externa, o conjunto de dados resultante da instalação contém apenas um recurso de nível para cada arquivo DWG. Além disso:

  • Os exteriores devem ser desenhados como POLYGON, POLYLINE (fechada), CIRCLE ou ELLIPSE (fechada).
  • Os exteriores podem se sobrepor, mas são dissolvidos em uma geometria.
  • O recurso de nível resultante deve ter pelo menos 4 metros quadrados.
  • O recurso de nível resultante não deve ser maior que 400.000 metros quadrados.

Se a camada contiver várias POLYLINES sobrepostas, elas serão dissolvidas em um único recurso de Nível. Em vez disso, se a camada contiver várias polilinhas não sobrepostas, o recurso de nível resultante terá uma representação multipoligonal.

Um exemplo de Camada exterior pode ser visto como a camada de estrutura de tópicos nopacote de desenho de amostra.

Camada Unidade

O arquivo DWG de cada nível deve definir uma camada que contenha unidades. As unidades são espaços navegáveis da construção, como escritórios, corredores, escadas e elevadores. Se a VerticalPenetrationCategory propriedade for definida, as unidades navegáveis que abrangem vários níveis, como elevadores e escadas, são convertidas em recursos de penetração vertical. Os recursos de penetração vertical que se sobrepõem um ao outro são atribuídos setid.

A camada Unidades deve atender aos seguintes requisitos:

  • As unidades devem ser desenhadas como POLÍGONO, POLILINHA (fechada), CÍRCULO ou ELIPSE (fechada).
  • As unidades devem estar dentro dos limites do perímetro externo da instalação.
  • As unidades não devem se sobrepor parcialmente.
  • As unidades não devem conter nenhuma geometria com autointerseção.

Nomeie uma unidade criando um objeto de texto na camada UnitLabel, depois coloque o objeto dentro dos limites da unidade. Para obter mais informações, consulte Camada UnitLabel.

Você pode ver um exemplo da Camada de unidades no pacote de desenho de amostra.

Camada Parede

O arquivo DWG de cada nível pode conter uma camada que defina as extensões físicas de paredes, colunas e outras estruturas da construção.

  • As paredes devem ser desenhadas como POLÍGONO, POLILINHA (fechada), CÍRCULO ou ELIPSE (fechada).
  • As camadas de parede só devem conter uma geometria que seja interpretada como uma estrutura da construção.

Você pode ver um exemplo dessa Camada de paredes no pacote de desenho de amostra.

Camada Porta

Você pode incluir uma camada do DWG que contenha portas. Cada porta deve sobrepor a borda de uma unidade da camada Unidade.

As aberturas de portas em um conjunto de dados do Azure Mapas são representadas como um segmento de linha única que sobrepõe vários limites de unidade. As seguintes imagens mostram como o Azure Mapas converte a geometria da camada de porta em recursos de abertura em um conjunto de dados.

Quatro gráficos que mostram as etapas para gerar aberturas

Camada Zona

O arquivo DWG de cada nível pode conter uma camada Zona que defina as extensões físicas das zonas. Uma zona é um espaço não navegável que pode ser nomeado e renderizado. As zonas podem incluir vários níveis e são agrupadas usando a propriedade zoneSetId.

  • As zonas devem ser desenhadas como POLÍGONO, POLILINHA (fechada), CÍRCULO ou ELIPSE (fechada).
  • As zonas podem se sobrepor.
  • As zonas devem estar dentro ou fora do perímetro externo da instalação.

Para nomear uma zona, crie um objeto de texto na camada ZoneLabel e colocando o objeto de texto dentro dos limites da zona. Para obter mais informações, consulte Camada ZoneLabel.

Você pode ver um exemplo dessa Camada de zona no pacote de desenho de amostra.

Camada UnitLabel

O arquivo DWG de cada nível pode conter uma camada de rótulo de unidade. A camada de rótulo de unidade adiciona uma propriedade nome às unidades extraídas da camada Unidade. As unidades com uma propriedade nome podem ter detalhes adicionais especificados no arquivo de manifesto.

  • Os rótulos de unidade devem ser entidades de texto de linha única.
  • Os rótulos de unidade devem estar totalmente dentro dos limites de sua unidade.
  • As unidades não devem conter várias entidades de texto na camada de rótulos de unidade.

Você pode ver um exemplo da Camada de UnitLabel no pacote de desenho de amostra.

Camada ZoneLabel

O arquivo DWG de cada nível pode conter uma camada ZoneLabel. Essa camada adiciona uma propriedade name às zonas extraídas da camada Zona. As zonas com uma propriedade nome podem ter detalhes adicionais especificados no arquivo de manifesto.

  • Os rótulos de zonas devem ser entidades de texto de linha única.
  • Os rótulos de zonas devem estar dentro dos limites de sua zona.
  • As zonas não devem conter várias entidades de texto na camada de rótulos de zona.

Você pode ver um exemplo da camada de ZoneLabel no pacote de desenho de amostra.

Requisitos do arquivo de manifesto

A pasta zip deve conter um arquivo de manifesto no nível raiz do diretório, e o arquivo deve ser nomeado como manifest.json. Ele descreve os arquivos DWG para permitir que o serviço Conversão analise o conteúdo. Apenas os arquivos identificados por um manifesto serão ingeridos. Serão ignorados os arquivos que estiverem na pasta zip, mas não estiverem listados corretamente em um manifesto.

Embora haja requisitos para usar os objetos de manifesto, nem todos os objetos são necessários. A tabela a seguir mostra os objetos obrigatórios e opcionais da versão 1.1 do serviço Conversão.

Observação

A menos que especificado de outra forma, todas as propriedades com um tipo de propriedade de cadeia de caracteres permitem mil caracteres.

Objeto Obrigatório Descrição
version true Versão do esquema do manifesto. Atualmente, há suporte apenas para a versão 1.1.
directoryInfo true Descreve as informações geográficas e de contato da instalação. Também pode ser usado para descrever informações geográficas de um ocupante ou de um contato.
buildingLevels true Especifica os níveis das construções e os arquivos que contêm o design dos níveis.
georeference true Contém informações geográficas numéricas do desenho da instalação.
dwgLayers true Lista os nomes das camadas, e cada camada lista os nomes de seus próprios recursos.
unitProperties false Pode ser usado para inserir metadados adicionais aos recursos de unidade.
zoneProperties false Pode ser usado para inserir metadados adicionais aos recursos de zona.

As seções a seguir detalham os requisitos de cada objeto.

directoryInfo

Propriedade Type Obrigatória Descrição
name string true Nome da construção.
streetAddress string false Endereço da construção.
unit string false Unidade na construção.
locality string false Nome de uma cidade, município, área, vizinhança ou região.
adminDivisions Matriz de cadeias de caracteres JSON false Uma matriz que contém designações de endereço. Por exemplo: (País, Estado) Use códigos de países ISO 3166 e códigos de estados/regiões ISO 3166-2.
postalCode string false O código de classificação de correspondência.
hoursOfOperation string false Adere ao formato horário de funcionamento OSM.
phone string false Número de telefone associado à construção.
website string false Site associado à construção.
nonPublic bool false Sinalizador especificando se a construção está aberta para o público.
anchorLatitude numeric false Latitude de uma âncora de instalação (pino).
anchorLongitude numeric false Longitude de uma âncora de instalação (pino).
anchorHeightAboveSeaLevel numeric false Altura em metros do térreo da instalação em relação ao nível do mar.
defaultLevelVerticalExtent numeric false Altura padrão (espessura) de um nível dessa instalação e que deve ser usada quando o verticalExtent de um nível estiver indefinido.

buildingLevels

O objeto buildingLevels contém uma matriz JSON de níveis de construções.

Propriedade Type Obrigatória Descrição
levelName string true Nome do nível descritivo. Por exemplo: 1º andar, lobby, estacionamento azul, ou porão.
ordinal inteiro true Estabelece a ordem vertical dos níveis. Cada instalação deve ter um nível com o ordinal 0.
heightAboveFacilityAnchor numeric false Altura em metros do nível acima do térreo.
verticalExtent numeric false A altura em metros do chão até o teto (espessura) do nível.
filename string true Caminho do sistema de arquivos do desenho do CAD para um nível da construção. Ele estar relacionado à raiz do arquivo zip da construção.

georeference

Propriedade Type Obrigatória Descrição
lat numeric true Representação decimal da latitude em graus na origem do desenho da instalação. As coordenadas de origem devem estar no WGS84 Web Mercator (EPSG:3857).
lon numeric true Representação decimal da longitude em graus na origem do desenho da instalação. As coordenadas de origem devem estar no WGS84 Web Mercator (EPSG:3857).
angle numeric true O ângulo no sentido horário, em graus, entre o norte verdadeiro e o eixo vertical (Y) do desenho.

dwgLayers

Propriedade Type Obrigatória Descrição
exterior Matriz de cadeias de caracteres true Nomes de camada(s) que definem um perfil de construção exterior.
unit Matriz de cadeias de caracteres false Nomes de camada(s) que definem as unidades.
wall Matriz de cadeias de caracteres false Nomes de camada(s) que definem as paredes.
door Matriz de cadeias de caracteres false Nomes de camada(s) que definem as portas.
unitLabel Matriz de cadeias de caracteres false Nomes de camada(s) que definem nomes de unidades.
zone Matriz de cadeias de caracteres false Nomes de camada(s) que definem as zonas.
zoneLabel Matriz de cadeias de caracteres false Nomes de camada(s) que definem nomes de zonas.

unitProperties

O objeto unitProperties contém uma matriz JSON das propriedades da unidade.

Propriedade Type Obrigatória Descrição
unitName string true Nome da unidade a ser associada a esse registro unitProperty. Esse registro só é válido quando um rótulo correspondente a unitName for encontrado na(s) camada(s)unitLabel.
categoryName string false Finalidade da unidade. Uma lista de valores que os estilos de renderização fornecidos podem usar está documentada em categories.json.
occupants Matriz de objetos directoryInfo false Lista de ocupantes da unidade.
nameAlt string false Nome alternativo da unidade.
nameSubtitle string false Subtítulo da unidade.
addressRoomNumber string false Número da sala, da unidade, do apartamento ou da suíte da unidade.
verticalPenetrationCategory string false Quando essa propriedade for definida, o recurso resultante será uma penetração vertical (VRT) em vez de uma unidade. Você pode usar invasões verticais para ir para outros recursos de invasões verticais em níveis acima ou abaixo. A penetração vertical é um nome de Categoria. Se a propriedade for definida, a propriedade categoryName é anulada comverticalPenetrationCategory.
verticalPenetrationDirection string false Se verticalPenetrationCategory for definida, como opção, defina a direção válida da viagem. Os valores permitidos são lowToHigh, highToLow, both e closed. O valor padrão é both. O valor diferencia maiúsculas de minúsculas.
nonPublic bool false Indica se a unidade está aberta ao público.
isRoutable bool false Quando essa propriedade é definida como false, você não pode ir para ou por meio de uma unidade. O valor padrão é true.
isOpenArea bool false Permite que o agente de navegação insira a unidade sem precisar de uma abertura anexada à unidade. Por padrão, esse valor é definido como true para unidades sem aberturas e false para unidades com aberturas. A configuração manual de isOpenArea para false em uma unidade sem aberturas resulta em um aviso, pois a unidade resultante não é alcançável por um agente de navegação.

zoneProperties

O objeto zoneProperties contém uma matriz JSON das propriedades da zona.

Propriedade Type Obrigatória Descrição
zoneName string true Nome da zona a ser associada ao registro zoneProperty. Esse registro só é válido quando um rótulo correspondente a zoneName for encontrado na camada zoneLabel da zona.
categoryName string false Finalidade da zona. Uma lista de valores que os estilos de renderização fornecidos podem usar está documentada em categories.json.
zoneNameAlt string false Nome alternativo da zona.
zoneNameSubtitle string false Subtítulo da zona.
zoneSetId string false De configurar a ID para estabelecer uma relação entre várias zonas para que elas possam ser consultadas ou selecionadas como um grupo. Por exemplo, zonas que incluam vários níveis.

Manifesto do pacote de desenho de amostra

A seguir está o arquivo de manifesto para o pacote de desenho da amostra. Acesse o Pacote de desenho de exemplo do Criador do Azure Mapas no GitHub para baixar o pacote inteiro.

Arquivo de 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"
        }
    ]
}

O serviço Conversão do Azure Mapas permite converter pacotes de desenho carregados em dados de mapa. Este artigo descreve os requisitos de pacote de desenho para a API de Conversão. Para ver um pacote de amostras, você pode baixar o pacote de desenhos de amostras v2.

Para ver um guia sobre como preparar seu pacote de desenho, consulte Guia do Pacote de Desenho.

Alterações e revisões

  • Suporte adicionado para classes de recursos definidas pelo usuário.
  • Requisitos simplificados das camadas do DWG.

Pré-requisitos

O pacote de desenho inclui desenhos salvos no formato DWG, um formato de arquivo nativo para o software AutoCAD® da Autodesk.

Você pode usar qualquer software CAD para produzir desenhos no pacote de desenho.

O serviço Conversão converte o pacote de desenho em dados de mapa. O serviço de conversão funciona com o formato de arquivo AutoCAD DWG AC1032.

Glossário de termos

Para facilitar a referência, aqui estão alguns termos e definições que são importantes à medida que você lê este artigo.

Termo Definição
Camada Uma camada DWG do AutoCAD do arquivo de desenho.
Entidade Uma entidade DWG do AutoCAD do arquivo de desenho.
Xref Um arquivo no formato de arquivo DWG do AutoCAD anexado ao desenho primário como uma referência externa.
Nível Uma área de uma instalação em uma elevação definida. Por exemplo, o piso de uma instalação.
Recurso Uma instância de um objeto produzido do serviço de conversão que combina uma geometria com informações de metadados.
Classes de recurso Um blueprint comum dos recursos.

Estrutura do pacote do desenho

Um pacote de desenhos é um arquivo ZIP que contém os seguintes arquivos:

  • Arquivos DWG com formato de arquivo DWG do AutoCAD.
  • Um arquivomanifest.json que descreve os arquivos DWG no pacote de desenho.

O pacote de desenhos deve ser compactado em um único arquivo, com a extensão.zip. Os arquivos DWG podem ser organizados de qualquer forma dentro do pacote de desenhos, mas o arquivo de manifesto deve estar no diretório raiz. As próximas seções explicam o processo de conversão e os requisitos dos arquivos DWG e de manifesto, bem como o conteúdo desses arquivos. Para ver um pacote de amostras, você pode baixar o pacote de desenhos de amostras v2.

Processo de conversão do arquivo DWG

O serviço de Conversão do Azure Mapas converte o(s) arquivo(s) DWG de uma instalação para mapear os dados que representam uma instalação e os recursos de uma instalação.

O serviço de Conversão do Azure Mapas cria:

  • Recurso de Instalação: o recurso de nível superior de uma instalação ao qual todos os níveis de uma instalação estão associados.
  • Recursos de nível: um recurso de nível é criado para cada andar de uma instalação. Todos os recursos em um nível estão associados a um nível.
  • Recursos definidos pelo usuário: as camadas DWG são mapeadas para uma classe de recursos definida pelo usuário e se tornam instâncias da classe de recursos.

Requisitos do arquivo DWG

Cada arquivo DWG deve atender aos seguintes requisitos:

  • O arquivo DWG não pode conter recursos de várias instalações.
  • O arquivo DWG não pode conter recursos de vários níveis. Por exemplo, uma instalação com três níveis tem três arquivos DWG no pacote de desenhos.
  • Todos os dados de um único nível devem estar contidos em um único arquivo DWG. Todas as referências externas (xrefs) devem estar ligadas ao desenho pai.
  • O arquivo DWG deve definir a(s) camada(s) que representa(m) o limite desse nível.
  • O DWG deve fazer referência ao mesmo sistema de medidas e unidade de medida que outros arquivos DWG do pacote de desenho.
  • O arquivo DWG deve estar alinhado quando empilhado em cima de outro nível da mesma instalação.

Requisitos de camada do DWG

Classes de recurso

Uma ou mais camadas DWG podem ser mapeadas para uma classe de recursos definida pelo usuário. Uma instância do recurso é criada a partir de uma entidade na camada mapeada. Por exemplo, as camadas DWG de cadeira, mesa e sofá são mapeadas para uma classe de recursos chamada mobília. Um recurso de mobília é criado para cada entidade a partir das camadas definidas. Além disso:

  • Todas as camadas devem ser separadas para representar os diferentes tipos de recursos da instalação.
  • Todas as entidades devem cair dentro dos limites do perímetro de nível.
  • Tipos de entidades do AutoCAD compatíveis: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLYLINE, ELLIPSE.

Propriedades da classe de recursos

Entidades de texto que estão dentro dos limites de uma forma fechada podem ser associadas a esse recurso como uma propriedade. Por exemplo, uma classe de recursos de sala pode ter um texto que descreva o nome da sala e outra o tipo de sala de pacote de desenhos de amostra v2. Além disso:

  • Somente entidades TEXT e MTEXT estão associadas a este recurso como uma propriedade. Todos os outros tipos de entidade são ignorados.
  • Os pontos de justificativa TEXT e MTEXT devem estar dentro dos limites da forma fechada.
  • Se mais de uma propriedade TEXT estiver dentro dos limites da forma fechada e ambas forem mapeadas para uma propriedade, uma é selecionada aleatoriamente.

Nível da instalação

O arquivo DWG de cada nível deve conter uma camada para definir o perímetro desse nível. Por exemplo, se uma instalação contiver dois níveis, ela precisará ter dois arquivos DWG, cada um com uma camada que defina o perímetro desse nível.

Não importa quantos desenhos de entidades estejam na camada de perímetro de nível, o conjunto de dados da instalação resultante contém apenas um recurso de nível para cada arquivo DWG. Além disso:

  • Os perímetros de Nível devem ser desenhados como POLÍGONO, POLILINHA (fechada), CÍRCULO ou ELIPSE (fechada).
  • Os perímetros de nível podem se sobrepor, mas são dissolvidos em uma geometria.
  • O recurso de nível resultante deve ter pelo menos 4 metros quadrados.
  • O recurso de nível resultante não deve ser maior que 400.000 metros quadrados.

Se a camada contiver várias POLYLINES sobrepostas, elas serão combinadas em um único recurso de Nível. Em vez disso, se a camada contiver várias POLYLINES não sobrepostas, o recurso de Nível resultante terá uma representação de multipolígono.

Você pode ver um exemplo da camada de perímetro de Nível como a camada GROS$ no pacote de desenhos de amostra v2.

Requisitos do arquivo de manifesto

O pacote de desenhos deve conter um arquivo de manifesto no nível raiz e o arquivo deve ter o nome manifest.json. Ele descreve os arquivos DWG que permitem que o Serviço de conversão v2 analise seu conteúdo. Somente os arquivos identificados pelo manifesto são usados. Os arquivos que estão no pacote de desenhos, mas não estão listados corretamente no manifesto, são ignorados.

Os caminhos de arquivo no objeto buildingLevels do arquivo de manifesto devem ser relativos à raiz do pacote de desenhos. O nome do arquivo DWG deve corresponder exatamente ao nome do nível da instalação. Por exemplo, um arquivo DWG para o nível "Basement" é Basement.dwg. Um arquivo DWG para o nível 2 é nomeado como level_2.dwg. Os nomes dos arquivos não podem conter espaços, você pode usar um sublinhado para substituir qualquer espaço.

Embora haja requisitos para usar os objetos de manifesto, nem todos os objetos são necessários. A tabela a seguir mostra os objetos obrigatórios e opcionais para o Serviço de conversão v2 de 2023-03-01-preview.

Observação

A menos que especificado de outra forma, todas as propriedades de cadeia de caracteres são limitadas a mil caracteres.

Arquivo do Manifesto JSON

Propriedade Type Necessário Descrição
version string TRUE Versão do esquema do manifesto. Versão atual "2.0"
buildingLevels Objeto BuildingLevels TRUE Especifica os níveis da instalação e os arquivos que contêm o design dos níveis.
featureClasses Matriz de objetos featureClass TRUE Lista de objetos da classe de recursos que definem como as camadas são lidas do arquivo de desenho DWG.
georeference Objeto de georreferência FALSE Contém informações geográficas numéricas do desenho da instalação.    
facilityName string FALSE O nome da instalação.

As seções a seguir detalham os requisitos de cada objeto.

buildingLevels

Propriedade Type Obrigatória Descrição
dwgLayers Matriz de cadeias de caracteres TRUE Os nomes das camadas que definem o perfil externo da instalação.
levels Matriz de objetos de nível TRUE Um nível se refere a um piso exclusivo na instalação definido em um arquivo DWG, a altura de cada nível e a ordem vertical em que eles aparecem.

nível

Propriedade Type Obrigatória Descrição
levelName string TRUE O nome do nível. Por exemplo: 1º andar, lobby, estacionamento azul, ou porão.
ordinal inteiro TRUE Define a ordem vertical dos níveis. Todos os valores ordinal devem ser exclusivos em uma instalação.
filename string TRUE O caminho e o nome do arquivo DWG que representa o nível em uma instalação. O caminho deve ser relativo à raiz do pacote de desenhos. 
verticalExtent número FALSE Altura vertical do chão ao teto (espessura) do nível em metros.

featureClass

Propriedade Type Obrigatória Descrição
dwgLayers Matriz de cadeias de caracteres TRUE O nome de cada camada que define a classe de recursos. Cada entidade na camada especificada é convertida em uma instância da classe de recursos. O nome dwgLayer do qual um recurso é convertido acaba como uma propriedade desse recurso.
featureClassName String TRUE O nome da classe de recursos. Os exemplos típicos incluem sala, espaço de trabalho ou parede.
featureClassProperties Matriz de objetos featureClassProperty FALSE Especifica as camadas de texto no arquivo DWG associadas ao recurso como uma propriedade. Por exemplo, um rótulo que está dentro dos limites de um espaço, como o número de uma sala.

featureClassProperty

Propriedade Type Obrigatória Descrição
dwgLayers Matriz de cadeias de caracteres TRUE O nome de cada camada que define a propriedade da classe de recursos. Cada entidade na camada especificada é convertida em uma propriedade. Somente as entidades DWG TEXT e MTEXT são convertidas em propriedades. Todas as outras entidades são ignoradas.
featureClassPropertyName String TRUE Nome da propriedade da classe de recursos, por exemplo, spaceName ou spaceUseType.

georeference

Propriedade Type Obrigatória Descrição
lat número TRUE Representação decimal da latitude em graus na origem do desenho da instalação. As coordenadas de origem devem estar no Mercator Web WGS84 (EPSG:3857).
lon número TRUE Representação decimal da longitude em graus na origem do desenho da instalação. As coordenadas de origem devem estar no Mercator Web WGS84 (EPSG:3857).
angle número TRUE O ângulo no sentido horário, em graus, entre o norte verdadeiro e o eixo vertical (Y) do desenho.

Manifesto do pacote de desenho de amostra

O JSON neste exemplo mostra o arquivo de manifesto do pacote de desenhos de amostra. Acesse o pacote de desenhos de amostra v2 do Criador do Azure Mapas no GitHub para baixar o pacote inteiro.

Arquivo de 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"
}

Próximas etapas

Para ver um guia sobre como preparar seu pacote de desenho, consulte o guia do pacote de desenho.