벡터 오버레이

Vector overlay

벡터 오버레이(Vector overlay)는 둘 이상벡터 공간 데이터 세트를 통합하기 위한 지리정보시스템(GIS)의 연산(또는 운용 등급)이다.폴리곤 오버레이, 맵 오버레이, 위상 오버레이와 같은 용어는 포함되는 작업 범위에서 동일하지는 않지만 동의어로 사용되는 경우가 많다.오버레이는 초기 개발 이후 GIS에서 공간 분석의 핵심 요소 중 하나이다.일부 오버레이 작업, 특히 Cross와 Union은 모든 GIS 소프트웨어에서 구현되며 다양한 분석 애플리케이션에서 사용되는 반면, 다른 것들은 덜 일반적이다.

오버레이는 서로 다른 주제(예: 기후, 지형, 농업)를 공통의 위치를 기준으로 직접 비교할 수 있는 영역통합이라는 지리적 원리에 기초한다.세트 이론과 포인트 세트 토폴로지수학에도 바탕을 두고 있다.

벡터 오버레이 연산의 기본 접근방식은 벡터 모양으로 구성된 두 개 이상의 레이어를 취입하고, 입력 형상 사이에서 발견된 위상학적 관계에서 생성된 새로운 형상들로 구성된 레이어를 출력하는 것이다.다양한 특정 연산자는 다양한 유형의 입력과 출력에 포함할 항목의 선택을 허용한다.

역사

GIS가 등장하기 전에, 오버레이 원리는 투명 필름(예: 셀룰로오스 아세테이트)에 그려진 서로 다른 주제 지도(일반적으로 이물질 지도 또는 조로크롬 지도)를 문자 그대로 겹쳐서 상호작용을 보고 특정한 특성 조합을 가진 위치를 찾는 방법으로 개발되었다.[1]이 기법은 주로 조경가들에 의해 개발되었다.워렌 매닝은 그의 출판된 계정은 기술을 설명하지 않고 단지 지도를 재현할 뿐이지만, 매사추세츠주 빌리에리카의 측면을 비교하기 위해 이 접근법을 사용한 것으로 보인다.[2]Jacqueline Tyrwhitt는 1950년에 이 기술에 대한 지침을 영어 교과서에 발표했는데,[3] 그 내용은 다음과 같다.

가능한 한 투명 종이에 지도를 그려서, 동일한 스케일의 지도를 그릴 수 있도록 해야 한다. 즉, 상관관계나 그 결함을 파악할 수 있도록 지도들을 차례로 위에 배치한다. (p.157)

Ian McHarg는 아마도 그가 자문했던 교통 계획토지 보존과 같은 프로젝트의 몇 가지 예를 제시했던 "Design with Nature" (1969년)에서 이러한 계획을 널리 홍보한 가장 큰 책임이 있을 것이다.[4]

1960년대에 개발되어 1971년에 완공된 최초의 참 GIS인 캐나다 지리정보시스템(CGIS)은 초보적인 벡터 데이터 모델에 기초하였으며, 초기 기능 중 하나가 폴리곤 오버레이였다.[5]1971년 ESRI가 캘리포니아 샌디에이고 카운티를 위해 개발한 또 다른 초기 벡터 GIS인 폴리곤 정보 오버레이 시스템(PIOS)도 폴리곤 오버레이를 지원했다.[6]폴리곤 알고리즘의 포인트(Point in polygon algorithm)를 사용하여 교차로들을 빠르게 찾아냈다.불행하게도, 이러한 초기 시스템의 오버레이 결과는 종종 오류가 발생하기 쉽다.[7]

