Использование виртуальной рабочей области

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

Для записи в виртуальную рабочую область, используйте путь in_memory, как показано ниже.

Сохранение в виртуальную рабочую область

Если вы решили записывать выходные данные в виртуальную рабочую область, необходимо иметь в виду следующее.

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

Управление виртуальной рабочей областью

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

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

При использовании виртуальной рабочей области любые промежуточные данные должны удаляться как можно быстрее, чтобы освободить ресурсы памяти. Для удаления данных в виртуальной рабочей области можно использовать инструмент Удалить (Delete). Можно удалять отдельные таблицы или классы пространственных объектов, также, можно удалить всю виртуальную рабочую область вместе со всем содержимым.

Расположение виртуальной рабочей области

Местоположение таблицы, класса объектов или растра, записанных в виртуальную рабочую область, записывается в виде GPInMemoryWorkspace, как показано ниже.

Местоположение источников данных в виртуальной рабочей области

Длинная строка символов в фигурных скобках {} после GPInMemoryWorkspace является уникальным идентификатором, который назначается и используется ArcGIS.

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

Также можно использовать рабочую область in_memory в Python, как показано в следующем примере кода.

import arcpy

table = arcpy.CreateTable_management("in_memory", "table1")
arcpy.AddField_management(table, "Field1", "TEXT", field_length=20)

cursor = arcpy.da.InsertCursor(table, ["Field1"])
cursor.insertRow(["Hello World"])

Рабочая область in_memory годится только для инструментов геообработки; она не является виртуальной папкой общего назначения, в которую можно записывать любые данные.

Для удаления данных в виртуальной рабочей области из скрипта используйте инструмент Удалить (Delete). Можно удалять отдельные таблицы или классы пространственных объектов, также можно удалить всю виртуальную рабочую область вместе со всем содержимым.

9/11/2013