과거의 내가 미래의 나에게
GIS 파일 포맷 정리 본문
GIS 파일을 다룰 일이 좀 생겼는데 각 포맷이 뭘 의미하는지도 모르고 작업하기 싫어서 시간 내 파일 포맷 간단하게 익혀본다.
.shp
shapeFile의 준말로 공간 데이터 표준 포맷이다. ESRI라는 회사가 개발한 GIS 용 벡터데이터 저장형식으로, shp 파일 단독으로 사용하진 않고 동일한 폴더에 확장자가 다른 동일 이름의 다수의 파일로 구성되어있다.
| 확장자명 | 설명 |
| .shp | shape file. 점선면같은 좌표데이터를 저장한 공간 정보의 핵심 파일. 벡터의 형태로 표현되어 있다. |
| .shx | shape index file. 빠른 검색을 위한 인덱스 파일 |
| .dbf | database file. 속성 데이터(이름, 코드 등)를 가진 테이블로 저장된 db 파일 |
이외에 .prj(좌표계 저장 파일), xml(shp파일의 메타데이터 저장 파일) 등이 있지만 필수적인 것은 위의 3가지이다.
우리나라에서는 거의 모든 국가기관이 shp 파일로 지도 데이터를 배포하고 있다.
< ESRI? >
GIS 파일을 편집할 수 있는 대표적인 툴이 2개가 있는데 하나는 ArcGIs 그리고 QGIS이다. 전자는 비싸고 좋은거 후자는 공짜고 가벼운 것정도로 생각하면 될 것 같다. ArcGIS를 만든 회사가 바로 ESRI로 가장 높은 시장 점유율을 가지고 있다고 한다.
.geojson
JSON을 이용해서 만든 공간정보 포맷이다. 지도 데이터를 JSON으로 표현한 것. shp 파일에 비해 파일 사이즈도 작고 처리속도도 빠르며 무엇보다 JSON 형태다 보니 웹에서 사용하기가 편하다.
나는 웹에서 지도를 사용하는 경우가 많으니 국가기관에서 제공하는 shp파일을 가지고 QGIS 프로그램을 이용하여 geojson 파일로 변환하여 사용했다.
아래는 포맷 예시를 가져와서 붙여놓는다.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [102.0, 0.5]
},
"properties": {
"prop0": "value0"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
]
},
"properties": {
"prop0": "value0",
"prop1": 0.0
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
[100.0, 1.0], [100.0, 0.0]
]
]
},
"properties": {
"prop0": "value0",
"prop1": { "this": "that" }
}
}
]
}
* type: 여러 feature을 묶어놓은 집합을 의미.
* features: feature들의 배열로 각각 지도에 올릴 수 있는 feature는 점선면의 하나하나이다. geometry 내부의 type이 어떤 feature인지 나타내고 coordinate를 통해 위치값을 나타낸다.
원래는 이 둘 외에도 다양한 파일포맷을 보려했는데 직접 사용도 안 할 것을 겉핥기로 알아놓으면 괜히 헷갈릴 것 같아서 일단 당장 쓰는 2개만 올리고 끝낼란다.
참고 문서
- 내맘대로 GIS 입문1. SHP 파일이란 + GIS에 올려보기 - https://blog.naver.com/mooming45/223285975205
- QGIS 기초실습 - https://wikidocs.net/162813
- (GIS 파일 형식의 모든 것이 나열되어 있는 듯!!) - https://docs.fileformat.com/ko/gis/shp/