Экспорт объектов поэтажных планов из PDF (Indoors)

Краткая информация

Создает полилинейные объекты из файла .pdf.

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

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

  • Этот инструмент принимает файл .pdf в качестве входных данных и создает полилинии на основе линейной графики PDF. Используйте этот инструмент как часть более общего рабочего процесса для извлечения поэтажных планов из файлов PDF.

  • Доработайте выходные полилинейные объекты с помощью инструментов редактирования, чтобы удалить лишние линии или вершины, закрыть разрывы или добавить детали, отсутствующие в PDF, и используйте результат как входные данные для инструмента Импорт объектов в набор данных Indoors.

  • Если входной файл .pdf содержит геопривязку, информация о геопривязке будет сохранена. Если входной файл .pdf не содержит геопривязки, выходные полилинии будут созданы в системе WGS 1984 Web Mercator с координатами 0,0.

  • Для многостраничных PDF используйте параметр Номер страницы, чтобы указать страницу для импорта.

  • Инструмент создает в выходных данных следующие поля:

    • PDF_NAME— Имя входного файла .pdf.
    • PDF_NUMBER— Значение параметра Номер страницы.
    • USE_TYPE— Инструмент определяет объекты дверей и заполняет для них соответствующее поле USE_TYPE. Эти объекты могут быть замкнуты при создании объектов помещений с помощью инструмента Импорт объектов в набор данных Indoors.
  • Значение параметра Выходные линейные объекты позволяет создать новый класс пространственных объектов или добавить новые полилинии в существующий слой. Если указан существующий слой, содержащий объекты с полями PDF_NAME и PDF_NUMBER, совпадающими со значениями входного PDF, эти полилинии будут удалены и заменены новыми.

  • Выходные линейные объекты создаются со z-значением, равным 0. Задайте z-значение для уровня при запуске инструмента Импорт объектов в набор данных Indoors.

  • Используйте параметр Экстент, чтобы ограничить область обработки и исключить элементы PDF, такие как легенды, текстовые блоки и выноски.

Параметры

ПодписьОписаниеТип данных
Входной PDF

Входной файл .pdf, из которого будут извлечены полилинейные объекты.

File
Выходные линейные объекты

Выходной слой полилинейных объектов, в который будут записаны извлеченные объекты.

Feature Layer
Номер страницы
(Дополнительный)

Номер страницы входного файла .pdf, который будет преобразован в полилинейные данные. Значение по умолчанию равно 1.

String
Экстент
(Дополнительный)

Эстент данных, который будет обработан.

  • Текущий экстент отображения Вид карты — Экстент будет основан на активной карте или сцене.
  • Нарисовать экстент Закончить прямым углом - экстент будет основан прямоугольнике, нарисованном на карте или сцене.
  • Экстент слоя Слой — Экстент будет основан на активном слое карты. Выберите доступный слой или воспользуйтесь опцией Экстент данных во всех слоях. У каждого слоя карте есть следующие опции:

    • Все объекты Выбрать все - экстент всех объектов.
    • Выбранные объекты Область из выбранных объектов - экстент выбранных объектов.
    • Отображаемые объекты Extent Indicator - экстент отображаемых объектов.

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

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

Extent

arcpy.indoors.ExtractFloorPlanFeaturesFromPDF(in_pdf, out_line_features, {page_number}, {extent})
ИмяОписаниеТип данных
in_pdf

Входной файл .pdf, из которого будут извлечены полилинейные объекты.

File
out_line_features

Выходной слой полилинейных объектов, в который будут записаны извлеченные объекты.

Feature Layer
page_number
(Дополнительный)

Номер страницы входного файла .pdf, который будет преобразован в полилинейные данные. Значение по умолчанию равно 1.

String
extent
(Дополнительный)

Эстент данных, который будет обработан.

  • MAXOF – Будет использоваться максимальный экстент всех входных данных.
  • MINOF – Будет использоваться минимальная область, которая является общей для всех входных данных.
  • DISPLAY — Экстент равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent — будет использоваться экстент указанного объекта.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent

Пример кода

ExtractFloorPlanFeaturesFromPDF, пример 1 (окно Python)

Пример скрипта окна Python для использования функции ExtractFloorPlanFeaturesFromPDF в режиме прямого запуска.

import arcpy
arcpy.indoors.ExtractFloorPlanFeaturesFromPDF(r"C:\Indoors\PDFs\Floor1-Blueprint.PDF",
                                       r"C:\IndoorsDB\FloorPlanData\Floor1_ExtractedLines", 
                                       "1", 
                                       "-107.0 38.0 -104.0 40.0")
ExtractFloorPlanFeaturesFromPDF, пример 2 (автономный скрипт)

В следующем автономном скрипте показано использование функции ExtractFloorPlanFeaturesFromPDF.

#Name: Indoors_ExtractFloorPlanFeaturesFromPDF_example2.py
#Description: Extracts polyline floor plan features from an input PDF

import arcpy

# Check Out Extensions
arcpy.CheckOutExtension('Indoors')

# Set Local Variables
in_pdf=r"C:\Indoors\PDFs\Floor1-Blueprint.PDF"
out_line_features=r"C:\IndoorsDB\FloorPlanData\Floor1_ExtractedLines"
page_number="1"
extent="-107.0 38.0 -104.0 40.0"

# Call the function
arcpy.gp.ExtractFloorPlanFeaturesFromPDF(
    in_pdf,
    out_line_features,
    page_number,
    extent
)

# Check In Extensions
arcpy.CheckInExtension('Indoors')

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

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Обязательно ArcGIS Indoors Pro или ArcGIS Indoors Maps.

Связанные разделы