ArcGIS Desktop을 사용하여 다각형에서 도넛 구멍 만 제거 하시겠습니까?


15

ArcGIS Desktop 10.0을 사용하고 있습니다.

도넛 구멍을 제거하는 트릭이 있는데, 다각형을 선으로 변환 한 다음 선에서 다각형을 만들고 결국 모든 것을 병합합니다. 이 전략의 단점은 실제로 비어 있고 비어 있어야하는 다른 구멍과 빈 영역을 제거한다는 것입니다. 아래 이미지를 참조하십시오.

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


3
OP가 일부 도넛은 아니지만 일부를 제거하려고한다고 믿기 때문에이 질문을 계속 공개하기로했습니다. 그는 그들 중 일부를 유지할 방법을 찾고 있습니다.
Fezter

감사! 이미지를 추가했는데 모든 것이 명확 해지기를 바랍니다. 주요 다각형 (녹색 자체)을 실수로 제거 할 수 있기 때문에 모든 것을 병합하기 전에 더 큰 영역을 제거 할 수 없습니다.
Arash

1
레이어에서 작은 "소금 및 후추"다각형을 제거하는 방법 과 매우 유사 합니까? QGIS 프로세스를 사용합니다. ArcGIS에서 매우 유사한 프로세스로 작업 할 수 있습니다.
RyanKDalton


구멍을 채울 수없는 임계 값 크기만으로 ArcGIS for Desktop을 사용하여 도넛 다각형
PolyGeo

답변:


23

NO_GAPS로 Union 도구를 사용해보십시오 .

NO_GAPS-다각형으로 완전히 둘러싸인 출력 영역에 대한 기능이 생성됩니다. 이 기능에는 빈 속성이 있습니다.

그런 다음 임계 값 크기 미만의 빈 속성이있는 피처를 선택하고 해당 속성을 원래 다각형과 동일하게 계산하거나 편집기의 속성 창에서 복사 / 붙여 넣기 할 수 있습니다.

임계 값 크기보다 큰 속성을 가진 피처는 삭제해야합니다.

거기에서 Dissolve 도구가 작업을 완료해야합니다.


1
"[새로운 도넛 폴리]를 원래의 [포함] 폴리곤과 같은 것으로 어떻게 계산합니까?" 공통된 속성 값이 없으므로 결합 할 수 없습니다. Lake poly A는 Lake poly A (포함)에서 새로운 특성 값을 획득하고 Lake B B를 무시해야한다는 것을 어떻게 알 수 있습니까?
matt wilkie

최근 테스트를 수행하지는 않았지만 "새로운 도넛 폴리"는 "원본 [포함] 다각형"입니다. 대량으로 처리 할 도넛 폴리곤이 여러 개있는 경우 작은 구멍에 도넛 폴리곤으로 태그를 지정하면 그 안에 들어가야합니다.
PolyGeo

8

PolyGeo의 솔루션 은 제가 직접 고용 한 솔루션 입니다 (+1). 다른 대안은 다각형을 소량 버퍼링 한 다음 결과를 같은 양 (예 : + 1m 및 -1m)으로 버퍼링 해제하는 것입니다. 이것은 잘 작동하지만 버퍼와 같은 양의 이웃 다각형을 실수로 결합 할 위험이 적습니다. 또한 정점 수를 증가시킬 수도 있습니다 (문제 일 수도 있고 아닐 수도 있음).

또한 각 다각형을 반복하고 내부 링을 기반으로 임시 다각형을 만들고 해당 영역에 대해이를 테스트하여 강력한 솔루션을위한 스크립트를 작성할 수도 있습니다. 임계 값 아래 인 경우 형상에서 해당 내부 링을 제거하고 행을 업데이트합니다. 이 솔루션은 PolyGeo의 솔루션 또는 위의 버퍼 해킹보다 많은 작업이지만 "순수한"접근 방식 일 수 있습니다.


5

ArcToolbox에서 "폴리곤 파트 제거"도구 (데이터 관리 도구-> 일반화)를 사용할 수 있습니다. 제거 할 최소 구멍 면적 / 백분율을 지정할 수 있습니다.


1
이 기능에는 Advanced / ArcInfo 라이센스 수준이 필요합니다.
Martin

