Một kịch bản python đã được viết cách đây khoảng 18 tháng bởi một người đã rời đi. Nó tạo ra các đầu ra cần thiết sau đó. Tôi đã được yêu cầu chạy lại nhưng với các đầu vào dữ liệu (độ phân giải tốt hơn) khác nhau. Bộ dữ liệu đầu vào đã được chia thành 20 tập hợp con gồm khoảng 2.700 điểm dữ liệu mỗi bộ. Tuy nhiên, tập lệnh gặp sự cố ("python.exe đã ngừng hoạt động") sau khi khoảng 300 điểm dữ liệu đã được xử lý (phạm vi 295 đến 306 và KHÔNG phải lúc nào cũng thất bại trong cùng một bản ghi).
Như cũ (ish), kịch bản được viết bằng cách sử dụng arcgisscripting và không arcpy. Nói chung, nó sử dụng các con trỏ sau:
- Đối với một điểm nhất định, hãy tính khoảng cách chi phí (sử dụng gp.CostDistance_sa) với thời gian di chuyển là 60 phút.
- Gọi gp.ExtractValuesToPoints_sa để trích xuất tất cả các giá trị riêng lẻ tại mỗi điểm dữ liệu và xuất một lớp tính năng cho cơ sở dữ liệu địa lý tệp.
- Đọc lớp tính năng được tạo ở b) ở trên và ghi các giá trị vào tệp CSV (bỏ qua bất kỳ điểm nào với "Không có dữ liệu" (giá trị -9999)).
Lặp lại 1, 2 và 3 cho tất cả các điểm dữ liệu còn lại trong tệp đầu vào.
Thời gian xử lý là khoảng. Trung bình 1 phút cho mỗi điểm dữ liệu. Dưới đây là một số thông số kỹ thuật có liên quan:
- PC có CPU Intel i7-2720QM lõi tứ tốc độ 2.20GHz với RAM 8GB chạy Windows 7 (64 bit).
- Phiên bản Python là 2.6.6 (shell cũng ghi "[MSC v, 1500 32 bit (Intel)] trên win32).
- ArcMap 10.0 (SP4) cũng được cài đặt.
Tôi đã thử chạy nó trên một PC khác (cho đến nay mà không gặp sự cố). Hiện tại công việc đang chạy thành công (nhưng chậm hơn) trên một PC cũ và đã đạt tới kỷ lục 419 mà không gặp sự cố. Các thông số kỹ thuật có liên quan cho máy này là:
- Bộ xử lý Intel Core 2 DUO E7500 tốc độ 2,93 GHz với RAM 4 GB và Windows 7 64 bit.
- Phiên bản Python 2.5.1 (shell cũng ghi "[MSC v, 1310 32 bit (Intel)] trên win32).
- ArcMap 9.3 được cài đặt (không đề cập đến bất kỳ Gói dịch vụ nào).
Ai đó có thể cung cấp một số lời khuyên về lý do tại sao kịch bản dường như hoạt động trong một thời gian sau đó sụp đổ và làm thế nào để giải quyết nó?
Việc một PC khác xuất hiện (cho đến nay) để xử lý tập lệnh gợi ý một cái gì đó "môi trường".
Là một bản cập nhật, PC chạy ARCGIS 9.3 vẫn đang xử lý thành công dữ liệu và đã đạt tới 1.300 điểm dữ liệu được xử lý (và vẫn còn tiếp tục). Một đồng nghiệp cũng chạy dữ liệu trên PC của họ chạy ARCGIS 10.1 - nó bị sập sau 267 bản ghi trong hai lần riêng biệt. Mặc dù không có kết luận, luồng chung có vẻ là Arc 9.3 sẽ xử lý dữ liệu nhưng Arc 10.x thì không.