QuantumGIS



1. 오랫만에 시간을 내서 QuantumGIS(이하 QGIS)를 좀 훑어봤다. 생각했던 것보다 완성도도 높고 편리한 여러가지 기능으로 가득한 소프트웨어인 것 같다. 과거 ArcView 정도에서 수행할 수 있는 어지간한 작업을 QGIS로 처리할 수 있을 것 같다. 원래 QGIS 프로젝트를 시작할 때는 범용 GIS Viewer를 목표로 했다고 하는데.. 이후 개발이 잘 진행되면서 여기까지 온 것 같다. 오픈 소스 기반의 프로그램치고는 사용자 인터페이스도 꽤나 깔끔하고 좋다. QGIS는 Microsft Windows, Mac OS X, Linux, FreeBSD, NetBSD 등의 OS 에서 구동된다. 코어엔진은 C++로 개발되어 있으며, 사용자 유저인터페이스 부분은 Python과  QT를 이용하고 있다.

<QGIS가 지원하는 각종 OS들>



2. QGIS의 기능을 대략 살펴보면,

 2.1 다양한 종류의 벡터, 래스터 자료를 불러와서 화면에 함께 표시할 수 있다. 어지간한 벡터 포맷(SHP 및 MapInfo TAB 등)과 래스터 포맷(GeoTiff, ESRI Grid 포맷 등등)은 거의 다 지원한다. GDALOGR 라이브러리를 이용해서 그렇다. 그리고 원격지 접속 방식으로는 WMS, WFS를 물론 지원하고, PostGIS에 있는 자료를 불러서 함께 화면에 표시할 수 있다.

사용자 삽입 이미지



 2.2 실시간 투영변환, 공간북마크 기능, 속성값을 이용한 검색 기능, 벡터나 래스터 자료의 패턴이나 색상표시방법 조절기능, 그리고 QGIS에서 제공해 주는 다양한 플러그인 프로그램을 이용해서 출력용지도도 만들 수 있고, GRASS의 어지간한 기능도 이용할 수 있다.

사용자 삽입 이미지



 2.3 QGIS는 새로운 자료를 생성하거나 수정하는 기능도 제공하고 있는데.. 대표적인 방식으로는 사용자가 직접 자신의 SHP 파일이나 벡터 레이어를 화면상에서 디지타이징하는 기능을 제공해 주고 있고, GPS 자료나 패턴화된 텍스트 파일(예를 들어 CSV 같은)을 불러와서 지도 위에 하나의 레이어로 표시해 주는 기능도 있다. 여기에 더해 사용자가 직접 SHP 파일이나 PostGIS 상의 벡터 레이어를 수정하는 기능도 제공해 준다.

사용자 삽입 이미지




 2.4 QGIS가 원래 뷰어를 목적으로 제작되었다보니 전문적인 분석 기능은 주로 GRASS와 PostGIS를 이용해 수행한다. 아는 바와 같이 GRASS야 래스터 구조 기반의 자료 처리 및 분석에서는 그 탁월함이 이미 입증된 툴이고, PostGIS는 역시 벡터 기반 자료 관리 및 분석에서는 역시 그 성능이 입증된 툴이니까..

사용자 삽입 이미지



 2.5 QGIS를 UMN Mapserver의 Authoring Tool로 이용할 수도 있다. QGIS에서 SHP  파일의 패턴, 색상, 굵기 등등의 설정을 미리하고 이를 QGIS에서 확인한 후 이 프로젝트 파일을 UMN Mapserver로 넘기면 설정된 바와 같이 인터넷을 통해 지도가 서비스된다.

사용자 삽입 이미지



 2.6 무엇보다도 QGIS는 확장하기가 좋다. 플러그인 아키텍처를 채용하고 있기 때문에 자기 자신의 기능이 필요한 경우 해당 플러그인 아키텍처에 맞게 프로그램해서 넣으면 쉽게 그 기능을 확장할 수가 있게 되는 것이다. 그리고 QGIS 자체가 잘 정리된 라이브러이기 때문에 실력좋은 개발자라면 QGIS의 라이브러리를 이용해서 자신만의 별도 프로그램을 제작할 수도 있도록 설계되어 있다.

사용자 삽입 이미지



3. 결론적으로 보자면.. QGIS는 Open Source GIS 소프트웨어의 개발 모델을 충실히 따름으로써 짧은 시간에 상당한 수준의 제품을 만들었다고 볼 수 있는 것이다. 사실 QGIS의 핵심 부분을 제외한 외부 파일 및 인터페이스 부분은 또 다른 오픈 소스 프로그램을 사용함으로써 시간과 자원을 절약할 수 있었으니까.. 예를 들어, 벡터 및 래스터 파일 입출력은 Frank Wamerdam의 OGR과 GDAL을 사용하였고, 전문적인 자료 관리 및 분석 기능은 기존 오픈 소스 GIS 소프트웨어인 GRASS와 PostGIS를 잘 이용하고 있으니까..

