나는 몇 달 동안 파이썬으로 코딩 해 왔으며 주로 지리 처리 작업을 위해 합리적으로 복잡한 스크립트를 개발했습니다. 즉, SQL / VBA / VBScript 배경에서 왔을 때 여전히 많은 것을 배우고 있습니다.
컴파일 된 코드는 일반적으로 언어 인터프리터가 처리 해야하는 코드보다 빠르게 실행되므로 지리 처리 Python 스크립트를 빅 데이터 작업을 위해 .EXE 파일로 컴파일 할 가능성에 관심이 있습니다.
이것이 가능합니까? 그렇다면 arcgisscripting 또는 arcpy 모듈을 가져 오는 Python (.py) 스크립트를 컴파일하는 가장 좋은 방법은 무엇입니까?
나는 내가하고 싶은 일을 찾으려고 몇 분을 보냈고 검색은이 기사를 다른 사람들에게 돌려주었습니다 : http://www.ehow.com/how_2091641_compile-python-code.html
컴파일러가 작동하는 것처럼 보이지만 결과 .EXE 파일을 실행하면 일부 파일을 사용할 수 없다는 암호 오류가 발생했습니다.
파이썬 스크립트는 명령 줄에서 합리적으로 잘 보이는 것을 실행하지만 .py 파일을 컴파일 할 수 있다면 약간의 개선이 있는지 궁금합니다. 다시 한 번 처리하는 데 +20 시간이 걸리는 몇 가지 큰 데이터 세트 (입력 수질 샘플 사이트의 유역 묘사)를 사용하고 있습니다. 개선을 위해 얻을 수있는 것은 무엇이든 취할 것입니다.
이 스크립트는 사이트의 테스트 세트를 사용하여 명령 줄에서 빠른 외부는 ArcGIS의 10 %를 달렸다 대 ArcCatalog에서 새 도구 상자에서 스크립트 도구로 스크립트를 설정합니다. 전용 컴퓨터에서 ArcGIS 인스턴스를 열지 않고 명령 줄에서 스크립트를 실행했습니다.
그렇다면 arcgisscripting 모듈을 가져오고 ArcToolBox 도구를 호출하는 Python 스크립트를 컴파일 할 수 있습니까?
편집하다
입력 해 주셔서 감사합니다. 이것은 도움이됩니다. 이 스크립트는 주로 많은 ArcGIS 도구를 조정하고 원하는 형식 / 위치 / 적절한 속성으로 출력하는 방법입니다. 이미 중간 래스터 파일에 대한 스크래치 개인 지오 데이터베이스 대신 스크래치 폴더에 작성하여 ESRI GRID 형식 대 IMG 형식으로 저장할 수 있다고 생각합니다. 그래도 프로파일 러 제안을 확인하겠습니다.
내 사무실에는 파이썬에 대해 "컴파일 된 코드가 인터프리터를 통해 실행되는 코드보다 훨씬 빠르다" 고 말하는 일부 사람들이 있습니다. 도구는 어느 쪽이든 시간이 걸릴 것입니다. 그리고 오늘날의 컴퓨팅 머신에서는 코드를 해석하는 것이 컴파일 된 코드보다 그렇게 느리지 않을 수 있으므로 여분의 마일을 보장합니다.
편집 -래스터 형식의 프로그램 최적화 업데이트.
이 Python 프로그램의 "최적화"에 대한 후속 조치를 원했고 개인 래스터 데이터베이스 대신 GRID 형식으로 중간 래스터를 작성하여 2 시간의 처리 시간을 단축 할 수있었습니다. 뿐만 아니라 데이터 크기 디스크 공간 소비가 크게 줄었습니다. 원래 모든 래스터를 작성했을 때 (래스터로 변환 한 후 유역 래스터로 변환 된 포인트 피처 일뿐) 해당 파일에 대해서만 37.1GB의 데이터가 생성되었습니다. 후자의 두 데이터 출력을 GRID 형식의 폴더에 쓰면 667MB의 데이터로 줄어 듭니다.
파일 GDB가 주로 데이터 크기와 관련하여 이러한 데이터를 처리하는 방법을 궁금합니다. 그러나 처리 시간을 9.5 시간에서 7.5 시간으로 단축하면 GRID 형식의 지오 데이터베이스 외부의 래스터를 다루는 데 충분합니다.