Aşağıdaki (ızgara) kesişen "proje" katmanı (vurgulamak) seçmek ve daha sonra seçilen "Grid" bir kayıt çekmek istiyorum. Katmanı kaydetmeme gerek yok.
Not: Komut dosyasını Python Konsolu penceresindeki ArcMap içinden çalıştırma.
import arcpy
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("project","project_lyr")
# Then add a selection to the layer based on location to features in another feature class
arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid")
Bu kod çalışır ve hata verilmez, ancak herhangi bir özellik seçmez (vurgulamaz). Neden herhangi bir fikir? Ayrıca gerçekten yavaş çalışır.
Temelde bunu yapmaya çalışıyorum:
Bu neredeyse hızlı çalışır, ancak aynı şeyi python kullanarak yapmak istiyorum. Sadece seçilen özelliğin tablosundan bir değere ihtiyacım var, katmanın bir kopyasına ihtiyacım yok.
Çözeltinin bir kısmı kullanmak olabilir in hafıza alanını bir
Bellek içi çalışma alanına veri yazmak genellikle diğer biçimlere yazmaktan çok daha hızlıdır ...
Bellek içi çalışma alanının nasıl uygulanacağından emin değilim
arcpy.MakeFeatureLayer()
hatta ihtiyacınız yoktur project
. Sadece yap arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
.
import arcpy
Komutun çalıştırılması biraz zaman aldığından komut dosyasını ArcMap dışından çalıştırdığınızdan şüpheleniyorum .