QGIS

QGIS 3.0-어떻게, 언제, 무엇을; 그것은 의미

우리 중 많은 요구하고있다 :

언제 QGIS 3.0이 출시 될 예정입니까?

작년 (2015) 프로젝트 팀은 QGIS 3.0이 언제 어떻게 출시되어야하는지 조사하기 시작했습니다. 그들은 아니타 그레이저, QGIS 3.0을 출시하기 전에 사용자와 개발자에게 계획을 명확하게 전달하려고했습니다. 그들은 최근에 QGIS 3.0 릴리스에 대한 몇 가지 고려 사항을 공개하려고 시도했으며 게시물 끝에 우리의 아이디어를 발표 할 기회가 있습니다.

왜 3.0?

QGis_Logo일반적으로 주 버전은 소프트웨어의 API가 크게 변경되는 시간을 위해 예약됩니다. 이 중단은 QGIS 프로젝트에 대한 사소한 결정이 아닙니다. 우리는 자체 사용과 제 XNUMX 자에게 제공되는 서비스를 위해 QGIS에 의존하는 수십만 명의 사용자이기 때문입니다.

때때로 API가 과거에 내린 결정에 대한 개선 방법, 새로운 라이브러리와 수정과 아키텍처를 업데이트 수용하기 위해 필요한 파괴.

API를 파괴의 결과는 무엇인가?

QGIS 3.0에서 API의 위반이 더 이상 새로운 API와 호환 없을 것입니다 개발 된 플러그인의 수백이의 저자을 할 필요가 깨질 수 있습니다 큰 영향을 가질 것입니다 이유 중 하나 새 API와의 호환성을 보장하기위한 개발 검토

필요한 변화의 정도는 크게에 따라 달라집니다

  • 대부분의 API 변경은 현재의 기능에 영향을 미친다.
    얼마나 많은 포인트 플러그인 저자는 변화 할 것 API의 일부를 사용하고 있습니다.
  • 3.0의 주요 변경 내용은 무엇입니까?

3.0에서 변화를 찾고있는 네 가지 주요 영역이 있습니다 :

 

QT4 업데이트에 Qt5 : 이것은 QGIS가 최상위 레벨에 구축된 기본 라이브러리 세트입니다. 우리는 플랫폼의 CORE 기능 레벨을 말합니다. QT는 또한 메모리 관리, 연결 작업 및 그래픽 관리를 수행하기 위한 라이브러리를 제공합니다. Qt4(QGIS가 현재 기반으로 하고 있음)는 현재 Qt 라이브러리 유지 관리자에 의해 개발되지 않고 있으며 일부 플랫폼(예: OS X)에서 기능 문제가 있을 수 있으며 바이너리 버전(예: Debian Testing 및 다음 Debian 릴리스)을 더 쉽게 관리할 수도 있습니다. "뻗기"). QGIS를 QT5로 가져오는 과정에는 Marco Bernasocchi와 함께 전적으로 QT5를 기반으로 하는 Android "QField"에서 연기를 펼친 중요한 진전(주로 Matthias Kuhn이 수행한 작업)이 이미 있습니다. 그러나 QGIS, 특히 웹 브라우저 위젯(주로 Composer 및 QGIS의 다른 몇 곳에서 사용)에 미치는 영향으로 인해 새 QT5를 시작하고 실행하는 데 몇 가지 제한이 있습니다.

