Запись выходных данных геообработки в память компьютера

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

Рабочие области в памяти

В ArcGIS есть две рабочих области в памяти компьютера, в которые можно записывать выходные данные геообработки.

Внимание:
  • Рабочие области в памяти не поддерживают такие элементы баз геоданных, как наборы данных, представления, топологию, геометрические сети и наборы сетевых данных.
  • В рабочих областях в памяти нельзя создавать папки.
  • Поскольку рабочие области хранятся в физической памяти вашей системы, то есть в оперативной памяти (RAM), этой памяти может не хватить, если вы запишете в эту рабочую область слишком большие наборы данных. Это может негативно повлиять на производительность обработки данных.

память

memory - рабочая область в памяти, разработанная для ArcGIS Pro и в настоящий момент поддерживающая выходные классы пространственных объектов, таблицы и наборы растровых данных.

Для записи в рабочую область memory укажите путь к выходному набору данных, начав с memory\ без расширения файла - например, memory\tempOutput.

Наборы данных memory можно добавлять на карту в ArcGIS Pro.

in_memory

Прежние версии:

in_memory - новая рабочая область в памяти, разработанная для ArcMap и в настоящий момент поддерживающая выходные классы пространственных объектов, таблицы и наборы растровых данных.

Для записи в рабочую область in_memory укажите путь к выходному набору данных, начав с in_memory\ без расширения файла - например, in_memory\tempOutput.

Примечание:

Наборы данных in_memory нельзя показать на карте ArcGIS Pro. Если вы запустите инструмент геообработки с панели Геообработка или из окна Python и запишете выходной набор данных в in_memory, то после обработки выходной набор данных будет скопирован в базу геоданных проекта и этот набор данных будет добавлен на карту. Запись в базу геоданных проекта не выполняется, если наборы данных in_memory являются временными и не добавляются на карту.

Чтобы показать данные из памяти на карте ArcGIS Pro, вы можете использовать рабочую область memory.

В отличие от рабочей области memory, рабочая область in_memory не поддерживает подтипы или домены.

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

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

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

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

Вы можете использовать рабочую область memory, как показано в следующем примере кода:

import arcpy

# Set the geoprocessing workspace
arcpy.env.workspace = r"C:\Data\Habitat.gdb"

# Buffer a Roads layer, writing output to memory 
arcpy.Buffer_analysis("Roads", r"memory\Buffers", 1000)

# Erase the buffers from a Vegetation layer
arcpy.Erase_analysis("Vegetation", r"memory\Buffers", r"memory\Erased")

# Dissolve the memory output of Erase to make a final output in the gdb workspace
arcpy.Dissolve_management(r"memory\Erased", "FinalOutput")