Поделиться через


Creator для схем помещений

В этой статье описываются основные понятия и средства, которые применяются к службе Creator в Azure Maps. Рекомендуется ознакомиться с этой статьей перед началом работы с API-интерфейсом и пакетом SDK службы Creator в Azure Maps.

Вы можете использовать "Создатель" для разработки приложений с возможностями построения схем на основе данных о схеме помещения. В этой статье описывается процесс передачи, преобразования, создания и использования данных схем. Как правило, рабочий процесс выполняется двумя разными пользователями с разными областями знаний и ответственности.

  • Составитель схем: отвечает за контроль и подготовку данных карт.
  • Пользователь данных карты создателя: использует данные карты клиента в приложениях.

На следующей схеме представлен весь рабочий процесс.

Рабочий процесс обработки данных схемы в Creator

Создание ресурса Creator в Azure Maps

Чтобы использовать службы Создателя, необходимо создать ресурс Azure Maps Creator и связать его с учетной записью Azure Maps с ценовой категорией 2-го поколения. Сведения о создании ресурса Azure Maps Creator см. в разделе Управление Создателем в Azure Maps.

Совет

Сведения о ценах см. в разделе Создатель статьи Цены Azure Maps.

Проверка подлинности Создателя

Creator наследует параметры службы контроля доступа Azure Maps (IAM). Все вызовы API для доступа к данным должны отправляться с соблюдением правил проверки подлинности и авторизации.

Данные об использовании Creator записываются в диаграммы использования и журнал действий Azure Maps. Дополнительные сведения см. в статье Управление аутентификацией в Azure Maps.

Внимание

Мы рекомендуем использовать следующее.

  • Идентификатор Microsoft Entra во всех решениях, созданных с учетной записью Azure Maps с помощью служб Creator. Дополнительные сведения об идентификаторе Microsoft Entra см. в разделе "Проверка подлинности Microsoft Entra".

  • Параметры управления доступом на основе ролей. Используя эти параметры, создатели карт могут действовать в качестве участника данных Azure Maps, а пользователи данных схем Создателя могут выступать в качестве читателей данных Azure Maps. Дополнительные сведения см. в статье Авторизация с помощью управления доступом на основе ролей.

Типы элементов данных Создателя

Службы Создателя создают, хранят и используют различные типы данных, которые описаны в следующих разделах. Элемент данных создателя может иметь следующие типы.

  • Преобразованные данные
  • Набор данных
  • Набор фрагментов
  • style
  • Конфигурация карты
  • Маршруты

Отправка пакета документа

Создатель собирает данные карты помещений, преобразовав загруженный пакет рисования. Пакет рисования представляет созданный или перемоделированный объект. Сведения о требованиях к пакету рисования см. в разделе "Требования к пакету рисования".

Выполните действия, описанные в статье "Создание реестра данных" для отправки пакета документа в учетную запись хранения Azure, а затем зарегистрируйте его в учетной записи Azure Maps.

Внимание

Обязательно запишите уникальное значение идентификатора (udid) вам потребуется. Требуется udid преобразовать загруженный пакет в данные карты помещений.

Преобразование пакета документа

Служба преобразования преобразует загруженный пакет рисования в данные карты помещений. Она также проверяет пакет. Обнаруженные при проверке проблемы делятся на два типа.

  • Ошибки. При обнаружении ошибок происходит сбой процесса преобразования. В случае ошибки служба преобразования предоставляет ссылку на автономное веб-приложение Визуализатор ошибок рисования в Azure Maps. Визуализатор ошибок рисования можно использовать для проверки предупреждений и ошибок в пакете рисования, сообщения о которых были получены в процессе преобразования. После устранения ошибок можно попытаться отправить и преобразовать пакет.
  • Предупреждения. При обнаружении предупреждений преобразование выполняется. Однако рекомендуется просмотреть все предупреждения и устранить указанные в них проблемы. Предупреждение означает, что часть преобразования была пропущена или исправлена автоматически. Если не разрешить проблему, ставшую причиной предупреждения, это может привести к ошибкам в последующих процессах. Дополнительные сведения см. в статье Ошибки и предупреждения для пакета рисунков.

Создание данных схем помещений

Создатель Azure Maps предоставляет следующие службы, поддерживающие создание схем.

