shp 파일은 도형(polygon)으로 구성되어 있고, 각 도형은 속성정보(dbf 파일)에 대응된다.(각 도형이 속성을 가지고 있음)
shp 파일을 자르거나 원하는 구역을 추출하는 데에는 도형 자체를 자르는 방법(clip), 그 도형의 속성(attribute)이나 위치(location)를 기준으로 선택해서 추출하는 방법이 있다.(select by attribute, select by location)
1. Clip
Clip 기능은 Analysis Tools – Extract에서 찾을 수 있다.
Extract에는 clip 외에도 select*, split(쪼개기) 가 있다.
*select는 뒤에서 설명할 select by~와 사실 같은 기능이다
예시로 sido_1975 파일(input)을 sido_2020파일(clip)로 자른 파일(output)을 만들려고 한다.
clip의 과정은 단순하다.
1) 자르기를 원하는 입력 도형을 input features로 입력한다.
2) 자를 경계가 되는 도형을 clip features에 입력한다.
3) 결과물이 생성될 폴더를 output feature class에 설정한다.
경기도가 포함되어 있던 sido_1975파일을 현재의 인천시 경계(sido_2020)로 자른
ic_1975_clip 파일이 대상 폴더에 생성되었다.
2. Select by Attribute
clip은 도형을 대고 자르는 개념이라면, select by attribute는 각 도형의 속성을 기준으로 도형을 선택하고 추출한다.
1975년의 행정동을 나타내는 도형자료(shp) 에서 당시의 인천 지역에 해당하는 동을 추출하고자 한다.(dong_1975파일)
레이어 창에서 우클릭해서 open attribute table을 클릭하면 각 도형의 속성정보를 확인할 수 있다.
메뉴 바에서 Select Features 버튼(커서에 배경에 하늘색 도형 있는 아이콘) 클릭하면 각 도형을 선택할 수 있는데, 선택한 도형이 속성 테이블에도 하늘색으로 표시된다.
속성 테이블의 좌측 상단의 버튼을 클릭하면 select by attribute 메뉴를 클릭할 수 있다.
메뉴를 열면 도형이 가지고 있는 컬럼 항목들이 나타나는데, 각 컬럼명을 누르고 Get Unique Values를 클릭하면 컬럼에 해당하는 모든 행을 불러올 수 있다.
첫 번째 행인 “FID”의 값이 3인 항목을 선택하고자 할 경우 조건문에 “FID”=3 이라고 입력하고 Apply 버튼을 누르면 아까와 같이 해당 도형이 하늘색으로 선택된다.
아까 선택했던 ‘원창동’ 도형을 “adm_dr_cd”컬럼에서 선택하고자 한다.
속성 테이블에서 해당 adm_dr_cd 컬럼에서 값을 확인해 보면 3101432로 쓰여 있는데, 조건문에 그대로 “adm_dr_cd”=3101432 라고 입력하면 “An invalid SQL statement was used.” 라는 에러 메시지가 뜬다.
입력한 sql 조건문이 유효하지 않다는 의미로, 다시 한번 확인해 보면 adm_dr_cd 컬럼의 모든 행이 숫자값들이 아니라, 앞뒤로 따옴표 ‘’ 가 붙은 텍스트 형태임을 확인할 수 있다.
먼저 선택한 "FID"=3 의 경우에는 FID컬럼의 모든 행들이 숫자로 이루어져 있다.
테이블 상에서도 확인이 가능하다. 각 행의 값들이 숫자인 경우는 오른쪽으로 붙고, 텍스트인 경우는 값이 왼쪽부터 채워진다.
따라서 조건문을 “adm_dr_cd”=’3101432’ 로 수정한다.
여러 개의 행을 선택하고 싶은 경우는 각 조건문 사이에 OR, 교집합을 선택하고 싶은 경우는 AND를 사용한다.
선택하고자 하는 행이 공통적인 속성값을 가지고 있는 부분이 있다면, 조건문에 LIKE를 활용할 수 있다.
인천 지역의 경우 adm_dr_cd 항목이 ‘31’로 시작하는 것이 확인되는데,
이 경우 조건문을 "adm_dr_cd" LIKE'31%' 라고 입력하면 해당 컬럼에서 ‘31’로 시작하는 모든 도형을 선택한다. 3100000, 3100001 등..
이하의 숫자를 특정하고 싶은 경우는 자리수 만큼 언더바(_) 를 사용할 수 있다. '31_____'는 여기서 '31%'과 동일한 결과로 나타나지만 '31____1'로 입력할 경우 마지막 숫자가 1인 행을 선택할 수 있는 것이다.
선택이 완료된 후, 해당 레이어 우클릭 – export data에서 대상 폴더를 지정한 후, save as type에서 파일 유형을 shapefile로 선택하고 export 하면 해당 폴더에 선택 도형들로만 구성된 shp 파일이 생성된다.
3. Select by Location
select by attribute에서는 속성값을 기준으로 도형을 선택했다면,
select by location에서는 위치를 기준으로 도형을 선택한다.
위치를 기준으로 자를 경우, clip과 마찬가지로 대고 자르고 싶은 경계가 필요하다. clip에서 사용했던 “sido_2020” 파일을 기준으로 “dong_1975”에서 2020년 경계에 해당하는 지역을 선택해서 추출하고자 한다.
상단의 메뉴 바에서 Selection 메뉴에 select by location 선택,
selection method는 경계도형(features)으로부터 선택하고자 하므로 “select feqtures from”, 타겟 레이어(대상)은 1975년의 행정동, source layer는 자동으로 sido_2020으로 선택된다. apply 버튼을 누르면 2020년 경계에 해당하는 1975년의 행정동이 선택된 것이 확인된다.
select by attribute와 마찬가지로, 선택된 상태에서 레이어 우클릭 – export data에서 대상 폴더 지정하고 파일명 입력해서 export 하면 완성.
'도구들 > GIS' 카테고리의 다른 글
[ArcGIS] 여러 개의 shp 파일 한꺼번에 edit 하기 (0) | 2021.07.08 |
---|---|
[ArcGIS] 여러 개의 dwg 파일 shp로 변환하기 (0) | 2021.07.08 |
[지리좌표계] 위도(latitude), 경도(longitude) (0) | 2019.04.02 |
[QGIS] shp 파일 필드명 변경하기 (0) | 2019.02.07 |
shp 파일 구성 (shp,sbx,sbn,shx,dbf 등) (0) | 2019.02.07 |