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.
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.