Наборы данных

Набор данных — это коллекция признаков схемы помещения. Функции карты помещений представляют объекты, определенные в преобразованном пакете рисования. После создания набора данных со службой набора данных можно создать любое количество наборов плиток.

Разработчики могут в любое время использовать службу набора данных, чтобы добавлять или удалять средства в существующем наборе данных. Дополнительные сведения о том, как обновить существующий набор данных с помощью API-интерфейса, см. в разделе о вариантах добавления в статье о службе наборов данных. Пример обновления набора данных см. в разделе Обслуживание данных.

Наборы фрагментов

Набор фрагментов — это коллекция векторных данных, представляющих ряд однородных фрагментов сетки. Разработчики могут использовать службу набора фрагментов для создания набора фрагментов из набора данных.

Чтобы отразить различные этапы наполнения содержимым, можно создать несколько наборов фрагментов из одного набора данных. Например, можно создать один набор фрагментов с мебелью и оборудованием, а другой — без них. Вы можете также создать один набор фрагментов с самыми последними обновлениями данных, а другой — без них.

Помимо векторных данных, набор фрагментов предоставляет метаданные для оптимизации отрисовки схемы. Например, метаданные набора фрагментов содержат предусмотренный для него минимальный и максимальный масштаб. Метаданные также предоставляют ограничивающий прямоугольник, определяющий географический экстент набора фрагментов. Ограничивающий прямоугольник позволяет приложению программно задавать правильную центральную точку. Дополнительные сведения о метаданных набора плиток см. в разделе "Список наборов плиток".

После создания набора плиток он извлекается с помощью службы отрисовки.

Если набор фрагментов устарел и больше не используется, его можно удалить. Дополнительные сведения об удалении набора фрагментов см. в разделе Обслуживание данных.

Примечание.

Набор фрагментов не зависит от набора данных, из которого он создан. Если вы создаете набор фрагментов из набора данных, а затем обновляете этот набор данных, набор фрагментов не обновляется.

Чтобы отразить изменения в наборе данных, необходимо создать новый набор фрагментов. Аналогично, удаление набора фрагментов не влияет на набор данных.

Настраиваемая стилизация (предварительная версия)

Стиль определяет внешний вид карты. Он определяет, какие данные необходимо нарисовать, порядок рисования и стиль данных при его рисовании. Стили Создателя Azure Maps поддерживают стандарт MapLibre для слоев стилей и спрайтов.

При преобразовании пакета рисования после отправки его в учетную запись Azure Maps стили по умолчанию применяются к элементам карты. Настраиваемая служба стилей позволяет настроить внешний вид карты. Это можно сделать вручную, изменив стиль JSON и импортируя его в учетную запись Azure Maps с помощью стиля — создание HTTP-запроса, однако рекомендуемый подход — использовать редактор визуального стиля. Дополнительные сведения см. в статье "Создание пользовательских стилей для карт помещений".

Пример слоя в файле style.json:

{
	"id": "indoor_unit_gym_label",
	"type": "symbol",
	"filter": ["all", ["has","floor0"], ["any", ["==", "categoryName", "room.gym"]]],
	"layout": {
		"visibility": "none",
		"icon-image": "gym",
		"icon-size": {"stops": [[17.5, 0.7], [21, 1.1]]},
		"symbol-avoid-edges": true,
		"symbol-placement": "point",
		"text-anchor": "top",
		"text-field": "{name}",
		"text-font": ["SegoeFrutigerHelveticaMYingHei-Medium"],
		"text-keep-upright": true,
		"text-letter-spacing": 0.1,
		"text-offset": [0, 1.05],
		"text-size": {"stops": [[18, 5], [18.5, 6.5], [19, 8], [19.5, 9.5], [20, 11]]}
	},
	"metadata": {"microsoft.maps:layerGroup": "labels_indoor"},
	"minzoom": 17.5,
	"paint": {
		"text-color": "rgba(0, 0, 0, 1)",
		"text-halo-blur": 0.5,
		"text-halo-color": "rgba(255, 255, 255, 1)",
		"text-halo-width": 1,
		"text-opacity": ["step", ["zoom"], 0, 18, 1]
	},
	"source-layer": "Indoor unit"
},
Свойства слоя Description
id Имя слоя
type Тип отрисовки для этого слоя.
Ниже перечислены некоторые распространенные типы:
заливка: заполненный многоугольник с необязательным росчерком границы.
Строка: линия с росчерком.
Символ: значок или текстовая метка.
заливка-экструзия: экструдированный (3D) многоугольник.
Фильтр Отображаются только функции, соответствующие критериям фильтра.
мобильных приложений Свойства макета для слоя.
minzoom Число от 0 до 24, представляющее минимальный уровень масштабирования для слоя. На уровнях масштабирования меньше минзоома слой скрыт.
краска Свойства краски по умолчанию для этого слоя.
исходный слой Источник предоставляет данные из источника векторной плитки, отображаемой на карте. Требуется для источников векторных плиток; запрещено для всех других типов источников, включая источники GeoJSON.