PyQt4 업데이트에 PyQt5 : 다음은 QGIS Python API의 기반이되는 Qt 용 Python 언어의 상대적 변화입니다. QT5 C ++ 라이브러리를 변경 발생, 또한 파이썬 QT5의 새로운 API의 이점을 활용할 수 있도록 PyQt5 파이썬 라이브러리로 전송 것으로 예상된다.
파이썬 파이썬 2.7 3을 업데이트하기 : 현재 모든 것이 Python 2.7에서 실행됩니다. Python 3은 최신 버전의 Python이며 해당 프로젝트를 주도하는 사람들이 권장합니다. Python 2는 Python 3과 약간 호환되지 않습니다 (QGIS 2와 Qgis 3 간의 비 호환성에 거의 비례 함). 많은 개발자가 Python Python 3을 Python 2와 대체로 하위 호환되도록 만들었지 만 하위 호환성은 그다지 크지 않습니다.
QGIS 자신의 API를 개선 : 버전 간 API 호환성을 유지하는 데 따른 문제 중 하나는 장기적으로 디자인 선택 사항을 따라야 한다는 것입니다. QGIS에서는 일련의 마이너 릴리스에서 API가 중단되지 않도록 모든 노력을 기울였습니다. 현재 지원되지 않는 API가 포함된 QGIS 3.0 버전을 출시하면 API에서 우리가 준수하지 않는 부분을 수정하여 "청소"할 수 있는 기회를 얻을 수 있습니다. 임시 목록을 볼 수 있습니다. 3.0은 API에 대한 변경 사항을 제안.

3.0의 API 변경을 지원하는 방법

이미 언급했듯이 버전 3.0은 QGIS 버전 2.x에서 중단되며 현재 API를 기반으로하는 많은 플러그인, 기존 응용 프로그램 및 기타 코드가 중단 될 가능성이 있습니다. 그렇다면 변경 사항을 완화하기 위해 무엇을 할 수 있습니까? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias 및 기타 최고 개발자들은 차세대 라이브러리 및 자체 내부 API를 기반으로하는 QGIS 코드베이스를 계속 발전시키면서 API 중단 변경 횟수를 완화 할 방법을 찾고 있습니다. QGIS 프로젝트 운영위원회의 마지막 회의에서 우리는 다양한 가능성을 통해 지오 퓨밍했습니다. 다음 표는 Matthias Kuhn이 정중하게 요약 한 내용과이 기사에서 부분적으로 음역을 시도한 내용을 요약 한 것입니다. 그들은 자신의 블로그에 게시:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
출시 날짜 월 종료 4 2.14 달 ¿주기 8 달?
NOTES 핵심 QGIS 파이썬 코드를 파이썬 3의 업데이트를 준수하고 PyQt5 지원합니다 (키 기능, 예를 들면 콘솔 부분 구현, 파이썬 코어 플러그인 등)
Qt4 Si

데비안 스트레치에서 사용되지 않는 (1 년에 의한)

(-webkit 제거)

가능 아니
Qt5 아니

미스 QWebView - 모든 플랫폼에서 새로운 대체. 또한 QPainter를 엔진 벗어났습니다.

Si Si
PyQt4 Si Si 아니
PyQt5 아니 Si Si
파이썬 2 Si Si 아니
파이썬 3 아니 Si Si
정리 API 아니 아니 Si
래퍼
PyQt5-> PyQt4
~ 90 %는 이전 버전과의 호환성을 제공합니다
아니 Si Si
주류 진 기반 Qt4 기반 Qt4 기반 Qt5
기금의 우선 순위 파이썬 래퍼

제안 마티아스에 대해 주목해야 할 두 가지 중요한 사항이 있습니다 :

첫 번째 단계에서이 연구는 Qt2, PyQt5 파이썬 5을 지원, 파이썬 3.0를 사용 PyQt4, 4.x 지원 QT2.7를 완료 시리즈에서 이루어집니다. 이것은 첫 번째 단계의 모든 변경은 이전 버전 2.x와 호환이 될 것이라는 점을 의미한다. QT4, PyQt5, 파이썬 5에 대해 컴파일 할 때 기존의 API PyQt3.0 여전히 특히 사용할 수 있도록 통합됩니다 파이썬 기능을 소개합니다. 호환성이 손상되지 Qt4, PyQt4 파이썬 2.7에 대해 컴파일 QGIS를 사용하여.
두 번째 단계에서그것은 완전히 새로운 API를 도입, QGIS 3.0을 생산 Qt2.7 및 PyQt4에 대한 지원을 포함, 파이썬 4을 제거하기 위해 작동합니다. 첫 번째 단계에 진입 파이썬의 새로운 기능은 계정에 모든 파이썬 코드와 QGIS의 2.x 버전에 대한 개발 QGIS의 3.x 버전에서 작업을 계속 복용 유지됩니다. 이 단계는 일부 플러그인을 깰 수있는 QGIS의 API의 변화를 도입 할 것으로 예상된다. 이 2.x QGIS 3.x이 버전을 QGIS 버전의 이동을 용이하게하기 위해 시도하는지도 AA 마이그레이션을 제공 할 것입니다 해결하기 위해.

