Compartilhar via


Criar um conjunto de dados usando um pacote GeoJSON (versão prévia)

Observação

Desativação do Criador do Azure Mapas

O serviço de mapa do interior do Criador do Azure Mapas foi preterido e será desativado em 30/09/25. Para obter mais informações, confira Comunicado de fim de vida útil do Criador do Azure Mapas.

O Criador do Azure Mapas permite que os usuários importem dados de mapa do interior no formato GeoJSON com a Ontologia de Instalação 2.0, que pode ser usada para criar um conjunto de dados.

Pré-requisitos

Importante

  • Este artigo usa a URL geográfica us.atlas.microsoft.com. Se seu serviço Criador não tiver sido criado no Estados Unidos, use uma URL geográfica diferente. Para saber mais, confira Acesso aos serviços de Criador.
  • Nos exemplos de URL neste artigo, você precisará substituir {Your-Azure-Maps-Subscription-key} pela chave de assinatura do Azure Mapas.

Criar um conjunto de dados usando o pacote GeoJSON

Para obter mais informações sobre o pacote GeoJSON, confira a seção Requisitos do pacote zip do GeoJSON.

Carregar o pacote GeoJSON

Siga as etapas descritas no artigo Como criar um registro de dados para carregar o pacote GeoJSON na sua conta de armazenamento do Azure e, em seguida, registre-o na sua conta do Azure Mapas.

Importante

Certifique-se de anotar o valor do identificador exclusivo (udid). Ele será necessário. O udid é a forma de referenciar o pacote GeoJSON que você carregou na sua conta de armazenamento do Microsoft Azure a partir do seu código-fonte e solicitações HTTP.

Criar um conjunto de dados

Um conjunto de dados é uma coleção de recursos de mapa, como edifícios, níveis e cômodos. Para criar um conjunto de dados com base no GeoJSON, use a API de Criação de Conjunto de Dados. A API de Criação do Conjunto de Dados usa o udid obtido na seção anterior e retorna a datasetId do novo conjunto de dados.

Importante

Isso é diferente da versão anterior da API de Criação de Conjunto de Dados, pois ela não exige uma conversionId de um pacote de desenho convertido.

Para criar um conjunto de dados:

  1. Insira a URL a seguir para o serviço do conjunto de dados. A solicitação será parecida com a seguinte URL (substitua {udid} pelo udid obtido na seção Carregar o pacote GeoJSON):
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&udid={udid}&subscription-key={Your-Azure-Maps-Subscription-key}
  1. Copie o valor da chave Operation-Location no cabeçalho de resposta. A chave Operation-Location também é conhecida como status URL e é necessária para verificar o status do processo de criação do conjunto de dados e obter a datasetId, que é necessária para criar um conjunto de peças.

Verificar o status de criação do conjunto de dados

Para verificar o status do processo de criação de conjunto de dados e recuperar datasetId:

  1. Insira a URL de status copiada em Criar um conjunto de dados. A solicitação deve ser semelhante à seguinte URL:

    https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
    
  2. No cabeçalho da resposta HTTP, copie o valor do identificador exclusivo contido na chave Resource-Location.

    https://us.atlas.microsoft.com/datasets/**c9c15957-646c-13f2-611a-1ea7adc75174**?api-version=2023-03-01-preview

Adicionar dados a um conjunto de dados existente

Os dados podem ser adicionados a um conjunto de dados existente fornecendo o parâmetro datasetId à API de Criação do Conjunto de Dados juntamente com o identificador exclusivo dos dados que você deseja adicionar. O identificador exclusivo pode ser um udid ou uma conversionId. Isso cria um conjunto de dados que consiste nos dados (instalações) do conjunto de dados existente e dos novos dados que estão sendo importados. Depois que o conjunto de dados for criado com sucesso, o conjunto de dados antigo poderá ser excluído.