ArcGIS Pro 2.0에서 폴리곤 파트 제거 도구를 사용해 보았습니다. 그러나 테스트중인 다각형 기능에는 아무런 영향을 미치지 않았습니다. 이 기능에는 여러 개의 내부 링이 있었으며 모두 사라졌습니다. 피처가 다중 파트 형상으로 구성된 경우에만이 도구가 작동합니까?
Mike Finch

뿐만 아니라". 구멍이있는 단일 다각형도 작동합니다.
Kadir Şahbaz

4

다음은 다각형에서 호수를 제거하는 다른 방법입니다 (Navteq의 우편 번호 맵 레이어). 또한 지역 코드로 우편 번호 맵 계층을 분해하여 생성 된 지역 맵 계층을 정리하는 데 유용합니다.

  1. 폴리곤 맵 레이어에서 지오 프로세싱 "Union"을 사용하고 "Gaps Allowed"(갭 허용) 확인란을 제거합니다 (기본적으로 선택되어 있음). 폴리곤의 모든 "도넛"구멍에 대한 폴리곤이 생성됩니다.
  2. 결과 연합 맵 레이어에서 ID, X 및 Y에 대한 필드를 추가합니다. ID는 제거하려는 도넛 구멍이있는 다각형의 이름 / ID와 분리되어야합니다.
  3. 속성 테이블에서 필드 계산기를 사용하여 ObjectID 필드에서 ID를 계산하고 "형상 계산"을 사용하여 X 및 Y 값을 채우십시오.
  4. 이름 필드가 null 인 속성을 선택하여 (도트별로 선택) 다른 다각형과 도넛 다각형을 분리하십시오.
  5. 선택한 레코드를 새 테이블로 내 보냅니다. (테이블 옵션 드롭 다운-> 내보내기 ...)
  6. "XY 추가"옵션을 사용하여 이벤트 계층을 작성하십시오. (레이어를 마우스 오른쪽 버튼으로 클릭-> XY 데이터 표시 ...)
  7. 이벤트 계층을 새 기능 클래스로 내 보냅니다. (레이어를 마우스 오른쪽 버튼으로 클릭-> 데이터-> 데이터 내보내기)
  8. 도넛 다각형이없는 새 점 레이어와 ORIGINAL 다각형 맵 레이어 사이에 공간 결합을 수행합니다. “가장 가까운”옵션을 사용하면 주변 다각형의 이름이 도넛 다각형의 속성 테이블에 추가됩니다.
  9. 결합 된 포인트 레이어와 Union의 결과 맵 레이어 사이에 표준 테이블 조인을 사용합니다 (ID 필드 기준). (레이어를 마우스 오른쪽 버튼으로 클릭-> 결합 및 관련-> 결합-> 공간 위치에 따라 다른 계층의 데이터 결합)
  10. 속성 테이블의 필드 계산기를 사용하여 결합 된 포인트 레이어에서 null 다각형 이름을 계산하십시오.
  11. 다각형 이름을 기반으로 지오 프로세싱 "디졸브"를 실행하여 도넛 다각형을 더 큰 명명 된 다각형과 병합합니다.

이렇게하면 다각형의 외곽선으로 잘린 강의 문제는 해결되지 않지만 내부 도넛 구멍을 제거하여 원래지도 레이어를 개선합니다.


3

피쳐 클래스의 다각형에 동일한 피쳐 클래스 (예 : 남아프리카 공화국의 레소토) 의 다른 다각형이 포함되어 있고 ModelBuilder 등 을 위해 수동 편집을 제거해야하는 경우 "폴리곤 파트 제거"를 사용하는 것이 가장 빠른 솔루션입니다. 도구 설정 :

- "조건 (선택 사항)"= 영역- "영역 (선택 사항)"= 매우 많은 수 (예 : 1e + 100)- "포함 된 부품 만 제거 (선택 사항)"= [확인]

이렇게하면 레소토 영역이 채워진 남아프리카 공화국이 생성되어 Tableau의 다각형 비주얼에 사용할 정점 출력과 같은 워크 플로에 필수적입니다.


1

지금까지 언급되지 않았으며 정확하게 달성하려는 목표에 맞는 도구 인 것 같습니다. Aggregate Polygons

minimum_hole_size 를 유지하려는 다각형 구멍의 최소 크기로 설정하십시오 . 작은 것들이 제거됩니다.

동일한 도구 의 선택적 minimum_area 값은 구멍이 아닌 다각형 부품에 대해 동일하게 수행됩니다.

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