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


Создатель карт помещений

Примечание.

Выход на пенсию создателя Azure Maps

Служба Azure Maps Creator для внутренних помещений теперь устарела и будет выведена из эксплуатации 30.09.2025. Дополнительные сведения см. в разделе "Завершение жизни" создателя Azure Maps.

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

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

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

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

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

Создание Azure Maps Creator

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

Совет

Для получения информации о ценах см. раздел Создатель на странице Цены Azure Maps.

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

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

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

Внимание

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

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

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

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

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

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

Загрузите пакет чертежей

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

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

Внимание

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

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

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

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

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

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

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

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

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

Наборы тайлов

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

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

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

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

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

Примечание.

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

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

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

Стиль определяет внешний вид карты. Он определяет, какие данные необходимо нарисовать, порядок рисования и стиль данных при его рисовании. Стили Azure Maps Creator поддерживают стандарт 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"
},
Свойства слоя Описание
id Имя слоя
тип Тип отрисовки для этого слоя.
Ниже перечислены некоторые распространенные типы:
заливка: заполненный многоугольник с необязательным росчерком границы.
Линия: линия с обводкой.
Символ: значок или текстовая метка.
заливка-экструзия: экструдированный (3D) многоугольник.
Фильтр Отображаются только функции, соответствующие критериям фильтра.
макет Свойства раскладки для слоя.
minzoom Число от 0 до 24, представляющее минимальный уровень масштабирования для слоя. На уровнях масштабирования меньше минзоома слой скрыт.
краска Свойства краски по умолчанию для этого слоя.
исходный слой Источник предоставляет данные из источника векторной плитки, отображаемой на карте. Требуется для источников векторных плиток; запрещено для всех других типов источников, включая источники GeoJSON.

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

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

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

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

{
    "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"
                }
            ]
        }
    ]
}
Свойства объекта стиля Описание
Имя. Имя стиля.
имяДляОтображения Отображаемое имя стиля.
описание Определяемое пользователем описание стиля.
миниатюра Используется для указания эскиза, используемого в средство выбора стилей для этого стиля. Дополнительные сведения см. в элементе управления выбора стилей.
baseMap Используется для задания стиля базовой карты.
Слои Массив слоев состоит из одного или нескольких кортежей плиток и стилей, каждый из которых составляет слой карты. Это позволяет создать несколько зданий на карте, каждое здание, представленное в собственном наборе плиток.

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

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

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

Навигация создателя осуществляется при помощи Havok.

Навигационные маршруты

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

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

Структура

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

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

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

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

Дополнительные сведения см. в статье о службе навигации по внутренним картам.

Использование внутренних карт

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

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

Приложения могут использовать API "Render - Get Map Tile" для запроса наборов плиток. Затем наборы фрагментов можно интегрировать в элемент управления схемой или пакет 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 геозоны можно, например, определить, входит ли сотрудник в определенные зоны внутри помещения или выходит из них.

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

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

Примечание.

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

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

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

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