Конфигурация карты

Конфигурация карты — это массив конфигураций. Каждая конфигурация состоит из базовой карты и одного или нескольких слоев, каждый слой, состоящий из кортежа набора стилей + .

Конфигурация карты используется при создании экземпляра диспетчера помещений объекта Map при разработке приложений в Azure Maps. Он ссылается на него mapConfigurationId с помощью или alias. Конфигурации карты неизменяемы. При внесении изменений в существующую конфигурацию карты создается новая конфигурация карты, что приводит к другой mapConfingurationId. В любой момент, когда вы создаете конфигурацию карты с помощью псевдонима, уже используемого существующей конфигурацией карты, она указывает на новую конфигурацию карты.

Ниже приведен пример конфигурации карты по умолчанию. В следующей таблице приведено описание каждого элемента файла:

{
    "version": 1.0,
    "description": "This is the default Azure Maps map configuration for facility ontology tilesets.",
    "defaultConfiguration": "indoor_light",
    "configurations": [
        {
            "name": "indoor_light",
            "displayName": "Indoor light",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_2022-01-01.png",
            "baseMap": "microsoft_light",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_2022-01-01"
                }
            ]
        },
        {
            "name": "indoor_dark",
            "displayName": "Indoor dark",
            "description": "A base style for Azure Maps.",
            "thumbnail": "indoor_dark_2022-01-01.png",
            "baseMap": "microsoft_dark",
            "layers": [
                {
                    "tilesetId": "fa37d225-924e-3f32-8441-6128d9e5519a",
                    "styleId": "microsoft-maps:indoor_dark_2022-01-01"
                }
            ]
        }
    ]
}
Свойства объекта style Description
Имя. Имя стиля.
displayName Отображаемое имя стиля.
описание Определяемое пользователем описание стиля.
thumbnail Используется для указания эскиза, используемого в средство выбора стилей для этого стиля. Дополнительные сведения см. в элементе управления выбора стилей.
baseMap Используется для задания стиля базовой карты.
Слои Массив слоев состоит из одного или нескольких кортежей плиток и кортежей стилей , каждый из которых является слоем карты. Это позволяет создать несколько зданий на карте, каждое здание, представленное в собственном наборе плиток.

Дополнительная информация:

Wayfinding (предварительная версия)

Служба Wayfinding позволяет предоставлять клиентам самый короткий путь между двумя точками в объекте. После импорта данных карты помещений и создания набора данных можно использовать его для создания набора маршрутов. Набор маршрутов предоставляет данные, необходимые для создания путей между двумя точками. Служба по определению пути учитывает такие вещи, как минимальная ширина открытий и может при необходимости исключить лифты или лестницы при переходе между уровнями в результате.

Создатель путь определяется Havok.

Пути, определенные пути

При успешном создании пути, определяемого пути, он находит самый короткий путь между двумя точками в указанном объекте. Каждый этаж в путешествии представлен как отдельная нога, как и любые лестницы или лифты, используемые для перемещения между этажами.

Например, первая часть пути может быть от источника до лифта на этом этаже. Следующая нога лифт, а затем окончательный этап — путь от лифта к месту назначения. Предполагаемое время путешествия также вычисляется и возвращается в формате JSON ответа HTTP.

Структура

Чтобы определить способ работы, данные объекта должны содержать структуру. Служба определения пути вычисляет кратчайший путь между двумя выбранными точками в объекте. Служба создает путь, перемещая вокруг структур, таких как стены и любые другие неизменяемые структуры.

