Kết hợp các lớp tạm thời vào các mô hình của bạn cũng làm giảm thời gian xử lý. Từ quan điểm xử lý, việc ghi vào bộ nhớ hiệu quả hơn nhiều so với ghi vào đĩa. Tương tự, bạn có thể ghi dữ liệu tạm thời vào không gian làm việc in_memory , cũng hiệu quả hơn về mặt tính toán.
Nhiều hoạt động trong ArcGIS yêu cầu các lớp tạm thời làm đầu vào. Ví dụ: Chọn lớp theo vị trí (Quản lý dữ liệu) là một công cụ rất mạnh mẽ và tiện dụng cho phép bạn chọn các tính năng của lớp chia sẻ mối quan hệ không gian với tính năng chọn khác. Bạn có thể chỉ định các mối quan hệ phức tạp, chẳng hạn như "Lawr_THEIR_CENTER_IN" hoặc "BOUNDARY_TOUCHES", v.v.
Biên tập:
Vì tò mò và để giải thích về sự khác biệt khi sử dụng các lớp tính năng và không gian làm việc in_memory, hãy xem xét bài kiểm tra tốc độ sau trong đó 39.000 điểm được đệm 100m:
import arcpy, time
from arcpy import env
# Set overwrite
arcpy.env.overwriteOutput = 1
# Parameters
input_features = r'C:\temp\39000points.shp'
output_features = r'C:\temp\temp.shp'
###########################
# Method 1 Buffer a feature class and write to disk
StartTime = time.clock()
arcpy.Buffer_analysis(input_features,output_features, "100 Feet")
EndTime = time.clock()
print "Method 1 finished in %s seconds" % (EndTime - StartTime)
time.sleep(5)
############################
# Method 2 Buffer a feature class and write in_memory
StartTime = time.clock()
arcpy.Buffer_analysis(input_features, "in_memory/temp", "100 Feet")
EndTime = time.clock()
print "Method 2 finished in %s seconds" % (EndTime - StartTime)
time.sleep(5)
############################
# Method 3 Make a feature layer, buffer then write to in_memory
StartTime = time.clock()
arcpy.MakeFeatureLayer_management(input_features, "out_layer")
arcpy.Buffer_analysis("out_layer", "in_memory/temp", "100 Feet")
EndTime = time.clock()
print "Method 3 finished in %s seconds" % (EndTime - StartTime)
time.sleep(5)
Chúng ta có thể thấy rằng các phương thức 2 & 3 tương đương và nhanh hơn khoảng 3 lần so với phương thức 1. Điều này cho thấy sức mạnh của việc sử dụng các lớp tính năng như các bước trung gian trong quy trình công việc lớn hơn.