Um aspecto a ser considerado na adição a um conjunto de dados existente é como as IDs de recurso são criadas. Se um conjunto de dados for criado com base em um pacote de desenho convertido, as IDs de recurso serão geradas automaticamente. Quando um conjunto de dados é criado com base em um pacote GeoJSON, as IDs de recurso precisam ser fornecidas no arquivo GeoJSON. Durante o acréscimo a um conjunto de dados existente, o conjunto de dados original orienta a maneira como as IDs de recurso são criadas. Se o conjunto de dados original tiver sido criado com um udid, ele usará as IDs do GeoJSON e continuará fazendo isso com todos os pacotes GeoJSON acrescentados a esse conjunto de dados no futuro. Se o conjunto de dados tiver sido criado com uma conversionId, as IDs serão geradas internamente e continuarão sendo geradas internamente com todos os pacotes GeoJSON acrescentados a esse conjunto de dados no futuro.

Adição ao conjunto de dados criado com base em uma fonte GeoJSON

Se o conjunto de dados original foi criado com base em uma fonte GeoJSON e você deseja adicionar outra instalação criada com base em um pacote de desenho, acrescente-a ao conjunto de dados existente referenciando a conversionId, conforme demonstrado por esta solicitação HTTP POST:

https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&conversionId={conversionId}&outputOntology=facility-2.0&datasetId={datasetId}
Identificador Descrição
conversionId A ID retornada ao converter o pacote de desenho.
datasetId A ID do conjunto de dados retornado ao criar o conjunto de dados original a partir de um pacote GeoJSON.

Requisitos do pacote zip GeoJSON

O pacote zip GeoJSON consiste em um ou mais arquivos GeoJSON compatíveis com RFC 7946, um para cada classe de recurso, todos no diretório raiz (não há suporte para subdiretórios), compactados com a compactação zip padrão e nomeados com a extensão .ZIP.

Cada arquivo de classe de recurso precisa corresponder à respectiva definição na ontologia de instalação 2.0, e cada recurso precisa ter um identificador global exclusivo.

As IDs de recurso só podem conter caracteres alfanuméricos (a-z, A-Z, 0-9), hífen (-), ponto (.) e sublinhado (_).

Dica

Caso você deseje ter certeza de que tem um GUID (identificador global exclusivo), considere criá-lo executando uma ferramenta de geração de GUID, como o programa de linha de comando Guidgen.exe (disponível no Visual Studio). O Guidgen.exe nunca produz o mesmo número duas vezes, independentemente de quantas vezes ele é executado ou em quantos computadores diferentes ele é executado.

Validações da Ontologia de instalação 2.0 no conjunto de dados

A Ontologia de Instalação 2.0 define como o Criador do Azure Mapas armazena internamente os dados da instalação, divididos em classes de recursos, em um conjunto de dados do Criador. Durante a importação de um pacote GeoJSON, sempre que um recurso é adicionado ou modificado, uma série de validações é executada. Isso inclui verificações de integridade referencial e validações de geometria e atributo. Essas validações são descritas com mais detalhes na lista a seguir.

  • O número máximo de recursos que podem ser importados para um conjunto de dados por vez é de 150 mil.
  • A área de instalação pode ter entre 4 e 4.000 Km².
  • O elemento de nível superior é facility, que define cada edifício no arquivo facility.geojson.
  • Cada instalação tem um ou mais níveis, que são definidos no arquivo levels.geojson.
    • Cada nível precisa estar dentro da instalação.
  • Cada nível contém unidades, estruturas, verticalPenetrations e aberturas. Todos itens definidos no nível devem ser totalmente contidos na geometria do Nível.
    • unit pode consistir em uma matriz de itens, como corredores, escritórios e pátios, que são definidos por elementos de área, linha ou ponto. As unidades são definidas no arquivo unit.geojson.
      • Todos os elementos unit precisam estar totalmente contidos no respectivo nível e se interseccionar com os filhos.
    • structure define áreas físicas e não sobrepostas que não podem ser percorridas, como uma parede. As estruturas são definidas no arquivo structure.geojson.
    • verticalPenetration representa um método de navegação vertical entre os níveis, como escadas e elevadores, e eles são definidos no arquivo verticalPenetration.geojson.
      • As verticalPenetrations não podem se interseccionar com outras verticalPenetrations no mesmo nível.
    • openings definem os limites percorridos entre duas unidades ou um unit e uma verticalPenetration e são definidos no arquivo opening.geojson.
      • As aberturas não podem se interseccionar com outras aberturas no mesmo nível.
      • Cada opening precisa ser associada a pelo menos uma verticalPenetration ou uma unit.