Вертикальное проникновение

Если выбранный источник и назначение находятся на разных этажах, служба определения пути определяет, какие объекты вертикальнойpenetration , такие как лестница или лифты, доступны как возможные пути для навигации по вертикали между уровнями. По умолчанию используется параметр, который приводит к кратчайшему пути.

Служба Wayfinding включает лестницу или лифты в путь на основе значения свойства вертикального проникновения direction . Дополнительные сведения о свойстве направления см . в статье "Центр ontology". avoidFeatures minWidth Сведения о других факторах, влияющих на выбор пути между уровнями пола, см. в документации по API и свойствам.

Дополнительные сведения см. в статье о схеме определения схемы помещений.

Использование схем помещений

Отрисовка — API получения плитки карты

API Azure Maps [Render — Get Map Tile] был расширен для поддержки наборов плиток Creator.

Приложения могут использовать API отрисовки — получение плитки для запроса наборов плиток. Затем наборы фрагментов можно интегрировать в элемент управления схемой или пакет SDK. Пример элемента управления картой, использующего службу отрисовки, см. в модуле "Карты помещений".

API веб-службы компонентов

Для запроса наборов данных можно использовать службу веб-компонентов (WFS). WFS соответствует признакам API Открытого геопространственного консорциума. API WFS позволяет запрашивать функции в самом наборе данных. Например, WFS можно использовать для поиска всех конференц-залов среднего размера на конкретном этаже здания.

API псевдонима

Службы создателя, такие как преобразование, набор данных и набор плиток, возвращают идентификатор для каждого ресурса, созданного из API. API псевдонима позволяет назначить псевдоним для ссылки на идентификатор ресурса.

Модуль схем помещений

Веб-пакет SDK Azure Maps включает в себя модуль схем помещений. Этот модуль предлагает расширенные функциональные возможности для библиотеки Map Control в Azure Maps. Модуль схем помещений отрисовывает схемы помещений, созданные в Creator. Он интегрирует мини-приложения, такие как средство выбора пола, которое помогает пользователям визуализировать различные этажи.

Модуль Indoor Maps позволяет создавать веб-приложения, которые интегрируют данные схемы помещения в другие службы Azure Maps. В числе наиболее распространенных возможностей приложений — добавление в схемы помещений данных с других карт, например дорожных, фотографических, погодных и транзитных.

Модуль "Карты помещений" также поддерживает стили динамической карты для получения дополнительных сведений, см. статью "Улучшение карт помещений с помощью стиля карты в режиме реального времени".

Интеграция с Azure Maps

Начиная разрабатывать решения для схем помещений, можно определить способы интеграции имеющихся возможностей Azure Maps. Например, можно реализовать сценарии отслеживания активов или безопасности с помощью службы геозон с помощью карт помещений Creator. С помощью API геозоны можно, например, определить, когда сотрудник входит в конкретные области помещения или выходит из них. Дополнительные сведения о подключении Azure Maps к телеметрии Интернета вещей см. в руководстве по реализации пространственной аналитики Интернета вещей с помощью Azure Maps.

Обслуживание данных

Список, обновление и удаление API Azure Maps можно использовать для перечисления, обновления и удаления наборов данных и наборов плиток.

Примечание.

При каждом просмотре списка элементов и принятии решения об их удалении необходимо учитывать влияние этого действия на все зависимые API или приложения. Например, если удалить набор плиток, используемый приложением с помощью API [Render - Get Map Tile], приложение не сможет отобразить этот набор плиток.

Пример. Обновление набора данных

В следующем примере показано, как обновить набор данных, создать новый набор фрагментов и удалить старый.

  1. Выполните действия, описанные в разделе "Отправка пакета документа" и преобразование раздела пакета документа для отправки и преобразования нового пакета документа.
  2. Создайте набор данных, чтобы добавить преобразованные данные в существующий набор данных.
  3. Создание набора плиток позволяет создать новый набор плиток из обновленного набора данных.
  4. Сохраните новый tilesetId для следующего шага.
  5. Обновите идентификатор набора фрагментов в приложении, чтобы обеспечить визуализацию обновленных наборов данных кампуса. Если старый набор фрагментов больше не используется, его можно удалить.