4. 학교에서 학생들 교육용 GIS 소프트웨어로 쓰기에 꽤나 괜찮은 프로그램이 아닐까 싶다. 학교 공통 서버에 PostGIS 깔고 거기에 교육용 공통 자료 집어넣어놓고 학생들은 QGIS를 이용해 PostGIS와 접속해 작업을 수행하고, 또 래스터 자료는 WMS 서버에 집어 넣어놓고 이를 배경 이미지 파일로 이용하면 될 테니까.. 전문적인 분석은 GRASS를 이용하면 좋은데.. 잠깐 보니 꽤나 잘 GRASS의 명령어들을 정리해 놓은 것 같았다. 꽤나 주목하며 볼만한 프로젝트인듯....

2008년 3월 23일

Sido.zip


Posted by 뚜와띠엔

댓글을 달아 주세요

  1. 2008.03.27 08:48  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of https://endofcap.tistory.com BlogIcon 뚜와띠엔 2008.03.27 11:15 신고  댓글주소  수정/삭제

      1. 약간 모자란게 사실이지만.. 그래도 꽤나 쓸만하다네.. 자네와 비슷한 생각을 좀 했었는데.. 이제는 오픈소스가 새로운 비지니스가 될 수 있다는 생각도 좀 하고 있다네..

      2. 그리하였다네.. 그럼 수고..

    • 2008.03.27 17:46  댓글주소  수정/삭제

      비밀댓글입니다

  2. 황상익 2008.12.19 16:21  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 질문드릴게 있는데요. wep mapping이라고 해야하나요? 일반 포털에서 하는 웹지도서비스를 구상중인데요. 그쪽의 open API사용하는거 말고, OSGeo 소프트웨어를 사용해서 서비스할수 있는 방법이 있나요? 지금은 GeoServer를 사용해보고 있는 아직 서버호스팅을 안 해봐서 퍼포먼스가 어떻게 나오는지 모릅니다. 그냥 이대로 GeoServer로 가도 될까요? 아님 다른 방법이 있나요?

    • Favicon of https://endofcap.tistory.com BlogIcon 뚜와띠엔 2008.12.19 22:34 신고  댓글주소  수정/삭제

      1. 요즘 GeoServer가 매우 각광받고 있구요. 성능이나 사용자 편의성 측면에서도 현재 Open Source GIS 중에서 최상위권에 속한다고 평가받고 있습니다.

      2. 다만, 포털에서 하는 지도 서비스는 약간 다른데요. 즉, 포털에서 하는 지도 서비스는 이미 지도를 미리 렌더링한 뒤에 이를 256*256 pixel size 정도의 타일 사이즈로 레별에 따라 정리한 뒤 이를 서비스하는 방식입니다.

      3. 만약 GeoServer로 포털같은 지도 서비스를 하려면 아마도 포털 지도 서비스와 같이 소위 Tile Map Service 방식을 이용하셔야 할 것이구요.. 즉, 미리 수치지도나 벡터 지리정보를 Mapnik과 같은 렌더링 툴킷을 이용하여 렌더링된 Tile Map으로 바꾼 뒤 이를 서비스하셔야 할 것입니다.

      4. 수치지도나 벡터 지리정보를 바로 GeoServer를 이용하여 서비스할 경우에는 사용자의 요청이 있을 때마다 계속 렌더링을 하게 됨으로 포털과 같은 방식의 지도 서비스에는 적절하지 않을 수 있습니다.

      참고하시기 바랍니다.

  3. 황상익 2008.12.22 17:23  댓글주소  수정/삭제  댓글쓰기

    자주 질문 드려 죄송합니다.
    참고로 렌더링결과물들 중에서 naver나 Google의 Tile들의 결과물을 원합니다.
    그렇다면 이들과 같은 결과물을 얻으려면 Mapnik을 써야하나요, 아니면 ESRI의 ArcGIS가 더 좋은 결과물이 나오나요? 무료, 유료를 떠나서요.
    질문이 너무 직설적이라 좀 죄송하네요.

    • Favicon of http://endofcap.tistory.com BlogIcon 뚜와띠엔 2008.12.22 18:04  댓글주소  수정/삭제

      안녕하세요.

      저희 같은 경우는 Mapnik만을 써봐서 어느게 더 낫다고 말씀드리기는 좀 어려운 것 같네요. 다만, Mapnik은 지도 렌더링 전용 툴이어서 이와 관련된 기능 지원이 좀 많지만 대신에 실시간으로 렌더링을 확인하는게 좀 부족하구요.. ArcGIS는 원래 목적 자체가 GIS 분석이어서 지도학적 부분이 좀 떨어지지 않을까 싶습니다.

      참고로 Mapnik은 오픈스트리트맵( http://www.openstreetmap.org )에서 렌더링 엔진으로 사용하고 있으니 참고하시구요.. ArcGIS를 이용해서 지도 렌더링한 케이스를 어디선가 봤는데, 기억이 좀 가물가물합니다. (보고서는.. 아, 이렇게도 ArcGIS를 사용하는구나.. 고 감탄했던..)

      황상익님께서 목적에 맞게 한 번 테스트를 해 보시고 결정하시는게 맞지 않을까 싶습니다.

      별 도움이 못되어서 죄송합니다.

  4. 황상익 2008.12.23 09:53  댓글주소  수정/삭제  댓글쓰기

    아닙니다. 두분 모두 너무나 감사합니다. 전문적인 용어를 찾아서 공부하면 그 분량만해도 배울것이 어마어마하네요. 두분의 설명은 액기스같습니다. 앞으로도 많은 도움 부탁드리겠습니다.

  5. 조희보 2009.02.04 11:17  댓글주소  수정/삭제  댓글쓰기

    안녕하십니까
    지도관련 서비스를 준비중인 사람입니다.
    관련자료가 많지 않아서 여기저기 검색하던중에 뚜와띠엔님 블로그에서 좋은 정보를 많이 얻고 있는 일인입니다....항상 감사드립니다. 몇가지 궁금한 점이 있어 질문 올려 봅니다.
    상용서비스를 할 목적으로 지도 부분은 shp (변환)--> postgresql(postgis)+geowebcash+Apache/tomcat, 일부 벡터(영역값)가 필요한 부분에서는 geoserver1.7.1을 사용하려고 합니다. geoserver에서 플러그인 기능으로 geowebcash를 사용하려했으나 네이티브로 사용하는게 성능면에서 조금 더 좋다는 이야기가 있어 위와 같이 구성하고 있습니다.궁금한점은 오픈소스를 사용한 조합으로 위의 케이스가 베스트인지와 db를 postgresql을 사용하지 않고mssqlspatial을 이용해 ms sql 2005를 이용하려 했으나 지오서버에서 연결은 가능하나...속성문제인지....지도 데이터로 인식을 못하더군요. 좀더 연구해보고 질문을 드려야 하나 작은 실마리라도 얻을려고 질문 올려 봅니다.

    • Favicon of https://endofcap.tistory.com BlogIcon 뚜와띠엔 2009.02.04 16:55 신고  댓글주소  수정/삭제

      안녕하세요.

      저희 같은 경우 geoserver를 주목하고는 있으나 실제 프로젝트에서 이용해 본 적이 없어서 적절한 답을 못드릴 것 같습니다.

      외국의 경우를 보면 오픈 소스 GIS 프로젝트를 진행하는 경우 PostgreSQL(PostGIS 포함) - GeoServer, MapServer, Deegree - OpenLayers, KaMap 형태로 구성하여 많이들 서비스하더군요.

      저희는 실제 프로젝트에서 PostgreSQL(PostGIS) - MapServer - OpenLayers 형태로 작업을 해 본 바는 있습니다만, GeoServer 관련되어서 구체적인 프로젝트를 수행해 본 바가 없어서 적절한 답변을 못드리겠네요.

      저희 같은 경우 오픈 소스 GIS로 프로젝트를 하다가 어려움을 만나면 대부분 해당 프로젝트의 메일링 리스트에 직접 질문을 올려서 답변을 얻곤 했답니다.

      GeoServer 같은 경우도 홈페이지에 보시면 관련 메일링 리스트 및 IRC 가 있습니다. 이곳에 직접 문의를 해 보시면 어떨까 싶습니다.

      혹은 오픈 소스 GIS 한국 모임인 OSGeo 한국어 지부에 가입하신 뒤 토론방에 관련 문의를 올려 보시면 어떨까 싶습니다. (답변을 받으실 수 있을지는 잘 모르겠습니다만...)

      OSGeo 한국어 지부 홈페이지는 http://groups.google.com/group/osgeo-kr 입니다.

      참고하시기 바랍니다.

      감사합니다.

  6. ivyblondie 2009.06.12 16:49  댓글주소  수정/삭제  댓글쓰기

    안녕하십니까.. 2개월전부터 mapserver와 qgis로 뭔가를 해볼려고(??) 하는 1人 인데욤...
    postgis 쓸만한 테스트 데이타가 없어 발목이 잡혀있습니다.... POLYGON이 들어간 초간단 샘플 데이타좀 구할수없을까??