Skip to main content

Как работает инструмент Объединить эмбеддинги

Инструмент Объединить эмбеддинги позволяет агрегировать многомерные векторные данные (эмбеддинги) из исходного слоя в целевом полигональном слое. Этот процесс необходим для суммирования сложной информации и преодолевает разрыв между необработанными локализованными эмбеддингами и более крупными, значимыми географическими единицами, такими как административные границы, водосборные бассейны или пользовательские аналитические сетки.

Понятие эмбеддингов в ArcGIS

В современных рабочих процессах ИИ эмбеддинг — это плотное, многомерное представление объекта, которое передаёт семантический смысл этого объекта.

Подробнее о эмбеддингах

В ArcGIS Pro эмбеддинги хранятся в полях BLOB (больших двоичных объектов), как описывается в разделе Эмбеддинги в виде полей BLOB.

Для обеспечения производительности и совместимости с Python, C++ и JavaScript, инструмент ожидает, что эти большие двоичные объекты должны быть преобразованы в 32-разрядные двоичные массивы с плавающей запятой (float32). Когда инструмент запускается, он считывает эти двоичные буферы непосредственно в память в виде числовых массивов, выполняет математическую агрегацию и повторно сериализует их для хранения в выходном классе объектов.

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

эмбеддинги в виде таблицы

Как инструмент обрабатывает данные

Инструмент использует четырёхэтапный рабочий процесс для обеспечения пространственной и математической точности:

Пространственное наложение

Инструмент запускается путем определения точного пространственного перекрытия между значениями параметров Объекты-эмбеддинги (источник) и Целевые объекты (назначение). Это гарантирует, что только те части эмбеддингов, которые физически попадают в целевой полигон, вносят вклад в его итоговый вектор. Используя логику попарного пересечения, инструмент обрабатывает массивные наборы данных с высокой топологической сложностью более эффективно, чем стандартные методы наложения.

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

Логика агрегирования

Основой инструмента является его способность объединять несколько многомерных векторов в один репрезентативный вектор для целевой области. Метод расчёта смещается в зависимости от входной геометрии.

Точка в полигон (простое среднее)

Точка в полигон

При агрегировании точек в полигон инструмент предполагает, что каждая точка представляет собой дискретное наблюдение с равным весом. Итоговый вектор \(E_{\text{target}}\) - это среднее арифметическое всех векторов \((E_i)\), найденных в пределах границы. Это идеально подходит для агрегирования геотегированных эмбеддингов в социальных сетях или локализованных данных сенсоров.

\[ E_{target} = \frac{1}{n} \sum_{i=1}^{n} E_i \]
Примечание:

Если целевой полигон не содержит точек, поле Embedding в выходных данных останется пустым.

Полигон в полигон (средневзвешенное по площади)

Полигон в полигон

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

Инструмент вычисляет вес (Wi) для каждого перекрывающегося эмбеддинга путем деления Площади пересечения (\(Area_i\)) на Общую площадь перекрытия в пределах этой конкретной цели.

\[ E_{target} = \sum_{i=1}^{n} E_i \cdot \left(\frac{Area_i}{\sum Area}\right) \]

Векторные вычисления

Используя библиотеку NumPy, инструмент преобразует двоичные объекты BLOB в массивы, выполняет взвешенную математическую обработку, а затем повторно сериализует результаты обратно в двоичный формат для хранения.

Создание выходных данных

Итоговые результаты записываются в новый класс пространственных объектов. Создаётся новое поле BLOB — по умолчанию с именем Embedding. Эти выходные данные оптимизированы для последующих инструментов GeoAI, например, Поиск сходства.

Использование

В этом разделе приведены практические советы и ограничения, обеспечивающие успешную работу инструмента.

Подготовка данных

Инструмент специально ищет поле с именем Embedding. Убедитесь, что у ваших исходных объектов точно такое же имя поля, и что для типа данных задано значение BLOB.

Все эмбеддинги во входных данных должны иметь одинаковую длину (например, все должны быть 128-мерными или 512-мерными). Если инструмент сталкивается с эмбеддингами разной длины, он пропускает эти записи и выдает предупреждение.

Ограничения рабочей области

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

Для этого инструмента не рекомендуется использовать рабочие области memory или in_memory из-за потенциально высокого потребления оперативной памяти при больших наборах данных эмбеддингов.

Параметры среды

Для расчета средневзвешенного значения по площади настоятельно рекомендуется использовать систему координат проекции для параметра среды Выходная система координат. Использование географической системы координат (WGS84) может привести к снижению производительности и менее точному соотношению площадей в определенных регионах.

Решение проблем

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