Bu oldukça genel bir soru. Sadece GIS programcılarının araç kutusuna içe aktarıp çalıştırdığınız arkalı komut dosyalarını hızlandırmak için hangi ipuçlarını ve püf noktalarını kullandıklarını merak ediyorum.
Her gün çoğu ofisimde GIS verisi olmayan GIS verilerini kullanmalarına yardımcı olacak küçük senaryolar yazıyorum. ArcGIS 10.0 işleminin genel olarak 9.3.1'den daha yavaş olduğunu ve bazen bir python betiği çalıştırırken bazen daha yavaşladığını buldum.
Çalıştırılması 24 saatten fazla süren belirli bir senaryo örneğini listeleyeceğim. Bir rasterin alanını tampondaki her bir şekil için bir tampon içinde tablolayan bir döngüdür. Tampon yaklaşık 7000 şekle sahiptir. Bu kadar uzun sürmesi gerektiğine inanmıyorum. bir
while x <= layerRecords:
arcpy.SetProgressorLabel("Tabulating Row: " + str(x) + " of " + str(ELClayerRecords))
arcpy.SelectLayerByAttribute_management(Buff,"NEW_SELECTION", "Recno = " + str(x)) # Selecting the record
TabulateArea(Buff, "Recno", MatGRID, "VALUE", ScratchWS + "/tab" + str(z) +".dbf", nMatGRIDc) # Tabulate the area of the single row
arcpy.AddMessage (" - Row: " + str(x) + " completed")
x = x + 1
z = z + 1
Herhangi biri söylemeden önce, tüm tamponda tablo alanını çalıştırdım, ancak 1 kayıttan daha fazla çalışırsa hatalar üretiyor. Bu kusurlu bir araç, ama onu kullanmak zorundayım.
Her neyse, herhangi birinin bu betiği nasıl optimize edeceğiniz veya hızlandıracağı konusunda bir fikri varsa, bu en çok takdir edilecektir. Aksi takdirde, ArcGIS'te kullanıldığında python için hileleriniz oldu mu?