Criar um conjunto de dados usando um pacote GeoJSON (versão prévia)
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
- Uma Conta do Azure Mapas
- Uma Chave de assinatura
- Um recurso do Criador do Azure Mapas
- Uma conta do Armazenamento do Azure
- Compreensão básica do Criador para mapas do interior
- Compreensão básica da Ontologia de Instalação 2.0
- Pacote zip que contém todos os arquivos GeoJSON necessários. Se você não tiver arquivos GeoJSON, baixe o exemplo de criação da Contoso.
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:
- 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}
- Copie o valor da chave
Operation-Location
no cabeçalho de resposta. A chaveOperation-Location
também é conhecida comostatus URL
e é necessária para verificar o status do processo de criação do conjunto de dados e obter adatasetId
, 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
:
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}
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.
- Todos os elementos
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 umunit
e umaverticalPenetration
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 umaverticalPenetration
ou umaunit
.