조경설계자인 칼 스타인리츠컴퓨터그래픽과 공간분석을 위한 하버드 연구소를 설립하는 데 도움을 주었고, 부분적으로 맥하그의 방법을 구현하는 디지털 도구로서 GIS를 개발했다.1975년 하버드 연구소의 토마스 퍼커와 니콜라스 크리스만은 벡터 데이터에서 위상적 관계와 속성을 명시적으로 나타낸 최초의 POLYVRT 데이터 모델을 도입했다.[8]이들은 폴리곤 한 쌍이 겹치는 영역인 LCGU(Lest Common Geographic Units)를 계산해 겹치는 다중 폴리곤 네트워크(Layer)를 원래의 폴리곤에서 물려받은 속성과 함께 처리할 수 있는 시스템을 구상했다.크리스만과 제임스 두게닉은 1979년 오디세이 프로젝트의 일환으로 발표된 WIRLF 프로그램에서 범용 GIS 개발의 일환으로 이 전략을 실행했다.[9]이 시스템은 CGIS와 PIOS에서 이전의 접근방식에 비해 몇 가지 개선을 구현했으며, 알고리즘은 향후 수십 년간 GIS 소프트웨어의 핵심 일부가 되었다.

알고리즘.

지리 정보 시스템에서 폴리곤 오버레이를 계산하는 단계 그림

모든 오버레이 연산의 목표는 벡터 레이어를 취하고, 입력의 기하학과 속성을 모두 통합하는 레이어를 만드는 것이다.[10]보통 두 입력 모두 폴리곤 레이어지만, 라인 및 포인트는 많은 작업에서 허용되며, 처리가 간단하다.

원래 구현 이후 사용되는 벡터 데이터 구조가 진화하긴 했지만 폴리곤 오버레이 알고리즘의 기본 전략은 그대로 유지되었다.[11]

  1. 두 개의 입력 폴리곤 도면층이 주어진 경우 경계선을 추출하십시오.
  2. 균열부 A: 각 층에서 다각형 사이에 공유되는 가장자리를 식별한다.공유 가장자리의 접합 부분에서 각 선을 끊고 중복을 제거하여 위상학적으로 연결된 선 세트를 만드십시오.PolyVRT와 ARC/INFO 적용범위와 같은 초기 위상학적 데이터 구조에서는 데이터가 이러한 방식으로 기본적으로 저장되었기 때문에 이 단계는 불필요했다.
  3. 크래킹 파트 B: 두 입력에서 라인 사이의 교차점을 찾으십시오.각 교차로에서 양쪽 선을 분할하십시오.그런 다음 두 선 도면층을 위상학적으로 연결된 단일 선 집합으로 병합하십시오.
  4. 부품 A: 각 최소의 닫힌 선 링을 찾아서 폴리곤을 만드는 데 사용한다.이들 각각은 최소 공통 지리적 단위(LCGU)가 될 것이며, 두 입력 각각에서 최소한 하나의 "부모" 다각형이 될 것이다.
  5. 부품 B: 두 입력의 열을 포함하는 속성 표를 만드십시오.각 LCGU에 대해 각 입력 계층에서 상위 폴리곤을 결정하고 그 속성을 LCGU의 행에 복사한다. 입력 계층 중 하나에 대한 폴리곤이 없는 경우 값을 null로 남겨두십시오.

사용자가 특정 상황에 대해 알고리즘을 보정할 수 있도록 하기 위해 매개변수를 사용할 수 있다.가장 이른 것 중 하나는 스냅핑 또는 퍼지 허용 오차 한계 거리였다.서로 이 거리 내에 머무르는 어떤 선 쌍은 일치해야 하는 선(예를 들어 강과 그것을 따라야 하는 경계)이 약간 다른 정점들로 별도로 디지털화될 때 발생할 수 있는 원하지 않는 좁은 슬리브 폴리곤을 피하면서 하나의 선으로 붕괴된다.[12]

연산자

대부분의 GIS 소프트웨어에서 사용할 수 있는 폴리곤 오버레이 작업의 시각화

