17.9. 처리 과정 로그

주석

이 강의에서 처리 과정 로그에 대해 설명합니다.

처리 과정 프레임워크가 수행하는 모든 분석을 자체 로그 시스템이 기록하고 있습니다. 이를 통해 문제 발생 시 해결하기 위해 처리 과정 도구가 어떤 작업을 했는지 더 자세히 알 수 있습니다. 또 로그 시스템이 일종의 쌍방향성을 지원하기 때문에 이전 작업을 재실행할 수도 있습니다.

로그를 열어보려면 처리 과정 메뉴에 있는 해당 항목을 선택하십시오. 다음 대화 창이 나타날 것입니다.

../../../_images/log.png

Info, Error, Warnings 그리고 Algorithms 라는 네 개의 정보 항목을 담고 있습니다. 다음은 그 각각에 대한 설명입니다.

  • Info : 몇몇 알고리듬은 여기에 자신의 실행에 대한 정보를 남길 수도 있습니다. 예를 들면, 외부 응용 프로그램을 호출하는 알고리듬은 일반적으로 해당 응용 프로그램의 콘솔 산출물을 이 항목에 기록합니다. 여기를 살펴보면, 이전 강의에서 실행했던 (그리고 입력 데이터가 정확하지 않아 실행에 실패했던) SAGA 알고리듬의 산출물이 여기에 저장되어 있는 것을 알 수 있을 겁니다.

../../../_images/log-saga.png

작업이 어떻게 진행되고 있는지 이해하는 데 큰 도움이 됩니다. 고급 사용자는 이 산출물을 분석해서 어째서 알고리듬이 실패했는지 알아낼 수 있을 것입니다. 고급 사용자가 아닐 경우, 다른 이들이 이 산출물을 가지고 어떤 문제인지, 외부 응용 프로그램의 설치에 문제가 있는지 또는 사용자가 제공한 데이터에 문제가 있는지 진단해줄 수 있을 것입니다.

  • Warnings : 알고리듬을 실행할 수 있다 하더라도, 결과물이 정확하지 않을 경우 몇몇 알고리듬은 경고 메시지를 띄울 수도 있습니다. 예를 들면 아주 적은 개수의 포인트를 가지고 보간법 알고리듬을 실행했을 경우입니다. 알고리듬을 실행하고 결과를 생산할 수도 있지만, 좀 더 많은 포인트를 사용해야 하기 때문에, 결과물이 정확하지 않을 가능성이 높습니다. 사용자가 주어진 알고리듬의 어떤 면에 대해 잘 모를 경우, 이런 경고 유형을 주기적으로 확인하는 편이 좋습니다.

  • Error : 외부 응용 프로그램과 직접 연관되지 않은 오류가 발생하면 이 항목에 기록됩니다.

  • Algorithms : 콘솔이 아니라 (이 지침서의 이후에서 설명할) GUI에서 실행되었더라도, 이 로그 항목에 실행된 모든 알고리듬을 콘솔 호출로 저장합니다. 즉 사용자가 알고리듬을 실행할 때마다 로그에 콘솔 명령어를 추가하므로, 사용자의 작업 이력이 전부 기록됩니다. 다음은 그 이력의 예입니다.

../../../_images/history1.png

이 로그는 콘솔 작업을 시작할 때, 알고리듬의 문법을 배우는 데 굉장히 유용합니다. 콘솔에서 어떻게 분석 명령어를 실행하는지 설명할 때 이 로그를 이용할 것입니다.

이 이력은 쌍방향성도 가지고 있기 때문에, 이전에 실행했던 알고리듬이라면 어떤 것이든 더블클릭해서 재실행할 수 있습니다. 이를 통해 이전에 이미 했던 작업을 손쉽게 복제할 수 있습니다.

예를 들면 다음을 실행해보십시오. 이 지침서의 첫 번째 강의에 해당하는 데이터를 열어 그 강의에서 설명하는 알고리듬을 실행하십시오. 이제 로그 대화 창을 열고 목록에서 여러분이 방금 실행했던 알고리듬에 해당하는 마지막 알고리듬을 찾아보십시오. 그 알고리듬을 더블클릭하면, 일반적인 경우의 대화 창을 이용해 툴박스에서 호출해서 실행했을 때와 동일한 새로운 결과물을 생산할 것입니다.

17.9.1. hard 고급

사용자가 알고리듬을 수정할 수도 있습니다. 로그에서 복사한 다음, 메뉴에서 Plugins ‣ Python console 을 열고 Import class ‣ Import Processing class 항목을 클릭한 후, 붙여넣고 마음대로 텍스트를 변경해서 분석을 재실행하십시오. 결과물 파일을 맵에 표출하려면 iface.addVectorLayer('/path/filename.shp', 'Layer name in legend', 'ogr') 이라고 입력하십시오.