4. 주요 기능
QGIS는 핵심 기능과 플러그인의 형태로 제공되는 수많은 GIS 공통 기능들을 제공합니다. 위치 탐색란에서 함수, 데이터셋과 그 이상을 쉽게 검색할 수 있습니다.
주요 기능 및 플러그인의 일반 카테고리 6개를 간단히 소개한 다음, 통합 파이썬 콘솔에 대해 처음으로 통찰합니다.
4.1. 데이터 보기
서로 다른 포맷 및 투영체를 가진 (2D 또는 3D) 벡터와 래스터 데이터의 조합을 내부 또는 공통 포맷으로 변환하지 않은 채로 볼 수 있습니다. 다음과 같은 포맷들을 지원합니다:
PostGIS, SpatiaLite 및 MS SQL Spatial, Oracle Spatial, 그리고 설치된 OGR 라이브러리가 지원하는 GeoPackage, ESRI Shapefile, MapInfo, SDTS, GML을 포함하는 수많은 벡터 포맷들을 이용하는 공간 대응(spatially-enabled) 테이블과 뷰들. 벡터 데이터 작업 을 참조하십시오.
GeoTIFF, ERDAS IMG, ArcInfo ASCII GRID, JPEG, PNG 등 설치된 GDAL (Geospatial Data Abstraction Library) 라이브러리가 지원하는 래스터 및 이미지 포맷들. 래스터 데이터 작업 을 참조하십시오.
메시 데이터(TIN 및 정규 그리드를 지원합니다). 메시 데이터 작업 을 참조하십시오.
벡터 타일
GRASS 데이터베이스(location/mapset)가 지원하는 GRASS 래스터 및 벡터 데이터. GRASS GIS 통합 을 참조하십시오.
WMS, WMTS, WCS, WFS 및 WFS-T를 포함하는, 온라인 공간 데이터로 서비스되는 OGC 웹 서비스들. OGC / ISO 프로토콜 작업 을 참조하십시오.
QGIS 인증 인프라를 통해 웹 서비스 및 기타 리소스들을 위한 사용자/비밀번호, 인증서 및 키를 관리할 수 있습니다.
스프레드시트(ODS/XLSX)
시계열 데이터를 지원합니다.
4.2. 데이터 탐색 및 지도 제작
사용자는 맵을 작성하고 친숙한 GUI를 통해 공간 데이터를 양방향으로 탐색할 수 있습니다. GUI로도 많은 유용한 도구들이 있습니다.
QGIS 탐색기
실시간(on-the-fly) 투영 변환
DB 관리자
인쇄 레이아웃
보고서
오버뷰 패널
공간 북마크
주석 도구
객체 식별/선택
속성 편집/보기/검색
데이터 정의 피처 라벨 작업
데이터 정의 벡터 및 래스터 심볼 도구
경위선망 레이어가 지원되는 지도 조판
지도의 방위표, 축척 및 저작권 라벨
프로젝트 저장 및 불러오기 지원
4.3. 데이터 생성, 편집, 관리 및 내보내기
벡터 및 래스터 레이어를 여러 가지 포맷으로 생성, 편집, 관리, 변환할 수 있습니다. QGIS는 다음 기능들을 제공합니다:
벡터 디지타이즈 작업 도구
다수의 파일 포맷 및 GRASS 벡터 레이어를 생성하고 편집할 수 있는 능력
이미지에 위치 정보를 부여(geocode)하기 위한 지리참조자(georeferencer) 플러그인
GPX 포맷 가져오기/내보내기, 그리고 다른 GPS 포맷을 GPX로 변환하거나 GPS 기기로 직접 다운로드/업로드할 수 있는 GPS 도구 (리눅스의 경우, GPS 기기 목록에 usb: 가 추가됐습니다)
오픈스트리트맵 데이터 가시화 및 편집 지원
DB 관리자 플러그인을 사용해서 파일로부터 공간 데이터베이스 테이블을 생성할 수 있는 능력
공간 데이터베이스 테이블 처리 개선
벡터 속성 테이블 관리 도구
스크린샷을 지리좌표를 가진 이미지로 저장하는 옵션
스타일을 내보낼 수 있게 개선된 DXF 내보내기 도구 및 CAD와 유사한 기능들을 수행하기 위한 플러그인
4.4. 데이터 분석
공간 데이터베이스 및 다른 OGR 지원 포맷에 대해 공간 데이터 분석을 수행할 수 있습니다. 현재 QGIS는 벡터 분석, 래스터 분석, 샘플링, 공간 처리(geoprocessing), 도형 및 데이터베이스 관리 도구를 제공하고 있습니다. 통합된 GRASS 도구도 사용할 수 있는데, 이 도구는 400개가 넘는 모듈로 이루어진 완전한 GRASS 기능을 포함합니다. (GRASS GIS 통합 을 참조하십시오.) 아니면, 공간 처리 플러그인을 사용할 수도 있습니다. 이 플러그인은 강력한 지리공간 분석 프레임워크를 제공해서 QGIS에서 내장 알고리즘뿐 아니라 GDAL, SAGA, GRASS, R 등과 같은 외부 알고리즘도 호출할 수 있습니다. (소개 를 참조하십시오.) 분석 함수는 모두 배경에서 실행되기 때문에, 공간 처리가 완료되기 전에도 사용자 작업을 계속할 수 있습니다.
그래픽 모델 작성자는 직관적인 그래픽 환경에서 함수들을 완전한 워크플로로 결합/연결시킬 수 있습니다.
4.5. 온라인 맵 발행
QGIS를 WMS, WMTS, WMS-C 또는 WFS와 WFS-T 클라이언트로 사용할 수 있으며(OGC / ISO 프로토콜 작업 참조), QGIS 서버의 WMS, WCS 및 WFS 프로토콜을 통해 웹서버를 사용해서 인터넷에 사용자 데이터를 공개할 수도 있습니다(QGIS 서버 지침서 참조).
4.6. 플러그인을 통한 확장 QGIS 기능
QGIS는 사용자의 특수한 목적에 맞게 변화될 수 있습니다. 확정성이 있는 플러그인 아키텍처와 플러그인을 만드는데 사용할 수 있는 라이브러리들이 이를 가능하게 합니다. 심지어 C++ 또는 파이썬을 이용해 새로운 응용 프로그램을 만드는 것도 가능합니다!
4.6.1. 핵심 플러그인
핵심 플러그인은 다음과 같습니다.
DB 관리자 (데이터베이스에서 레이어와 테이블을 교환, 편집, 살펴보기 및 SQL 쿼리 실행)
도형 검사기 (도형 오류를 확인)
GDAL 지리참조자 (GDAL을 이용해 래스터에 투영 정보를 추가)
GPS 도구 (GPS 데이터 불러오기 및 가져오기)
GRASS 7 (GRASS GIS 통합)
메타 검색 카탈로그 클라이언트 (웹(CSW) 표준을 따르기 위해 OGC 카탈로그 서비스를 지원하는 메타데이터 카탈로그 서비스와 상호작용)
오프라인 편집 작업 (데이터베이스 오프라인 편집 및 동기화 가능)
공간 처리 (QGIS 공간 데이터 처리 프레임워크)
위상 검사기 (벡터 레이어에서 위상기하학적 오류를 확인)
4.6.2. 외부 파이썬 플러그인
QGIS는 커뮤니티가 개발한 외부 파이썬 플러그인을 점점 더 많이 제공하고 있습니다. 이 플러그인들은 공식 플러그인 저장소에 있으며 파이썬 플러그인 설치기를 통해 쉽게 설치할 수 있습니다. 플러그인 대화창 을 참조하십시오.
4.7. 파이썬 콘솔
스크립트 작업 시 통합된 파이썬 콘솔을 이용하면 편리합니다. QgisInterface
클래스의 인스턴스인 qgis.utils.iface
변수를 제공합니다. 이 인터페이스를 통해 맵 캔버스, 메뉴, 툴바 및 QGIS 응용 프로그램의 다른 부분들에 접근할 수 있습니다. 사용자가 스크립트를 작성한 다음 QGIS 창에 스크립트를 드래그&드롭하면 자동으로 실행될 것입니다.
파이썬 콘솔을 통한 작업 및 QGIS 플러그인과 응용 프로그램 개발에 대해 더 많은 정보를 알고 싶다면, QGIS 파이썬 콘솔 과 PyQGIS 개발자 쿡북 을 참조하시기 바랍니다.
4.8. 알려진 문제점들
4.8.1. 열린 파일 개수 제한
대용량 QGIS 프로젝트를 열었을 때 모든 레이어에 아무 문제가 없음에도 불구하고 일부 레이어가 불량으로 표시된다면, 이 문제점을 맞닥뜨린 것일 수도 있습니다. 리눅스의 경우 (다른 OS들도 마찬가지입니다만) 프로세스가 열 수 있는 파일 개수를 제한합니다. 이 리소스 제한은 프로세스 별로 걸리며 상속됩니다. 셸(shell)에 내장된 ulimit
명령어는 오직 현재 셸 프로세스의 제한만을 변경할 수 있으며, 모든 하위 프로세스가 새 제한값을 상속할 것입니다.
다음과 같이 입력하면 현재의 모든 ulimit
정보를 볼 수 있습니다:
$ ulimit -aS
콘솔에 다음 명령어를 입력하면 프로세스 당 현재 허용된 열린 파일 개수를 볼 수 있습니다:
$ ulimit -Sn
기존 세션 의 제한을 변경하려면, 다음과 비슷한 명령어를 입력해야 할 수도 있습니다:
$ ulimit -Sn #number_of_allowed_open_files
$ ulimit -Sn
$ qgis
영구적으로 수정하려면:
대부분의 리눅스 시스템에서, 로그인 시 /etc/security/limits.conf
또는 /etc/security/limits.d/*.conf
파일에 담겨 있는 설정에 따라 pam_limits
모듈이 리소스 제한을 설정합니다. 루트 권한을 가지고 있다면 (sudo
를 통해서도 가능합니다) 이 파일들을 편집할 수 있습니다. 그러나 변경한 내용을 적용하려면 로그아웃 후 다시 로그인해야 합니다.
추가 정보:
https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/ https://linuxaria.com/article/open-files-in-linux