Requisitos de pacote do desenho
Nota
Aposentadoria do Azure Maps Creator
O serviço de mapa interno do Azure Maps Creator foi preterido e será desativado em 30/09/25. Para obter mais informações, consulte Anúncio de fim da vida útil do Azure Maps Creator.
Você pode converter pacotes de desenho carregados em dados de mapa usando o serviço de Conversão do Azure Maps. Este artigo descreve os requisitos do pacote de desenho para a API de conversão. Para exibir um pacote de exemplo, você pode baixar o pacote de desenho de exemplo.
Pré-requisitos
O pacote de desenho inclui desenhos guardados em formato DWG, que é o formato de ficheiro nativo para o software AutoCAD® da Autodesk.
Você pode escolher qualquer software CAD para produzir os desenhos no pacote de desenho.
O serviço de conversão converte o pacote de desenho em dados de mapa. O serviço de conversão funciona com o formato AC1032
de ficheiro DWG do AutoCAD.
Glossário de termos
Para facilitar a referência, aqui estão alguns termos e definições que são importantes enquanto você lê este artigo.
Termo | Definição |
---|---|
Camada | Uma camada DWG do AutoCAD a partir do ficheiro de desenho. |
Entidade | Uma entidade DWG do AutoCAD a partir do ficheiro de desenho. |
Xref | Um ficheiro em formato de ficheiro DWG do AutoCAD, anexado ao desenho principal como referência externa. |
Level | Uma área de um edifício em uma elevação definida. Por exemplo, o andar de um prédio. |
Caraterística | Uma instância de um objeto produzido a partir do serviço de conversão que combina uma geometria com informações de metadados. |
Classes de recursos | Um modelo comum para recursos. Por exemplo, uma unidade é uma classe de recurso e um escritório é um recurso. |
Estrutura do pacote de desenho
Um pacote de desenho é um arquivo .zip que contém os seguintes arquivos:
- Arquivos DWG no formato de arquivo DWG do AutoCAD.
- Um arquivo manifest.json que descreve os arquivos DWG no pacote de desenho.
O pacote de desenho deve ser compactado em um único arquivo morto, com a extensão .zip. Os arquivos DWG podem ser organizados de qualquer forma dentro do pacote, mas o arquivo de manifesto deve viver no diretório raiz do pacote compactado. As próximas seções detalham os requisitos para os arquivos DWG, arquivo de manifesto e o conteúdo desses arquivos. Para exibir um pacote de exemplo, você pode baixar o pacote de desenho de exemplo.
Processo de conversão de ficheiros DWG
O serviço de conversão faz o seguinte em cada arquivo DWG:
- Extrai classes de recursos:
- Níveis
- Unidades
- Zonas
- Vagas
- Paredes
- Penetrações verticais
- Produz um recurso Facility .
- Produz um conjunto mínimo de recursos de categoria padrão referenciados por outros recursos:
- quarto
- Estrutura
- parede
- abertura.door
- zona
- facilidade
Requisitos do arquivo DWG
É necessário um único ficheiro DWG para cada nível da instalação. Todos os dados de um único nível devem estar contidos em um único arquivo DWG. Quaisquer referências externas (xrefs) devem ser vinculadas ao desenho pai. Por exemplo, uma instalação com três níveis tem três arquivos DWG no pacote de desenho.
Cada ficheiro DWG deve cumprir os seguintes requisitos:
- O ficheiro DWG deve definir as camadas Exterior e Unidade. Opcionalmente, ele pode definir as seguintes camadas: Wall, Door, UnitLabel, Zone 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ários recursos.
- O DWG deve fazer referência ao mesmo sistema de medição e unidade de medida que outros ficheiros DWG no pacote de desenho.
Requisitos da camada DWG
Cada camada DWG deve aderir às seguintes regras:
- Uma camada deve conter exclusivamente características 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 autocruzados são permitidos, mas são automaticamente reparados. Quando eles são reparados, o serviço de conversão emite um aviso. É aconselhável inspecionar manualmente os resultados reparados, porque eles podem não corresponder aos resultados esperados.
- Cada camada tem uma lista suportada de tipos de entidade. Qualquer outro tipo de entidade em uma camada será ignorado. Por exemplo, entidades de texto não são suportadas na camada de parede.
A tabela a seguir descreve os tipos de entidade suportados e os recursos de mapa convertidos para cada camada. Se uma camada contiver tipos de entidade sem suporte, o serviço de Conversão ignorará essas entidades.
Camada | Tipos de entidades | Recursos convertidos |
---|---|---|
Exterior | POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado) | Níveis |
Unidade | POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado) | Unidades e penetrações verticais |
Parede | POLYGON, POLYLINE (fechado), CIRCLE, ou ELLIPSE (fechado), Estruturas | |
Porta | POLÍGONO, POLILINHA, LINHA, ARCO CIRCULAR, CÍRCULO | Vagas |
Zona | POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado) | Zonas |
Rótulo unitário | 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 a camada UnitLabel. |
ZoneLabel | Texto (linha única) | Não aplicável. Essa camada só pode adicionar propriedades aos recursos de zona a partir do ZonesLayer. Para obter mais informações, consulte a camada ZoneLabel. |
As seções a seguir descrevem os requisitos para cada camada.
Camada exterior
O arquivo DWG para cada nível deve conter uma camada para definir o perímetro desse nível. Esta camada é referida como a camada exterior . Por exemplo, se um recurso contém dois níveis, então ele precisa ter dois arquivos DWG, com uma camada externa para cada arquivo.
Não importa quantos desenhos de entidade estejam na camada externa, o conjunto de dados de instalação resultante contém apenas um recurso de nível para cada arquivo DWG. Além disso:
- Os exteriores devem ser desenhados como POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado).
- Exteriores podem se sobrepor, mas são dissolvidos em uma geometria.
- O recurso de nível resultante deve ter pelo menos 4 metros quadrados.
- A característica de nível resultante não deve ser maior de 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 PolyLines não sobrepostas, o recurso Level resultante terá uma representação multipoligonal.
Você pode ver um exemplo da camada Exterior como a camada de contorno no pacote de desenho de amostra.
Camada de unidade
O arquivo DWG para cada nível define uma camada contendo unidades. As unidades são espaços navegáveis no edifício, como escritórios, corredores, escadas e elevadores. Se a propriedade estiver definida, as VerticalPenetrationCategory
unidades navegáveis que abrangem vários níveis, como elevadores e escadas, são convertidas em recursos de penetração vertical. Características de penetração vertical que se sobrepõem umas às outras são atribuídas a um setid
.
A camada Unidades deve cumprir os seguintes requisitos:
- As unidades devem ser desenhadas como POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado).
- As unidades devem situar-se dentro dos limites do perímetro exterior da instalação.
- As unidades não devem sobrepor-se parcialmente.
- As unidades não devem conter qualquer geometria de auto-intersecção.
Nomeie uma unidade criando um objeto de texto na camada UnitLabel e coloque o objeto dentro dos limites da unidade. Para obter mais informações, consulte a camada UnitLabel.
Você pode ver um exemplo da camada Unidades no pacote de desenho de exemplo.
Camada de parede
O arquivo DWG para cada nível pode conter uma camada que define as extensões físicas de paredes, colunas e outras estruturas de edifícios.
- As paredes devem ser desenhadas como POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado).
- A camada ou camadas de parede devem conter apenas geometria interpretada como estrutura de edifício.
Você pode ver um exemplo da camada Paredes no pacote de desenho de exemplo.
Camada de porta
Pode incluir uma camada DWG que contenha portas. Cada porta deve sobrepor-se ao bordo de uma unidade a partir da camada Unidade.
As aberturas de porta em um conjunto de dados do Azure Maps são representadas como um segmento de linha única que se sobrepõe a vários limites de unidade. As imagens a seguir mostram como o Azure Maps converte a geometria da camada de porta em recursos de abertura em um conjunto de dados.
Camada de zona
O arquivo DWG para cada nível pode conter uma camada de zona que define 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 abranger vários níveis e são agrupadas usando a propriedade zoneSetId.
- As zonas devem ser desenhadas como POLYGON, POLYLINE (fechado) ou ELLIPSE (fechado).
- As zonas podem sobrepor-se.
- As zonas podem cair dentro ou fora do perímetro exterior da instalação.
Nomeie uma zona criando 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 da camada Zona no pacote de desenho de exemplo.
Camada UnitLabel
O arquivo DWG para cada nível pode conter uma camada UnitLabel. A camada UnitLabel adiciona uma propriedade name às unidades extraídas da camada Unit. As unidades com uma propriedade name podem ter mais detalhes especificados no arquivo de manifesto.
- Os rótulos de unidade devem ser entidades de texto de linha única.
- As etiquetas das unidades devem situar-se inteiramente dentro dos limites da sua unidade.
- As unidades não devem conter várias entidades de texto na camada UnitLabel.
Você pode ver um exemplo da camada UnitLabel no pacote de desenho de amostra.
Camada ZoneLabel
O arquivo DWG para cada nível pode conter uma camada ZoneLabel. Esta camada adiciona uma propriedade name às zonas extraídas da camada Zone. As zonas com uma propriedade name podem ter mais detalhes especificados no arquivo de manifesto.
- Os rótulos de zonas devem ser entidades de texto de linha única.
- Os rótulos das zonas devem estar dentro dos limites da sua zona.
- As zonas não devem conter várias entidades de texto na camada ZoneLabel.
Você pode ver um exemplo da camada ZoneLabel no pacote de desenho de exemplo.
Requisitos de 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 manifest.json. Ele descreve os arquivos DWG para permitir que o serviço de conversão analise seu conteúdo. Apenas os ficheiros identificados pelo manifesto são ingeridos. Os arquivos que estão na pasta zip, mas não estão listados corretamente no manifesto, são ignorados.
Embora haja requisitos quando você usa os objetos de manifesto, nem todos os objetos são necessários. A tabela a seguir mostra os objetos necessários e opcionais para a versão 1.1 do serviço de conversão.
Nota
A menos que especificado de outra forma, todas as propriedades com um tipo de propriedade string permitem mil caracteres.
Object | Necessário | Description |
---|---|---|
version |
verdadeiro | Versão do esquema de manifesto. Atualmente, apenas a versão 1.1 é suportada. |
directoryInfo |
verdadeiro | Descreve as informações geográficas e de contato da instalação. Ele também pode ser usado para descrever informações geográficas e de contato de um ocupante. |
buildingLevels |
verdadeiro | Especifica os níveis dos edifícios e os arquivos que contêm o projeto dos níveis. |
georeference |
verdadeiro | Contém informações geográficas numéricas para o desenho da instalação. |
dwgLayers |
verdadeiro | Lista os nomes das camadas, e cada camada lista os nomes de seus próprios recursos. |
unitProperties |
false | Pode ser usado para inserir mais metadados para os recursos da unidade. |
zoneProperties |
false | Pode ser usado para inserir mais metadados para os recursos da zona. |
As próximas seções detalham os requisitos para cada objeto.
directoryInfo
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
name |
string | verdadeiro | Nome do edifício. |
streetAddress |
string | false | Endereço do edifício. |
unit |
string | false | Unidade em edifício. |
locality |
string | false | Nome de uma cidade, vila, área, bairro ou região. |
adminDivisions |
Matriz JSON de cadeias de caracteres | false | Uma matriz que contém designações de endereço. Por exemplo: (País, Estado) Use os códigos de país ISO 3166 e os códigos de estado/território ISO 3166-2. |
postalCode |
string | false | O código de classificação de e-mail. |
hoursOfOperation |
string | false | Adere ao formato OSM Opening Hours . |
phone |
string | false | Número de telefone associado ao edifício. |
website |
string | false | Website associado ao edifício. |
nonPublic |
booleano | false | Sinalizador especificando se o edifício está aberto ao público. |
anchorLatitude |
numérico | false | Latitude de uma âncora de instalação (pino). |
anchorLongitude |
numérico | false | Longitude de uma âncora de instalação (pino). |
anchorHeightAboveSeaLevel |
numérico | false | Altura do piso térreo da instalação acima do nível do mar, em metros. |
defaultLevelVerticalExtent numérico |
false | Altura (espessura) padrão de um nível deste recurso para usar quando um nível é verticalExtent indefinido. |
buildingLevels
O buildingLevels
objeto contém uma matriz JSON de níveis de edifícios.
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
levelName |
string | verdadeiro | Nome do nível descritivo. Por exemplo: Piso 1, Lobby, Estacionamento Azul ou Cave. |
ordinal |
integer | verdadeiro | Determina a ordem vertical dos níveis. Cada instalação deve ter um nível com ordinal 0. |
heightAboveFacilityAnchor |
numérico | false | Altura do nível acima da âncora em metros. |
verticalExtent |
numérico | false | Altura do chão ao teto (espessura) do nível em metros. |
filename |
string | verdadeiro | Caminho do sistema de ficheiros do desenho CAD para um nível de edifício. Deve ser relativo à raiz do ficheiro zip do edifício. |
georeference
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
lat |
numérico | verdadeiro | Representação decimal de graus de latitude na origem do desenho da instalação. As coordenadas de origem devem estar em WGS84 Web Mercator (EPSG:3857 ). |
lon |
numérico | verdadeiro | Representação decimal de graus de longitude na origem do desenho da instalação. As coordenadas de origem devem estar em WGS84 Web Mercator (EPSG:3857 ). |
angle |
numérico | verdadeiro | O ângulo no sentido horário, em graus, entre o norte verdadeiro e o eixo vertical (Y) do desenho. |
dwgLayers
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
exterior |
matriz de cadeias | verdadeiro | Nomes das camadas que definem o perfil exterior do edifício. |
unit |
matriz de cadeias | false | Nomes de camadas que definem unidades. |
wall |
matriz de cadeias | false | Nomes de camadas que definem paredes. |
door |
matriz de cadeias | false | Nomes de camadas que definem portas. |
unitLabel |
matriz de cadeias | false | Nomes de camadas que definem nomes de unidades. |
zone |
matriz de cadeias | false | Nomes de camadas que definem zonas. |
zoneLabel |
matriz de cadeias | false | Nomes de camadas que definem nomes de zonas. |
unitProperties
O unitProperties
objeto contém uma matriz JSON de propriedades de unidade.
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
unitName |
string | verdadeiro | Nome da unidade a associar a este unitProperty registo. Esse registro só é válido quando uma correspondência unitName de rótulo é encontrada nas unitLabel camadas. |
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 do quarto, unidade, apartamento ou suíte da unidade. |
verticalPenetrationCategory |
string | false | Quando essa propriedade é definida, o recurso resultante é uma penetração vertical (VRT) em vez de uma unidade. Você pode usar penetrações verticais para ir para outros recursos de penetração vertical nos níveis acima ou abaixo dela. Penetração vertical é um nome de categoria . Se essa propriedade for definida, ela será substituída categoryName por verticalPenetrationCategory . |
verticalPenetrationDirection |
string | false | Se verticalPenetrationCategory estiver definido, opcionalmente defina a direção válida da viagem. Os valores permitidos são: lowToHigh , highToLow , both , e closed . O valor predefinido é both . O valor diferencia maiúsculas de minúsculas. |
nonPublic |
booleano | false | Indica se a unidade está aberta ao público. |
isRoutable |
booleano | false | Quando essa propriedade é definida como false , você não pode ir para ou através da unidade. O valor predefinido é true . |
isOpenArea |
booleano | false | Permite que o agente de navegação entre na unidade sem a necessidade 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 isOpenArea manual para false em uma unidade sem aberturas resulta em um aviso, porque a unidade resultante não é acessível por um agente de navegação. |
zoneProperties
O zoneProperties
objeto contém uma matriz JSON de propriedades de zona.
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
zoneName | string | verdadeiro | Nome da zona a ser associada ao zoneProperty registro. Esse registro só é válido quando uma correspondência zoneName de rótulo é encontrada na zoneLabel camada 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 | Legenda da zona. |
zoneSetId | string | false | Defina ID para estabelecer uma relação entre várias zonas para que possam ser consultadas ou selecionadas como um grupo. Por exemplo, zonas que abrangem vários níveis. |
Exemplo de manifesto do pacote de desenho
A seguir está o arquivo de manifesto para o pacote de desenho de exemplo. Vá para o pacote de desenho de exemplo para o Azure Maps Creator 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"
}
]
}
Você pode converter pacotes de desenho carregados em dados de mapa usando o serviço de Conversão do Azure Maps. Este artigo descreve os requisitos do pacote de desenho para a API de conversão. Para exibir um pacote de exemplo, você pode baixar o pacote de desenho de exemplo v2.
Para obter um guia sobre como preparar seu pacote de desenho, consulte Guia do pacote de desenho.
Alterações e Revisões
- Adicionado suporte para classes de recursos definidas pelo usuário.
- Requisitos simplificados das camadas DWG.
Pré-requisitos
O pacote de desenho inclui desenhos guardados em formato DWG, que é o formato de ficheiro nativo para o software AutoCAD® da Autodesk.
Você pode escolher qualquer software CAD para produzir os desenhos no pacote de desenho.
O serviço de conversão converte o pacote de desenho em dados de mapa. O serviço de conversão funciona com o formato de ficheiro DWG AC1032 do AutoCAD.
Glossário de termos
Para facilitar a referência, aqui estão alguns termos e definições que são importantes enquanto você lê este artigo.
Termo | Definição |
---|---|
Camada | Uma camada DWG do AutoCAD a partir do ficheiro de desenho. |
Entidade | Uma entidade DWG do AutoCAD a partir do ficheiro de desenho. |
Xref | Um ficheiro em formato de ficheiro DWG do AutoCAD, anexado ao desenho principal como referência externa. |
Level | Uma área de uma instalação em uma elevação definida. Por exemplo, o piso de uma instalação. |
Caraterística | Uma instância de um objeto produzido a partir do serviço de conversão que combina uma geometria com informações de metadados. |
Classes de recursos | Um modelo comum para recursos. |
Estrutura do pacote de desenho
Um pacote de desenho é um arquivo ZIP que contém os seguintes arquivos:
- Arquivos DWG no formato de arquivo DWG do AutoCAD.
- Um arquivo manifest.json que descreve os arquivos DWG no pacote de desenho.
O pacote de desenho deve ser compactado em um único arquivo morto, com a extensão .zip. Os arquivos DWG podem ser organizados de qualquer forma dentro do pacote de desenho, 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 para os arquivos DWG e manifesto, e o conteúdo desses arquivos. Para exibir um pacote de exemplo, você pode baixar o pacote de desenho de exemplo v2.
Processo de conversão de ficheiros DWG
O serviço de Conversão do Azure Maps converte o(s) arquivo(s) DWG de um recurso em dados de mapeamento que representam um recurso e recursos de um recurso.
O serviço de Conversão do Azure Maps 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.
- Características de nível: O recurso de um 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 recurso definida pelo usuário e se tornam instâncias da classe de recurso.
Requisitos do arquivo DWG
Cada ficheiro DWG deve cumprir estes requisitos:
- O arquivo DWG não pode conter recursos de vários recursos.
- 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 desenho.
- Todos os dados de um único nível devem estar contidos em um único arquivo DWG. Quaisquer referências externas (xrefs) devem ser vinculadas ao desenho pai.
- O ficheiro 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 medição e unidade de medida que outros ficheiros DWG no pacote de desenho.
- O arquivo DWG deve ser alinhado quando empilhado em cima de outro nível da mesma instalação.
Requisitos da camada DWG
Classes de recursos
Uma ou mais camadas(ões) DWG podem ser mapeadas para uma classe de recurso definida pelo usuário. Uma instância do recurso é criada a partir de uma entidade na camada mapeada. Por exemplo, as camadas DWG cadeira, mesa e sofá são mapeadas para uma classe de recurso chamada móveis. Um recurso de mobiliário é criado para cada entidade a partir das camadas definidas. Além disso:
- Todas as camadas devem ser separadas para representar diferentes tipos de recursos da instalação.
- Todas as entidades devem estar dentro dos limites do perímetro de nível.
- Tipos de entidades AutoCAD suportados: TEXT, MTEXT, POINT, ARC, CIRCLE, LINE, POLYLINE, ELLIPSE.
Propriedades da classe de recurso
As 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 recurso de sala pode ter texto que descreve o nome da sala e outra o pacote de desenho de exemplo de tipo de sala v2. Além disso:
- Somente as entidades TEXT e MTEXT são associadas ao recurso como uma propriedade. Todos os outros tipos de entidade são ignorados.
- O ponto de justificação TEXT e MTEXT deve 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 será selecionada aleatoriamente.
Nível das instalações
O arquivo DWG para cada nível deve conter uma camada para definir o perímetro desse nível. Por exemplo, se um recurso contém dois níveis, ele precisa ter dois arquivos DWG, cada um com uma camada que define o perímetro desse nível.
Não importa quantos desenhos de entidade estejam na camada de perímetro de nível, o conjunto de dados de recurso 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 POLYGON, POLYLINE (fechado), CIRCLE ou ELLIPSE (fechado).
- Os perímetros de nível podem sobrepor-se, mas são dissolvidos numa geometria.
- A característica de nível resultante deve ter pelo menos 4 metros quadrados.
- O recurso de nível resultante não deve ser superior a 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 Level resultante terá uma representação multipoligonal.
Você pode ver um exemplo da camada de perímetro Level como a GROS$
camada no pacote de desenho de amostra v2.
Requisitos de arquivo de manifesto
O pacote de desenho deve conter um arquivo de manifesto no nível raiz e o arquivo deve ser nomeado manifest.json. Ele descreve os arquivos DWG permitindo que o serviço de conversão analise seu conteúdo. Apenas os ficheiros identificados pelo manifesto são utilizados. Os arquivos que estão no pacote de desenho, 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 desenho. O nome do arquivo DWG deve corresponder exatamente ao nome do nível do recurso. 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 de arquivo não podem conter espaços, você pode usar um sublinhado para substituir quaisquer espaços.
Embora haja requisitos quando você usa os objetos de manifesto, nem todos os objetos são necessários. A tabela a seguir mostra os objetos necessários e opcionais para o serviço de conversão 2023-03-01-preview.
Nota
A menos que especificado de outra forma, todas as propriedades de cadeia de caracteres são limitadas a mil caracteres.
Arquivo JSON de manifesto
Propriedade | Type | Necessário | Descrição |
---|---|---|---|
version |
string | TRUE | Versão do esquema de manifesto. Atualmente versão "2.0" |
buildingLevels |
Objeto BuildingLevels | TRUE | Especifica os níveis do recurso e os arquivos que contêm o design dos níveis. |
featureClasses |
Matriz de objetos featureClass | TRUE | Lista de objetos de classe de recurso que definem como as camadas são lidas a partir do arquivo de desenho DWG. |
georeference |
Objeto de georreferência | FALSE | Contém informações geográficas numéricas para o desenho da instalação. |
facilityName |
string | FALSE | O nome da instalação. |
As próximas seções detalham os requisitos para cada objeto.
edifícioNíveis
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
dwgLayers |
Matriz de cadeias | TRUE | Nomes das camadas que definem o perfil exterior da instalação. |
levels |
Matriz de objetos de nível | TRUE | Um nível refere-se a um piso único na instalação definido em um arquivo DWG, a altura de cada nível e a ordem vertical em que aparecem. |
nível
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
levelName |
string | TRUE | O nome do nível. Por exemplo: Piso 1, Lobby, Estacionamento Azul ou Cave. |
ordinal |
integer | TRUE | Define a ordem vertical dos níveis. Todos os ordinal valores devem ser únicos dentro de uma instalação. |
filename |
string | TRUE | O caminho e o nome do arquivo DWG que representa o nível em um recurso. O caminho deve ser relativo à raiz do pacote de desenho. |
verticalExtent |
Número | FALSE | Altura vertical (espessura) do chão ao teto do nível em metros. |
featureClass
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
dwgLayers |
Matriz de cadeias | TRUE | O nome de cada camada que define a classe de recurso. Cada entidade na camada especificada é convertida em uma instância da classe de recurso. O dwgLayer nome do qual um recurso é convertido acaba como uma propriedade desse recurso. |
featureClassName |
String | TRUE | O nome da classe de recurso. Exemplos típicos incluem sala, espaço de trabalho ou parede. |
featureClassProperties |
Matriz de objetos featureClassProperty | FALSE | Especifica camadas de texto no arquivo DWG associado ao recurso como uma propriedade. Por exemplo, um rótulo que está dentro dos limites de um espaço, como um número de sala. |
featureClassProperty
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
dwgLayers |
Matriz de cadeias | TRUE | O nome de cada camada que define a propriedade de classe de recurso. Cada entidade na camada especificada é convertida em uma propriedade. Apenas 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 recurso, por exemplo, spaceName ou spaceUseType. |
georreferência
Propriedade | Type | Obrigatório | Description |
---|---|---|---|
lat |
Número | TRUE | Representação decimal de graus de latitude na origem do desenho da instalação. As coordenadas de origem devem estar em WGS84 Web Mercator (EPSG:3857). |
lon |
Número | TRUE | Representação decimal de graus de longitude na origem do desenho da instalação. As coordenadas de origem devem estar em WGS84 Web Mercator (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. |
Exemplo de manifesto do pacote de desenho
O JSON neste exemplo mostra o arquivo de manifesto para o pacote de desenho de exemplo. Vá para o pacote de desenho de exemplo v2 para o Azure Maps Creator 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óximos passos
Para obter um guia sobre como preparar seu pacote de desenho, consulte o guia do pacote de desenho.