ArcGIS Python 스크립트 도구 실행 중 사용자 입력을 요구하는 메시지가 표시됩니까?


9

스크립트 도구에 대한 모든 매개 변수를 지정한 후 사용자 입력을 요구합니다. 나는 이것에 관한 많은 포럼 게시물과 stackexchange 질문을 보았고 모두 필요하지 않다고 결론을 내렸지 만 제 경우는 예외라고 생각합니다. GPS 좌표의 수와 같은 데이터를 확인할 수있는 기회를 사용자에게 제공하고 싶습니다. 그들은 "예 / 아니오"질문이 될 것이며 ( "이 데이터는 명백히 부정확합니까?"), 스크립트 도구 매개 변수 입력 양식은 이것에 대해 잘 작동하지 않는 것 같습니다.

Tkinter의 이벤트 핸들러가 ArcGIS에 문제를 일으키고 다른 framworks에도 비슷한 문제가 있음을 알고 있습니다. 내가 찾은 한 가지 해결 방법은 스크립트가 별도의 프로세스로 실행되는 다른 스크립트를 호출하고 두 번째 프로세스의 GUI를 표시하도록하는 것입니다.


분명히 wxPython 작동하지만 파이썬에는 포함되어 있지 않습니다. ArcGIS 이외의 추가 요구 사항없이 이러한 스크립트를 배포 할 수 있어야하므로 효과가 없습니다.


명확히하기 위해 가장 중요한 용도는 소프트웨어 유효성 검사에서 데이터를 확인할 수 없을 때 사용자에게 프롬프트하는 것입니다. 예를 들어, 확인하려는 ID 목록이 있지만 형식이 일치하지 않습니다. 소프트웨어에서 유효성을 검사 할 수없는 경우 (예 : ID가 공통 패턴 중 하나와 일치하지 않는 경우) 예 / 아니오 대화 상자를 표시하라는 메시지를 표시하고 싶습니다. 내 지식 없이도 새로운 ID 형식을 만들 수 있습니다.


다른 예 : 무엇보다도 시작 및 중지 시간 테이블이 포함 된 파일이 있습니다. 테이블의 각 행을 개별적으로 확인하고 모든 데이터와 다른 검사를 경고 창에 넣는 것은 추악합니다.


11
나는 그것에 대해 조언 할 것입니다. 스크립트 도구는 "실행"을 누르면 사용자 개입없이 실행할 수 있습니다. 그러나 유효성 검사 코드를 사용하여보다 적절한 경고 / 오류 메시지를 제공 할 수 있습니다 .
blah238

2
하위 프로세스를 hackish라고 부르지 만 사용자 입력을 얻는 한, 파이썬 스크립트 도구를 사용하는 경우 이것이 유일한 옵션이라고 생각합니다. 파이썬 스크립트 도구와 사용자 상호 작용이 절대적으로 필요한 경우 C # 하위 프로세스를 호출하는 것이 좋습니다. 내가 기억한다면, 파이썬 코드는 멈추고 하위 프로세스가 완료되기를 기다렸다가 계속합니다. 이를 통해 C #에 내장 된 무제한의 사용자 상호 작용을 포함시킬 수 있습니다. C #에 객체를 전달할 수 없으므로 데이터를 문자열 형식으로 가져와야합니다.
bluefoot

비록 기록을 위해 나는 blah238
bluefoot에

4
이것이 바로 스크립트 도구의 유효성 검사입니다.
user2856

유효성 검사는 스크립트 유효성 검사에만 해당되며 사용자 입력을 얻을 수 없다고 생각 했습니까? 유효성 검사기의 프롬프트를 표시하거나 다른 효과가 동일한 다른 메시지를 표시 할 수 있습니까?
user14144

답변:


2

확실하지 않습니다.이 옵션이 당신을 위해 작동 할 수 있는지 아닌지, ac # 응용 프로그램을 만드는 것에 대해 생각할 수 있습니다.

  1. 이 응용 프로그램을 통해 모든 사용자 상호 작용 및 데이터 유효성 검사를 수행하십시오.
  2. 모든 데이터의 유효성을 검사 한 후 python 스크립트를 실행하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.