파이썬 스크립트는 약 18 개월 전에 지금 떠난 사람에 의해 작성되었습니다. 그런 다음 필요한 출력을 생성했습니다. 다시 실행하라는 요청을 받았지만 다른 (더 빠른 해상도) 데이터 입력으로 실행했습니다. 입력 데이터 세트는 각각 약 2,700 개의 데이터 포인트로 구성된 20 개의 서브 세트로 분할되었습니다. 그러나 약 300 개의 데이터 포인트가 처리 된 후 스크립트가 충돌합니다 ( "python.exe가 작동을 멈췄습니다") (범위 295-306이며 항상 동일한 레코드에서 실패하지는 않음).
예전처럼, 스크립트는 arcpys가 아닌 arcgisscripting을 사용하여 작성되었습니다. 일반적으로 커서를 사용하여 다음을 수행합니다.
- 주어진 지점에 대해 이동 시간 60 분의 컷오프로 비용 거리 (gp.CostDistance_sa 사용)를 계산하십시오.
- gp.ExtractValuesToPoints_sa를 호출하여 각 데이터 포인트에서 모든 개별 값을 추출하고 피쳐 클래스를 파일 지오 데이터베이스에 출력합니다.
- 위의 b)에서 생성 된 피쳐 클래스를 읽고 값을 CSV 파일에 씁니다 ( "데이터 없음"(값 -9999) 인 점은 생략).
입력 파일에 남아있는 모든 데이터 포인트에 대해 1, 2 및 3을 반복합니다.
처리 시간은 약입니다. 데이터 포인트 당 평균 1 분 관련 기술 사양은 다음과 같습니다.
- PC에는 2.20GHz에서 실행되는 쿼드 코어 Intel i7-2720QM CPU가 있으며 Windows 7 (64 비트)에서 실행되는 8GB RAM이 있습니다.
- 파이썬 버전은 2.6.6입니다 (쉘에는 "[32는 32 비트 (Intel)] (win32)").
- ArcMap 10.0 (SP4)도 설치되어 있습니다.
나는 다른 PC (지금까지 충돌하지 않고)에서 실행 해 보았습니다. 현재 이전 PC에서 작업이 성공적으로 (더 느리게) 실행되고 있으며 충돌없이 419 개의 레코드에 도달했습니다. 이 기계의 관련 사양은 다음과 같습니다.
- 4GB RAM 및 64 비트 Windows 7을 갖춘 2.93GHz에서 실행되는 Intel Core 2 DUO E7500 프로세서
- Python 버전 2.5.1 (쉘에는 "[32는 Win32의 MS v v1313 32 비트 (Intel)])입니다.
- ArcMap 9.3이 설치되어 있습니다 (서비스 팩은 언급되지 않음).
누군가 스크립트가 잠시 작동 한 것으로 보이는 이유와 충돌하는 방법 및 해결 방법에 대한 조언을 제공 할 수 있습니까?
스크립트를 처리하기 위해 다른 PC가 지금까지 나타난다는 사실은 무언가 "환경 적"을 암시합니다.
업데이트로, ARCGIS 9.3을 실행하는 PC는 여전히 데이터를 성공적으로 처리하고 있으며 처리 된 1,300 개의 데이터 포인트에 도달했습니다. 동료는 또한 ARCGIS 10.1을 실행하는 PC에서 데이터를 실행했습니다. 두 번의 별도 사례에서 267 개의 레코드가 충돌 한 것입니다. 결정적이지는 않지만 일반적인 스레드는 Arc 9.3이 데이터를 처리하지만 Arc 10.x는 처리하지 않는 것 같습니다.