ArcPy를 사용하여 ArcGIS Desktop에서 일괄 클리핑?


12

이전 버전의 ArcGIS에 대해 비슷한 질문을했지만 ArcGIS 10에 적합한 답변을 찾지 못했습니다.

넓은 영역 (예 : 전체 주 /도)을 포함하는 두 개의 다각형 shapefile이 있습니다. 첫 번째 쉐이프 파일은 주 전체의 토지 표지를 나타내고 두 번째 쉐이프 파일은 50 개의 개별 유역을 나타냅니다. 유역 (각각 필드에 고유 한 이름이 저장되어 있음)을 기준으로 랜드 커버 셰이프 파일을 자르고 싶습니다 . 그런 다음 유역 이름을 사용하여 출력 클리핑 된 파일 (각 50 유역에 대해 하나씩)을 저장하고 싶습니다.

수행 할 클립이 50 개라는 점을 감안할 때이 프로세스는 일괄 처리에 적합합니다.


1
구 버전의 ArcGIS에서 무엇을 발견했으며 ArcGIS 10과 함께 사용하기에 적합하지 않은 이유는 무엇입니까?
nmpeterson

2
@Radar이 질문을 살펴보십시오 : gis.stackexchange.com/q/8104/1297 찾고 계신 내용을 다룹니다. 필요에 따라 수정하는 데 도움이 필요하면 알려주십시오. 이것을 가능한 복제본으로 표시했습니다.
SaultDon 2012

@SaultDon : 당신이 말하고있는 그 순간 용액 (S) gis.stackexchange.com/q/8104/1297 것이다 확실히도는 ArcGIS 10에서 사용할 수 있습니까?
whuber

@SaultDon-ArcGIS 10의 커서가 일부 변경되어 특정 답변이 오래되었습니다. 9.3 스크립트의 해킹 버전뿐만 아니라 Arc10에 가장 적합한 솔루션을 찾고 싶습니다.
레이더

@whuber 그대로는 아니지만 명확하지 않은 변경이 필요합니다. 레이더-당신 말이 맞아, 더 간단 해 =)
SaultDon

답변:


17

다음 스크립트는 다각형 유역을 다각형 카운티 경계에 클립하여 HspWBD_HU12_county 이름과 같은 각 출력 피처 클래스의 이름을 지정합니다. 테스트되었으며 작동합니다. NAME 필드의 값에 특수 문자 나 공백이 없는지 확인하십시오 (간단한 Python 문자열 메소드로이를 정리할 수 있음).

import arcpy

arcpy.env.workspace = r'D:\Projects\GDBs\slowbutter.gdb\IPAS'
rows = arcpy.SearchCursor('HspAOI')
for row in rows:
    feat = row.Shape
    arcpy.Clip_analysis('HspWBD_HU12', feat, 'HspWBD_HU12_' + str(row.getValue('NAME')), '')

클래식 한 타입의 커서로도 완벽합니다 !!
SIslam

8

ArcGIS 10을 사용할 때 내장 도구 : 반복 기능 선택과 함께 modelbuilder를 사용하여이 작업을 수행합니다. 그림에서 의사 모델을 참조하십시오. 파이썬 스크립팅을 전혀 알 필요가 없습니다. 의사 모델


이 접근 방식에 대한 자세한 설명은 특정 스터디 영역에 대한 전체 작업 공간을 쉽게 클립핑 하고 관련 Clip Workspace 지오 프로세싱 도구 패키지를 참조하십시오. : 또한 스택에 여기 탐구 gis.stackexchange.com/questions/84989/...
매트 윌키

2

이것은 분석 도구 상자분할 도구가하는 것과 정확히 같습니다 .

그러나 실행하려면 ArcInfo 라이센스가 필요하므로 대부분의 ArcGIS Desktop 사용자는 사용할 수 없으므로 ArcView 및 ArcEditor 레벨 라이센스를 가진 ArcGIS 10 Desktop 사용자에게는 작동하는 Chad의 답변이 마음에 듭니다.


-1

배치 도구에서 다른 도구를 먼저 실행하는 경우 변환 도구> 지오 데이터베이스로> 피쳐 클래스에서 피쳐 클래스로 원하는 방식으로이 작업을 수행 할 수 있습니다. 그러면 식을 사용하여 유역 레이어를 가져 와서 각각의 유역을 개별적으로 꺼내서 고유 한 피쳐 클래스로 저장할 수 있으며, 배치 모드에서 클립 도구와 함께 사용할 수있는 50 개의 개별 레이어가 있습니다.


2
답변을 주셔서 감사하지만 이것은 매우 효율적인 해결책은 아닙니다. 차라리 50 개의 개별 유역 파일을 만든 다음 50 개의 더 잘린 파일을 만들고 싶지 않습니다.
레이더

-1

ArcGIS 의 분할 도구는 정확하게이 작업을 수행합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.