4. 주요 기능

QGIS는 핵심 기능과 플러그인의 형태로 제공되는 수많은 GIS 공통 기능들을 제공합니다. 위치 탐색란에서 함수, 데이터셋과 그 이상을 쉽게 검색할 수 있습니다.

주요 기능 및 플러그인의 일반 카테고리 6개를 간단히 소개한 다음, 통합 파이썬 콘솔에 대해 처음으로 통찰합니다.

4.1. 데이터 보기

서로 다른 포맷 및 투영체를 가진 (2차원 또는 3차원) 벡터와 래스터 데이터의 조합을 내부 또는 공통 포맷으로 변환하지 않은 채로 볼 수 있습니다. 다음과 같은 포맷들을 지원합니다:

  • 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) 투영 변환

  • 2차원 및 3차원 맵 렌더링

  • 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, OTB, R 등과 같은 외부 알고리즘도 호출할 수 있습니다. (소개 를 참조하십시오.) 분석 함수는 모두 배경에서 실행되기 때문에, 공간 처리가 완료되기 전에도 사용자 작업을 계속할 수 있습니다.

그래픽 모델 작성자는 직관적인 그래픽 환경에서 함수들을 완전한 워크플로로 결합/연결시킬 수 있습니다.

4.5. 온라인 맵 발행

QGIS를 WMS, WMTS, WMS-C, WFS, OAPIF와 WFS-T 클라이언트로 사용할 수 있으며(OGC / ISO 프로토콜 작업 참조), QGIS 서버의 WMS, WCS, WFS 및 OAPIF 프로토콜을 통해 웹서버를 사용해서 인터넷에 사용자 데이터를 공개할 수도 있습니다(QGIS 서버 지침서 참조).

4.6. 플러그인을 통한 확장 QGIS 기능

QGIS는 사용자의 특수한 목적에 맞게 변화될 수 있습니다. 확정성이 있는 플러그인 아키텍처와 플러그인을 만드는데 사용할 수 있는 라이브러리들이 이를 가능하게 합니다. 심지어 C++ 또는 파이썬으로 새로운 응용 프로그램을 만드는 것도 가능합니다!

4.6.1. 핵심 플러그인

핵심 플러그인은 다음과 같습니다.

  1. DB 관리자 (데이터베이스에서 레이어와 테이블을 교환, 편집, 살펴보기 및 SQL 쿼리 실행)

  2. 도형 검사기 (도형 오류를 확인)

  3. GDAL 지리참조자 (GDAL을 이용해 래스터에 투영 정보를 추가)

  4. GPS 도구 (GPS 데이터 불러오기 및 가져오기)

  5. GRASS (GRASS GIS 통합)

  6. 메타 검색 카탈로그 클라이언트 (웹(CSW) 표준을 따르기 위해 OGC 카탈로그 서비스를 지원하는 메타데이터 카탈로그 서비스와 상호작용)

  7. 오프라인 편집 작업 (데이터베이스 오프라인 편집 및 동기화 가능)

  8. 공간 처리 (QGIS 공간 데이터 처리 프레임워크)

  9. 위상 검사기 (벡터 레이어에서 위상기하학적 오류를 확인)

4.6.2. 외부 파이썬 플러그인

QGIS는 커뮤니티가 개발한 외부 파이썬 플러그인을 점점 더 많이 제공하고 있습니다. 이 플러그인들은 공식 플러그인 저장소에 있으며 파이썬 플러그인 설치기를 통해 쉽게 설치할 수 있습니다. 플러그인 대화창 을 참조하십시오.

4.7. 파이썬 콘솔

스크립트 작업 시 통합된 파이썬 콘솔을 이용하면 편리합니다. Plugins ► Python Console 메뉴에서 파이썬 콘솔을 실행할 수 있습니다. 콘솔은 모달리스(non-modal) 유틸리티 창으로 열립니다. QGIS 환경과 상호작용하기 위해, 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

아니면 최신 prlimit 유틸리티를 이용할 수도 있습니다. 자세한 내용은 https://manpages.ubuntu.com/manpages/kinetic/en/man1/prlimit.1.html 페이지를 참조하세요.

영구적으로 수정하려면:

대부분의 리눅스 시스템에서, 로그인 시 /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