이것은 일반적인 질문입니다. GIS 프로그래머가 툴박스로 가져 와서 실행하는 이상한 스크립트의 속도를 높이기 위해 사용한 팁과 요령이 궁금합니다.
나는 사무실에서 GIS 이외의 사용자가 GIS 데이터를 처리하도록 돕기 위해 거의 매일 스크립트를 작성합니다. 나는 일반적으로 ArcGIS 10.0 처리가 9.3.1보다 느리고 때로는 파이썬 스크립트를 실행할 때 더 느리다는 것을 알았습니다.
실행하는 데 24 시간 이상 걸리는 스크립트의 특정 예를 나열하겠습니다. 버퍼의 각 모양에 대해 버퍼의 래스터 영역을 나타내는 루프입니다. 버퍼의 모양은 약 7000입니다. 나는 이것이 오랫동안 실행될 것이라고 믿지 않는다. 에이
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
누구든지 말하기 전에 전체 버퍼에서 영역을 표로 만들었지 만 1 개 이상의 레코드에서 실행하면 오류가 발생합니다. 결함이있는 도구이지만 사용해야합니다.
어쨌든 누구나이 스크립트를 최적화하거나 속도를 높이는 방법에 대한 아이디어가 있다면 가장 높이 평가 될 것입니다. 그렇지 않으면 ArcGIS에서 사용될 때 파이썬에 대한 속임수가 있습니까?