기본 알고리즘은 두 입력 계층 간의 서로 다른 형태의 통합 형태를 반환하기 위해 여러 가지 방법으로 수정할 수 있다.이러한 서로 다른 오버레이 연산자는 다양한 질문에 답하기 위해 사용되지만, 어떤 연산자는 다른 연산자보다 훨씬 일반적으로 구현되고 사용된다.가장 흔한 것은 세트 이론부울 논리에서의 연산자와 밀접하게 유사하며, 그들의 용어를 채택했다.이러한 대수적 시스템에서와 같이 오버레이 연산자는 대응적(순서에 관계없이 동일한 결과를 제공) 및/또는 연관적(쌍을 이루는 순서에 관계없이 동일한 결과를 제공하는 두 개 이상의 입력)일 수 있다.

  • 교차(ArcGIS, QGIS, 매니폴드, TNTmips, AND in GRASS): 결과는 두 입력층이 교차하는 LCGU, 즉 두 "부모"가 모두 있는 LCGU만 포함한다.이것은 입력 계층의 설정된 이론적 교차점과 동일하다.교차로는 아마도 이 목록에서 가장 일반적으로 사용되는 연산자일 것이다.교감, 연상
  • 유니언(ArcGIS, QGIS, 매니폴드, TNTmips, 또는 GRASS): 결과는 모든 LCGU를 포함하며, 입력이 교차하는 경우와 그렇지 않은 경우 모두 포함된다.이것은 입력 계층의 설정된 이론적 결합과 동일하다.교감, 연상
  • 감산(TNTmips, ArcGIS에서 소거, QGIS의 차이, GRASS에서 제외, 다지관에서 누락):결과는 다른 계층과 겹치지 않는 한 계층의 폴리곤 부분, 즉 다른 계층의 상위 계층이 없는 LCGU만을 포함한다.비약속적, 비연관적
  • 배타적 또는 (AcGIS, QGIS, TNTmips배타적 유니언, GRASS의 XOR, 다지관에서 누락):결과는 겹치지 않는 두 층의 폴리곤 부분, 즉 하나의 부모를 가진 모든 LCGU를 포함한다.이것은 또한 교차점과 결합을 계산한 다음, 결합에서 교차점을 빼거나, 다른 층에서 각 층을 빼서, 그리고 두 소절의 결합을 계산함으로써 달성될 수 있다.교감, 연상
  • 클립(ArcGIS, QGIS, GRASS, 매니폴드, TNTmips의 내부 추출):결과는 한 층의 다각형이 다른 층과 교차하는 부분을 포함한다.윤곽은 교차로와 동일하지만, 내부에는 LCGU를 계산하기보다는 한 층의 다각형만 포함된다. 비확정적, 비연관적
  • 커버(AcGIS 및 Dargin에서 업데이트, TNTmips에서 교체, QGIS 또는 GRASS에서 교체): 결과는 하나의 레이어를 그대로 포함하며, 다른 레이어의 폴리곤 부분은 두 레이어가 교차하지 않는 경우에만 포함된다.하나의 레이어가 다른 레이어를 덮고 있는 것처럼 보이기 때문에 "커버"라고 불리고, ArcGIS에서는 "업데이트"라고 불리며, 가장 일반적인 용도는 두 레이어가 동일한 테마를 나타낼 때지만, 하나는 동일한 위치에서 오래된 것을 교체해야 하는 최근의 변화(예: 새로운 소포)를 나타낸다.그것은 다른 계층에서 한 계층을 뺀 다음, 그 결과의 결합을 원래의 첫 번째 계층과 계산함으로써 복제될 수 있다.비약속적, 비연관적
  • 나누기(QGIS, TNTmips 또는 GRASS가 아닌 ArcGIS 및 다지관의 ID): 결과에는 입력층 중 하나를 포괄하는 모든 LCGU가 포함되며, 다른 층에만 있는 LCGU는 제외된다.한 층이 다른 층의 다각형을 나누는 데 사용되는 외관을 가지고 있기 때문에 "분할"이라고 불린다.교차로를 계산한 다음 다른 층에서 한 층을 뺀 다음 이 두 결과의 결합을 계산하여 복제할 수 있다.비약속적, 비연관적

부울 오버레이 대수