주의의 위험 부담

QGIS 3.0로 마이그레이션은 덜 고통스러운 사운드를 보장하라는 메시지가 표시 될 수있는 몇 가지 요령이 있습니다.

  • 1. S위에서 설명한 접근 방식은 플러그인에서 Python 스크립팅 작업량을 최소화하려고 시도하지만 반드시 100 %는 아닙니다. 코드를 수정해야하는 경우가 많으며 적어도 모든 경우에 코드가 제대로 작동하는지 확인하기 위해 수정해야 할 가능성이 높습니다.
    2.이 마이그레이션 프로세스에 자발적으로 시간을 투자하는 개발자에게 지불 할 공식적으로 확립 된 재정 자원이 없습니다. 이로 인해 프로세스의 각 부분에 걸리는 시간에 대한 정확한 시간 프레임을 제공하는 것은 매우 어려울 것입니다. 이 불확실성은 계획시 고려해야합니다. 물론 이런 일이 일어나도록 돕기 위해 기부를 환영합니다.
    3. QGIS 2.x 시리즈의 새로운 기능에 자금을 지원하는 개발자와 기관이있을 수 있으며 이는 작업에 영향을 미칠 수 있습니다. 이러한 프로젝트의 계획과 예산에 QGIS 3.x 플랫폼으로의 마이그레이션을 위해 특정 할당을 포함해야합니다.
    4. QGIS 팀이 "전체 변경" 작업을 수행하는 경우 QGIS 3.0에 대한 지속적인 업데이트로 인해 QGIS가 불안정하고 지속적으로 변경되는 비교적 짧은 시간이 있을 것입니다.
    4. '진화' 방식으로 개발하는 경우 충성스러운 개발자 그룹이 작업하고 이식할 준비를 하지 않는 한 3.0 개발이 더 오래 걸릴 수 있다는 위험을 감수해야 합니다.

    제안

위의 모든 정보에 비추어, 행동의 두 가지 코스 중 하나가 제안 :

1 제안 :

임시 버전 2.16을 릴리스 한 다음 3.0 개월의 개발 기간으로 버전 8 작업을 우선적으로 시작합니다. 버전 2.16에서 변경된 사항은 버전 3.0과 호환되도록 할 것입니다 (python3 / pytq5 참조).

2 제안 :

한 번 Lunging 것은 QT3.0, 파이썬 5 및 PyQt3.0에 더 확장 된 기간 창 5 및 3.0 자신의 작업을 할 개발자를 부탁드립니다. 2가 준비 될 때까지 보통 주파수 3.0.x 버전을 계속합니다.

대안 제안

대체 제안이 있습니까? QGIS는 가능한 대안에 대해 알고 싶어합니다. 제안서를 제출하려면 다음 주소로 보내주십시오. tim@qgis.org "QGIS 3.0 제안"이라는 주제로.

를 따릅니다해야 QGIS 블로그, 어디서 본 자료는했다.

골지 알바레즈

토지 관리 모델의 작가, 연구원, 전문가. 그는 다음과 같은 모델의 개념화 및 구현에 참여했습니다. 온두라스의 국가 재산 관리 시스템 SINAP, 온두라스의 공동 지자체 관리 모델, 니카라과의 통합 지적 관리 모델, 콜롬비아의 영토 SAT 관리 시스템 . 2007년부터 Geofumadas 지식 블로그의 편집자이자 GIS - CAD - BIM - 디지털 트윈 주제에 대한 100개 이상의 과정을 포함하는 AulaGEO Academy의 창시자입니다.

관련 기사

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

맨 위로 가기 버튼