Criar um conjunto de dados usando um pacote GeoJson (Visualização)
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.
O Azure Maps Creator permite que os usuários importem seus dados de mapa interno no formato GeoJSON com o Facility Ontology 2.0, que pode ser usado para criar um conjunto de dados.
Pré-requisitos
- Uma conta do Azure Maps
- Uma chave de subscrição
- Um recurso do Azure Maps Creator
- Uma Conta do Storage do Azure
- Compreensão básica do Creator para mapas internos
- Compreensão básica de Facility Ontology 2.0
- Pacote Zip contendo todos os arquivos GeoJSON necessários. Se você não tiver arquivos GeoJSON, poderá baixar o exemplo de construção da Contoso.
Importante
- Este artigo usa o
us.atlas.microsoft.com
URL geográfico. Se o serviço Creator não tiver sido criado nos Estados Unidos, você deverá usar um URL geográfico diferente. Para obter mais informações, consulte Acesso aos serviços do Criador. - Nos exemplos de URL neste artigo, você precisará substituir
{Your-Azure-Maps-Subscription-key}
por sua chave de assinatura do Azure Maps.
Criar conjunto de dados usando o pacote GeoJSON
Para obter mais informações sobre o pacote GeoJSON, consulte a seção Requisitos do pacote zip Geojson.
Carregue o pacote GeoJSON
Siga as etapas descritas no artigo Como criar registro de dados para carregar o pacote GeoJSON em sua conta de armazenamento do Azure e registrá-lo em sua conta do Azure Maps.
Importante
Certifique-se de anotar o valor do identificador exclusivo (udid
), você precisará dele. É udid
assim que você faz referência ao pacote GeoJSON que carregou em sua conta de armazenamento do Azure a partir de 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 salas. Para criar um conjunto de dados a partir do seu GeoJSON, use a nova API de criação de conjunto de dados. A API de Criação de Conjunto de Dados pega o udid
que você obteve na seção anterior e retorna o datasetId
do novo conjunto de dados.
Importante
Isso é diferente da versão anterior da API de criação de conjunto de dados, pois não requer um conversionId
de um pacote de desenho convertido.
Para criar um conjunto de dados:
- Insira a seguinte URL para o serviço de conjunto de dados. A solicitação deve se parecer com a seguinte URL (substitua
udid
{udid} pelo 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
Operation-Location
valor da chave no cabeçalho da resposta. AOperation-Location
chave também é conhecida como estatus URL
é necessária para verificar o status do processo de criação do conjunto de dados e para obter odatasetId
, que é necessário para criar um conjunto de blocos.
Verificar o estado de criação do conjunto de dados
Para verificar o status do processo de criação do conjunto de dados e recuperar o datasetId
:
Insira o URL de status copiado em Criar um conjunto de dados. A solicitação deve se parecer com a 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
Resource-Location
chave.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 datasetId
parâmetro para a API de Criação de Conjunto de Dados juntamente com o identificador exclusivo dos dados que você deseja adicionar. O identificador exclusivo pode ser um udid
ou conversionId
. Isso cria um novo conjunto de dados que consiste nos dados (recursos) do conjunto de dados existente e dos novos dados que estão sendo importados. Uma vez que o novo conjunto de dados tenha sido criado com êxito, o conjunto de dados antigo pode ser excluído.
Uma coisa a considerar ao adicionar a um conjunto de dados existente é como as IDs de recurso são criadas. Se um conjunto de dados for criado a partir de um pacote de desenho convertido, as IDs de recurso serão geradas automaticamente. Quando um conjunto de dados é criado a partir de um pacote GeoJSON, IDs de recurso devem ser fornecidos no arquivo GeoJSON. Ao anexar a um conjunto de dados existente, o conjunto de dados original determina a maneira como os IDs de recurso são criados. Se o conjunto de dados original foi criado usando um udid
, ele usa as IDs do GeoJSON e continuará a fazê-lo com todos os pacotes GeoJSON anexados a esse conjunto de dados no futuro. Se o conjunto de dados foi criado usando um conversionId
, IDs serão gerados internamente e continuarão a ser gerados internamente com todos os pacotes GeoJSON anexados a esse conjunto de dados no futuro.
Adicionar ao conjunto de dados criado a partir de uma fonte GeoJSON
Se o conjunto de dados original foi criado a partir de uma fonte GoeJSON e você deseja adicionar outro recurso criado a partir de um pacote de desenho, você pode anexá-lo ao conjunto de dados existente fazendo referência ao seu 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 | Description |
---|---|
conversionId | O ID retornado ao converter seu pacote de desenho. |
datasetId | A ID do conjunto de dados retornada 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 (subdiretórios não são suportados), compactados com compactação Zip padrão e nomeados usando a .ZIP
extensão.
Cada arquivo de classe de recurso deve corresponder à sua definição no Facility Ontology 2.0 e cada recurso deve ter um identificador global exclusivo.
Os IDs de recurso só podem conter caracteres alfanuméricos (a-z, A-Z, 0-9), hífen (-), ponto (.) e sublinhado (_).
Gorjeta
Se você quiser ter certeza de que tem um identificador global exclusivo (GUID), considere criá-lo executando uma ferramenta de geração de GUID, como o programa de linha de comando Guidgen.exe (Disponível com o Visual Studio). Guidgen.exe nunca produz o mesmo número duas vezes, não importa quantas vezes seja executado ou em quantas máquinas diferentes ele funcione.
Validações do Facility ontology 2.0 no Dataset
O Facility Ontology 2.0 define como o Azure Maps Creator armazena internamente os dados do recurso, divididos em classes de recursos, em um conjunto de dados do Creator. Ao importar 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 atributos. 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 é 150.000.
- A área da instalação pode ser entre 4 e 4.000 Sq Km.
- O elemento de nível superior é facility, que define cada edifício no arquivo facility.geojson.
- Cada recurso tem um ou mais níveis, que são definidos no arquivo levels.goejson.
- Cada nível deve estar dentro da instalação.
- Cada nível contém unidades, estruturas, penetrações verticais e aberturas. Todos os itens definidos no nível devem estar totalmente contidos dentro da geometria do nível.
unit
Pode consistir em uma série 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.goejson.- Todos os
unit
elementos devem estar totalmente contidos no seu nível e cruzar-se com os seus filhos.
- Todos os
structure
Define áreas físicas não sobrepostas que não podem ser navegadas, como uma parede. As estruturas são definidas no arquivo structure.goejson.verticalPenetration
representa um método de navegação vertical entre níveis, como escadas e elevadores e são definidos no arquivo verticalPenetration.geojson.- verticalPenetrations não pode cruzar-se com outras verticalPenetrations no mesmo nível.
openings
definir limites transponíveis entre duas unidades, ou aunit
e everticalPenetration
são definidos no arquivo opening.geojson.- As aberturas não podem cruzar-se com outras aberturas no mesmo nível.
- Cada um
opening
deve estar associado a pelo menos umverticalPenetration
ouunit
.