폴리곤 오버레이의 가장 일반적인 용도 중 하나는 적합성 모델 또는 다중 기준 평가라고도 하는 적합성 분석을 수행하는 것이다.과제는 각 지역이 나타낼 수 있는 일련의 기준을 충족하는 지역을 찾는 것이다.예를 들어, 야생동물 종의 서식지는 특정 식생 덮개 유형 내에서 A)가 되어야 하고, 수원의 임계 거리(완충제를 사용하여 계산)에서 B가 되어야 하며, 중요한 도로의 임계 거리 내에 C가 있어야 한다.부울 논리의 의미에서 각각의 기준은 부울 논리로 간주될 수 있는데, 왜냐하면 공간의 어떤 점에 대해서도 각 기준은 존재하거나 존재하지 않으며, 그 점은 최종 서식지에 있거나 그렇지 않기 때문이다(기준이 모호할 수 있지만, 이것은 보다 복잡한 퍼지 적합성 분석 방법이 필요하다).즉, 어느 식물성 폴리곤에 그 점이 들어 있는지는 중요하지 않으며, 단지 그것이 적합한지 아닌지가 중요하다.이는 기준을 C가 아닌 H = A와 B로 부울 논리 표현으로 표현할 수 있다는 것을 의미한다.

이와 같은 과업에서는 각 층 내의 개별 폴리곤이 중요하지 않기 때문에 오버레이 절차를 간소화할 수 있으며, 기준을 충족하는 지역을 대표하는 단일 부울 영역(하나 이상의 분리된 폴리곤으로 구성되지만 인접한 폴리곤은 없음)으로 용해할 수 있다.이러한 입력값을 사용하여, 부울 논리 연산자는 정확하게 교차 = AND, 결합 = OR, 빼기 = AND NOT, 배타적 또는 = XOR와 같은 폴리곤 오버레이 연산자 중 하나에 해당한다.따라서 위의 서식지 영역은 A와 B의 교차점을 계산하고 그 결과에서 C를 빼면 생성될 것이다.

따라서, 폴리곤 오버레이의 이러한 특별한 사용은 부울 논리에 동형대수학으로 취급될 수 있다.이를 통해 GIS를 활용해 단순 논리로 줄일 수 있는 많은 공간 과제를 해결할 수 있다.

선 및 점

벡터 오버레이는 가장 일반적으로 두 개의 폴리곤 레이어를 입력으로 사용하고 세 번째 폴리곤 레이어를 만든다.그러나 점이나 선에 대해서는 동일한 알고리즘(적어도 그 일부)을 수행할 수 있다.[13]GIS 소프트웨어에서는 일반적으로 다음과 같은 작업이 지원된다.

  • 교차:출력은 입력의 하한과 동일한 차원이 될 것이다: 점 * {점, 선, 다각형} = 점, 선 * {선, 다각형} = 선.이것은 테이블 조인과 유사한 두 레이어의 속성 테이블을 병합하기 때문에 공간 조인의 형태로 자주 사용된다.이것의 한 예는 학생들을 학군에 배정하는 것이다.점이 선이나 다른 점에 정확히 떨어지는 경우는 드물기 때문에 퍼지 허용오차는 여기서 자주 사용된다.QGIS는 선 교차점을 선(동일선을 찾기 위해)과 으로 계산하기 위한 별도의 연산을 가지고 있다.[14]
  • 빼기:출력은 기본 입력과 동일한 차원이 되며, 감산 레이어는 점 - {점, 선, 다각형} = 점, 선 - {선, 다각형} = 선
  • 클립: 기본 입력이 포인트 또는 선이 될 수 있지만, 클리핑 레이어는 보통 폴리곤이 되어야 하며, 기본 입력과 동일한 지오메트리를 생성하지만 클리핑 폴리곤 내에 있는 형상(또는 선의 일부)만 포함한다.또한 이 연산은 위상학적 관계에 기초하여 한 계층의 특징을 유지하기 때문에 공간 질의의 한 형태로도 간주될 수 있다.
  • 유니언: 일반적으로, 두 입력 계층은 동일한 차원성을 가질 것으로 예상되며, 두 기능 집합을 포함하는 출력 계층을 생성한다.ArcGIS 및 GRASS는 점 또는 선과 함께 이 옵션을 허용하지 않는다.

구현

