GIS
: 지구를 공간적으로 참조하는 데이터를 연결하여 시각화를 생성하는 컴퓨터 시스템
-
지리 공간 데이터는 지구 표면 위나 근처에 있는 물체, 사건 또는 기타 지리적 특징을 설명
-
GIS를 사용하여 대화형 쿼리를 만들고 공간 정보를 분석하며 데이터를 편집하고 지도를 통합하며 이러한 작업의 결과를 표시할 수 있음
-
좌표계 관련 정리 내용: https://zept-gmk.tistory.com/16
QGIS
: 데이터 뷰, 편집, 분석을 제공하는 크로스 플램폼 오픈소스 데스크톱 지리정보 체계 응용 시스템
(공식 홈페이지: https://qgis.org/download/)
주요 기능
| 기능 | 지원여부 |
|---|
| 공간 데이터 분석 | o |
| 공간 정보 시각화 | o |
| 데이터 상세 조회 | o |
| 자료 가시화 | o |
| 지도 생성 | o |
| 기능 확장성 | o |
| 다양한 os 지원 | o |
※ 설치 완료시, QGIS Browser 프로그램은 공간 자료를 단순 시각화 프로그램이므로 분석 시, QGIS Desktop 실행 필요
세부 기능
1. 데이터 조회
: 다양한 공간 데이터 포맷과 투영법을 지원하며, 변환 없이도 데이터를 중첩하여 시각화할 수 있는 기능 제공
| 분류 | 세부 유형 | 지원 포맷 / 기술 |
|---|
| 벡터 데이터 (OGR 기반) | 데이터베이스 기반 | PostGIS, SpatiaLite, MS SQL Spatial, Oracle Spatial |
| 파일 기반 | ESRI Shapefile, MapInfo, SDTS, GML, 기타 OGR 지원 포맷 |
| 래스터/이미지 데이터 (GDAL 기반) | 일반 이미지 | JPEG, PNG |
| 공간 래스터 | GeoTIFF, ERDAS IMG, ArcInfo ASCII GRID, 기타 GDAL 지원 포맷 |
| GRASS GIS 전용 | GRASS 데이터베이스 | GRASS 래스터 및 벡터 (location/mapset) 구조 |
| OGC 표준 웹 서비스 | 온라인 서비스 | WMS, WMTS, WCS, WFS, WFS-T |
2. 데이터 탐색 및 지도 제작
: GUI 기반 도구를 통해 공간 데이터를 직관적으로 탐색하고, 지도 편집과 시각화 작업을 효율적으로 수행할 수 있도록 지원
- 실시간(on-the-fly) 투영 변환
- 지도조판기
- 오버뷰패널
- 공간북마크
- 데이터로 정의되는 객체 라벨링 작업 및 벡터/래스터 심볼 도구 등
3. 데이터 생성, 편집, 관리 및 내보내기
: 벡터와 래스터 레이어를 다양한 포맷으로 생성, 편집, 관리, 변환할 수 있는 기능을 제공
-
벡터 생성 및 디지타이징 도구
- QGIS는 OGR이 지원하는 포맷과 GRASS 벡터 레이어에 대해 디지타이징(선, 점, 면 생성) 도구를 제공한다.
- 사용자는 ESRI shapefile이나 GRASS 벡터 데이터를 새로 만들거나 직접 편집할 수 있다.
-
지리참조 도구 (Georeferencer)
- 위치 정보가 없는 이미지(예: 종이지도 스캔)에 좌표를 부여하는 ‘지리참조자’ 플러그인을 제공한다.
-
GPS 데이터 처리 기능
- GPX 파일을 가져오거나 내보낼 수 있으며, 다른 GPS 포맷도 GPX로 변환 가능하다.
- GPS 기기에서 직접 데이터를 다운로드하거나 업로드할 수 있는 기능도 포함된다.
-
오픈스트리트맵(OSM) 편집 지원
- 오픈스트리트맵 데이터를 불러오고, 시각화하거나 편집할 수 있다.
-
공간 데이터베이스 연동 및 생성
- DB 관리자(DB Manager) 플러그인을 통해 shapefile을 공간 데이터베이스(PostGIS 등)의 테이블로 변환할 수 있다.
- 공간 DB 테이블을 효율적으로 관리할 수 있는 기능도 제공된다.
-
벡터 속성 테이블 관리
- 각 벡터 객체에 연결된 속성 데이터를 테이블 형태로 관리 및 수정할 수 있다.
-
지리정보 포함 이미지 저장
- 현재 지도를 스크린샷으로 저장할 때, 좌표 정보를 포함시켜 저장할 수 있다.
-
CAD 도구 및 DXF 내보내기
4. 데이터 분석
: 공간 데이터베이스(PostGIS 등) 및 다양한 OGR 지원 포맷(shapefile 등)에 대해 고급 분석 지원
| 기능 분류 | 설명 |
|---|
| 벡터 분석 | 버퍼 생성, 클립, 교차, 차집합, 병합 등 |
| 샘플링 | 래스터 기반 위치 추출, 포인트 샘플링 |
| 공간 처리 | 피처 정리, 필드 계산기, 공간 조인, 지오메트리 수리 |
| 데이터베이스 관리 | 속성 테이블 편집, 레이어 필터링, SQL 쿼리 도구 |
- GRASS GIS(Geographic Resources Analysis Support System)를 내부에 통합하여 400개 이상의 고급 공간 분석 모듈을 지원
- GRASS: 고급 지리공간 분석 및 모델링을 위한 오픈소스 GIS 플랫폼
- 다양한 외부 알고리즘을 통합 프레임워크를 통해 호출 가능
5. 온라인 맵 발행
QGIS는 클라이언트와 서버 역할 모두 수행
- QGIS 클라이언트 역할
: QGIS는 다음과 같은 OGC(Open Geospatial Consortium) 표준 웹 서비스의 클라이언트로 사용 가능하다:
- WMS (Web Map Service): 이미지 기반 지도 불러오기
- WMTS (Web Map Tile Service): 타일형 웹 지도 서비스
- WMS-C (WMS with Caching): 캐시 기반 WMS
- S / WFS-T (Web Feature Service / Transactional): 벡터 데이터 요청 및 쓰기 작업 가능
- QGIS 서버 역할 (QGIS Server)
: GIS 프로젝트(.qgs 파일)를 그대로 웹에 공개하는 데 사용되며, 외부에서 요청 시 해당 레이어나 데이터를 서비스
외부 서버 연동 가능 : GeoServer 또는 UMN MapServer
: QGIS 단독 서버 기능 외에도, 다음과 같은 전용 웹 GIS 서버 소프트웨어를 설치해 더 안정적인 웹 서비스 구축 가능
6. 플러그인을 통한 확장 QGIS 기능
: C++ 또는 Python을 이용해 새로운 플러그인이나 독립 응용 프로그램을 개발 가능
핵심 플러그인 기능 목록
📍 좌표 및 지도 관련
- 좌표 독취: 서로 다른 좌표계에서 마우스 커서의 좌표를 읽어옴
- GDAL 지리참조자: GDAL을 통해 래스터 이미지에 투영 정보 추가
- 온도지도 생성기: 포인트 데이터를 기반으로 래스터 온도지도 생성
- 보간 플러그인: 벡터 꼭짓점을 기반으로 표면(interpolation) 생성
🗺️ 데이터 변환 및 관리
- Dxf2Shp 변환기: CAD 도면 파일(DXF)을 Shapefile로 변환
- GPS 도구: GPS 데이터를 가져오고 GPX로 변환하거나 GPS 기기로 전송
- 오프라인 편집 작업: 공간 DB 연결 없이 로컬에서 편집 후 동기화
- Oracle Spatial GeoRaster: Oracle Spatial 기반 래스터 지원
🧮 분석 도구 및 시각화
- GDALTools: GDAL 명령어 기반의 래스터 처리 도구를 GUI로 통합
- GRASS 통합: GRASS GIS의 수백 개 공간 분석 모듈을 QGIS에서 실행
- 도로그래프 플러그인: 도로 네트워크를 활용한 최단 경로 분석
- 래스터 지형 분석: 음영기복도, 경사도 등 지형 분석 도구
- 공간 쿼리 플러그인: 벡터 객체 간의 공간 조건으로 필터링 수행
- 구역 통계 플러그인: 폴리곤마다 위치한 래스터값의 합계·평균 등 계산
- 위상 검사기: 벡터 데이터의 위상 오류(겹침, 누락 등)를 자동 검출
🗃️ 데이터베이스 및 검색
- DB 관리자: PostGIS, SpatiaLite 등에서 레이어와 테이블을 조회, 편집, 쿼리
- 메타검색 카탈로그 클라이언트: OGC 서비스 카탈로그 검색기능 제공
🌐 공간 처리 프레임워크
- 공간 처리 플러그인 (이전 SEXTANTE):
- QGIS, GRASS, GDAL, SAGA 등의 알고리즘을 통합 실행 가능