QGIS 모델러를 사용하여 파일에 처리 결과를 저장 하시겠습니까?


9

모델에서 처리 결과를 파일로 저장하고 싶습니다. 내 모델에는 Extract by location합리적인 결과를 생성하지만 Save as...수동으로 해야하는 임시 레이어로만 사용되는 알고리즘 (두 벡터 입력 포함) 이 있습니다.

가장 좋은 방법은 결과를 shapefile로 저장하는 모델의 경로를 전달하는 것입니다 (첫 번째 단계).

이것이 모델입니다. 출력 벡터 (파일)는 처리 결과에 연결할 수 없습니다.

여기에 이미지 설명을 입력하십시오

스크린 샷 a)에서 볼 수 있듯이 Save selected features알고리즘 b) 에서도 파일이 아닌 최종 결과의 이름을 전달할 수 있습니다 .

ㅏ) 여기에 이미지 설명을 입력하십시오

비) 여기에 이미지 설명을 입력하십시오

파이썬 스크립트로 이것을 달성하는 방법에 대한 모호한 아이디어가 있지만 기존 도구의 조합 으로이 작업을 수행 할 수 있습니까?

답변:


6

모양 파일을 수동으로 저장하는 대신 모델에 경로를 전달하려면 사용자 지정 스크립트를 사용하는 것이 좋습니다. 위치 별 추출 도구 를 실행 하고 출력 경로를 정의 하는 스크립트를 작성할 수 있습니다 . 아마도 이런 것 :

##Extract_by_location=name
##Layer=vector
##Additional_layer=vector

layer = processing.getObject(Layer)
output_path = "C:/Users/You/Desktop/" + layer.name() + ".shp"

processing.runalg("qgis:extractbylocation", Layer, Additional_layer, u'contains', 0.00, output_path)

바꾸기 위치에 의해 추출 이 스크립트와 모델의 도구를 그것을 당신이 지정한 경로에 Shape 파일에 결과를 저장합니다.


5

QGIS 모델러는 별도의 언급이없는 한 출력을 저장하지 않는 도구를 중간 도구로 취급합니다.

모델이 결과를 내보내도록하려면 도구 행에 레이어 출력 이름을 입력해야합니다.

여기에 이미지 설명을 입력하십시오

위의 결과를 레이어로 내보내려면 출력에 다음과 같이 값을 입력하십시오. 여기에 이미지 설명을 입력하십시오

출력 파일을 설정할 수있는 도구를 실행할 때 대화 상자를 추가하면됩니다.

여기에 이미지 설명을 입력하십시오

모델 자체는 색상의 데이터 유형을 보여줍니다 : 입력의 경우 자주색, 출력의 경우 녹청


1
이것은 실제로 사실이지만 출력 벡터를 임시 파일로 남겨두고 rightclick > Save As...각각에 대해 수행하는 것과 같은 노력 입니다.
Jochen Schwarze
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.