Creare un set di dati usando un pacchetto GeoJson (anteprima)
Nota
Ritiro di Creator di Mappe di Azure
Il servizio per la creazione di piante dell'interno Creator di Mappe di Azure è ora deprecato e verrà ritirato il 30/09/25. Per altre informazioni, vedere Annuncio di fine vita di Creator di Mappe di Azure.
Creator di Mappe di Azure consente agli utenti di importare i dati della mappa di interni in formato GeoJSON con Facility Ontology 2.0, che può quindi essere usato per creare un set di dati.
Prerequisiti
- Un account Mappe di Azure
- Chiave di sottoscrizione
- Risorsa Creator di Mappe di Azure
- Un account di archiviazione di Azure
- Conoscenza di base di Creator pier le mappe di interni
- Conoscenza di base di Facility Ontology 2.0
- Pacchetto ZIP contenente tutti i file GeoJSON necessari. Se non si dispone di file GeoJSON, è possibile scaricare l'esempio di compilazione di Contoso.
Importante
- Questo articolo usa l'URL geografico
us.atlas.microsoft.com
. Se il servizio Creator non è stato creato negli Stati Uniti, è necessario usare un URL geografico diverso. Per altre informazioni, vedere Accesso ai servizi Creator. - Negli esempi di URL presenti in questo articolo sostituire
{Your-Azure-Maps-Subscription-key}
con la chiave di sottoscrizione di Mappe di Azure.
Creare un set di dati con il pacchetto GeoJSON
Per altre informazioni sul pacchetto GeoJSON, vedere la sezione Requisiti del pacchetto ZIP Geojson.
Caricare il pacchetto GeoJSON
Seguire i passaggi descritti nell'articolo Come creare il Registro di sistema dei dati per caricare il pacchetto GeoJSON nell'account di archiviazione di Azure e registrarlo nell'account di Mappe di Azure.
Importante
Assicurarsi di prendere nota del valore dell'identificatore univoco (udid
), se ne avrà bisogno in seguito. udid
è il modo in cui si fa riferimento al pacchetto GeoJSON caricato nell'account di archiviazione di Azure dal codice sorgente e dalle richieste HTTP.
Creare un set di dati
Un set di dati è una raccolta di funzionalità della pianta come edifici, livelli e stanze. Per creare un set di dati da GeoJSON, usare la nuova API Creazione di set di dati. L'API Creazione del set di dati accetta l'elemento udid
ottenuto nella sezione precedente e restituisce il datasetId
del nuovo set di dati.
Importante
Questa operazione è differente dalla versione precedente dell'API Creazione set di dati in quanto non richiede un oggetto conversionId
da un pacchetto di disegni convertito.
Per creare un set di dati:
- Immettere l'URL seguente per il servizio set di dati. La richiesta dovrebbe essere simile all'URL seguente (sostituire {udid} con l'elemento
udid
ottenuto nella sezione Caricare il pacchetto GeoJSON):
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&udid={udid}&subscription-key={Your-Azure-Maps-Subscription-key}
- Copiare il valore della chiave
Operation-Location
nell'intestazione della risposta. La chiaveOperation-Location
è nota anche comestatus URL
ed è necessaria per controllare lo stato del processo di creazione del set di dati e ottenere ildatasetId
, necessario per creare un set di tessere.
Controllare lo stato di creazione del set di dati
Per controllare lo stato del processo di creazione del set di dati e recuperare datasetId
:
Immettere l'URL di stato copiato in Creare un set di dati. La richiesta deve essere simile all'URL seguente:
https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2023-03-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
Nell'intestazione della risposta HTTP copiare il valore dell'identificatore univoco contenuto nella chiave
Resource-Location
.https://us.atlas.microsoft.com/datasets/**c9c15957-646c-13f2-611a-1ea7adc75174**?api-version=2023-03-01-preview
Aggiungere dati a un set di dati esistente
I dati possono essere aggiunti a un set di dati esistente fornendo il parametro datasetId
all'API Creazione del set di dati insieme all'identificatore univoco dei dati da aggiungere. L'identificatore univoco può essere udid
o conversionId
. In questo modo viene creato un nuovo set di dati costituito dai dati (strutture) sia dal set di dati esistente che dai nuovi dati importati. Dopo aver creato correttamente il nuovo set di dati, è possibile eliminare il set di dati precedente.
Un aspetto da considerare quando si aggiunge a un set di dati esistente è il modo in cui vengono creati gli ID funzionalità. Se un set di dati viene creato da un pacchetto di disegni convertito, gli ID funzionalità vengono generati automaticamente. Quando un set di dati viene creato da un pacchetto GeoJSON, gli ID funzionalità devono essere specificati nel file GeoJSON. Quando si aggiunge a un set di dati esistente, il set di dati originale determina la modalità di creazione degli ID funzionalità. Se il set di dati originale è stato creato usando udid
, usa gli ID di GeoJSON e continuerà a farlo con tutti i pacchetti GeoJSON aggiunti a tale set di dati in futuro. Se il set di dati è stato creato usando conversionId
, gli ID verranno generati internamente e continueranno a essere generati internamente con tutti i pacchetti GeoJSON aggiunti a tale set di dati in futuro.
Aggiungere al set di dati creato da un'origine GeoJSON
Se il set di dati originale è stato creato da un'origine GoeJSON e si desidera aggiungere un'altra funzionalità creata da un pacchetto di disegni, è possibile aggiungerla al set di dati esistente facendo riferimento a conversionId
, come illustrato da questa richiesta HTTP POST:
https://us.atlas.microsoft.com/datasets?api-version=2023-03-01-preview&conversionId={conversionId}&outputOntology=facility-2.0&datasetId={datasetId}
Identifier | Descrizione |
---|---|
conversionId | ID restituito durante la conversione del pacchetto di disegni. |
datasetId | ID del set di dati restituito durante la creazione del set di dati originale da un pacchetto GeoJSON. |
Requisiti del pacchetto ZIP Geojson
Il pacchetto ZIP GeoJSON è costituito da uno o più file GeoJSON conformi a RFC 7946, uno per ogni classe di funzionalità, tutti nella directory radice (le sottodirectory non sono supportate), compressi con compressione ZIP standard e denominati usando l'estensione .ZIP
.
Ogni file di classe di funzionalità deve corrispondere alla relativa definizione in Facility Ontology 2.0 e ogni funzionalità deve avere un identificatore univoco globale.
Gli ID funzionalità possono contenere solo caratteri alfanumerici (a-z, A-Z, 0-9), trattino (-), punto (.) e carattere di sottolineatura (_).
Suggerimento
Se si desidera essere certi di avere un identificatore univoco globale (GUID), è consigliabile crearlo eseguendo uno strumento di generazione GUID, ad esempio il programma della riga di comando Guidgen.exe (disponibile con Visual Studio). Guidgen.exe non produce mai lo stesso numero due volte, indipendentemente dal numero di esecuzioni o dal numero di computer differenti in cui viene eseguito.
Convalida di Facility Ontology 2.0 nel set di dati
Facility Ontology 2.0 definisce il modo in cui Mappe di Azure Creator archivia internamente i dati delle strutture, suddivisi in classi di funzionalità, in un set di dati Creator. Quando si importa un pacchetto GeoJSON, ogni volta che viene aggiunta o modificata una funzionalità, viene eseguita una serie di convalide. Sono inclusi i controlli di integrità referenziale e la geometria e le convalide degli attributi. Queste convalide sono descritte in modo più dettagliato nell'elenco seguente.
- Il numero massimo di funzionalità che è possibile importare in un set di dati alla volta è 150.000.
- L'area della struttura può essere compresa tra 4 e 4.000 km quadrati.
- L'elemento di primo livello è struttura, che definisce ogni edificio nel file facility.geojson.
- Ogni struttura ha uno o più livelli, definiti nel file levels.goejson.
- Ogni livello deve trovarsi all'interno della struttura.
- Ogni livello contiene unità, strutture, verticalPenetrations
e aperture. Tutti gli elementi definiti nel livello devono essere completamente contenuti nella geometria Level.
unit
può essere costituito da un array di oggetti come corridoi, uffici e cortili, che sono definiti da elementi area, linea o punto. Le unità sono definite nel file unit.goejson.- Tutti gli elementi
unit
devono essere completamente contenuti all'interno del loro livello e si intersecano con i loro figli.
- Tutti gli elementi
structure
definisce aree fisiche e non sovrapposte che non possono essere attraversate, ad esempio una parete. Le strutture sono definite nel file structure.goejson.verticalPenetration
rappresenta un metodo per spostarsi verticalmente tra livelli, ad esempio scale e ascensori e sono definiti nel file verticalPenetration.geojson.- VerticalPenetrations non è in grado di intersecare con altre verticalPenetrations sullo stesso livello.
openings
definiscono limiti attraversabili tra due unità ounit
everticalPenetration
e sono definiti nel file opening.geojson.- Le aperture non possono intersecarsi con altre aperture sullo stesso livello.
- Ogni
opening
deve essere associato ad almeno unverticalPenetration
ounit
.