벡터 오버레이는 인터페이스와 기본 알고리즘은 크게 다르지만 벡터 분석을 지원하는 거의 모든 GIS 소프트웨어 패키지에 어떤 형태로든 포함되어 있다.

  • ESRI GIS 소프트웨어는 1982년 ARC/INFO의 첫 출시 이후 폴리곤 오버레이를 포함했다.[15]각 세대의 Esri 소프트웨어(ARC/INFO, ArcGIS, ArcGIS Pro)는 각 오버레이 운영자(Intersect, Union, Clip 등)를 위한 별도의 도구 세트를 포함했다.ArcGIS Pro의 현재 구현에서는 대규모 데이터셋을 보다 효율적으로 처리하기 위해 병렬 처리를 사용하는 "Pairwise Overlay" 툴 세트(v2.7 기준)를 최근에 추가했다.
  • GRASS GIS(오픈 소스)는 원래 래스터 기반이었지만, GRASS 3.0(1988) 이후 벡터 시스템의 일부로 오버레이를 포함시켰다.[16]대부분의 폴리곤 오버레이 연산자는 v.clip을 별도의 명령으로 하여 단일 v.overlay 명령으로 수집된다.
  • QGIS(오픈소스)는 원래 GRASS를 분석엔진으로 편입시켰으나 점차 벡터 오버레이 등 자체 가공 프레임워크를 개발했다.
  • 매니폴드 시스템은 변환 시스템에 오버레이를 구현한다.
  • Grep Javascript API는 전체 레이어가 아닌 개별 입력 폴리곤 객체에서 작동하지만 가장 일반적인 오버레이 방법을 포함한다.
  • TNTmips는 벡터 분석 프로세스 중 오버레이를 위한 여러 도구를 포함한다.

참조

  1. ^ Steinitz, Carl; Parker, Paul; Jordan, Lawrie (1976). "Hand-Drawn Overlays: Their History and Prospective Uses". Landcape Architecture. 66 (5 (September)): 444–455.
  2. ^ Manning, Warren (1913). "The Billerica Town Plan". Landscape Architecture. 3: 108–118.
  3. ^ Tyrwhitt, Jacqueline (1950). "Surveys for Planning". In APRR (ed.). Town and Country Planning Textbook. Architectural Press.
  4. ^ McHarg, Ian (1969). Design with Nature. p. 34. ISBN 0-471-11460-X.
  5. ^ Tomlinson, Roger (1968). "A Geographic Information System for Regional Planning". In Stewart, G.A. (ed.). Land Evaluation: Papers of a CSIRO Symposium. Macmillan of Australia. pp. 200–210.
  6. ^ Tomlinson, Roger F.; Calkins, Hugh W.; Marble, Duane F. (1976). Computer handling of geographical data. UNESCO Press.
  7. ^ Goodchild, Michael F. (1978). "Statistical aspects of the polygon overlay problem". Harvard papers on geographic information systems. 6.
  8. ^ Peucker, Thomas K.; Chrisman, Nicholas (1975). "Cartographic Data Structures". The American Cartographer. 2 (1): 55–69. doi:10.1559/152304075784447289.
  9. ^ Dougenik, James (1979). "WHIRLPOOL: A geometric processor for polygon coverage data" (PDF). Proceedings of the International Symposium on Cartography and Computing (Auto-Carto IV). 2: 304–311.
  10. ^ Bolstad, Paul (2008). GIS Fundamentals: A First Text on Geographic Information Systems (3rd ed.). Eider Press. p. 352.
  11. ^ Chrisman, Nicholas R. (2002). Exploring Geographic Information Systems (2nd ed.). Wiley. pp. 125–137.
  12. ^ Lo, C.P.; Yeung, Albert K.W. (2002). Concepts and Techniques of Geographic Information Systems. Prentice Hall. p. 211. ISBN 0-13-080427-4.
  13. ^ Esri. "Intersect (Analysis)". ArcGIS Pro Documentation. Retrieved 29 October 2021.
  14. ^ QGIS. "Line intersections". QGIS 3.16 documentation.
  15. ^ Morehouse, Scott (1985). "ARC/INFO: A geo-relational model for spatial information" (PDF). Proceedings of the International Symposium on Cartography and Computing (Auto-Carto VII): 388.
  16. ^ Westervelt, James (2004). "GRASS Roots" (PDF). Proceedings of the FOSS/GRASS Users Conference. Retrieved 26 October 2021.

외부 링크