QGIS

QGIS 3.0 - Nasıl, ne zaman ve ne; ima ediyor

Birçoğumuz soruyorsunuz:

QGIS 3.0 ne zaman serbest bırakılacak?

Geçen yıl (2015) proje ekibi QGIS 3.0'in ne zaman ve nasıl serbest bırakılacağını araştırmaya başladı. Şöyle bir söz verdi: Anita GraserQGIS 3.0'ı yayınlamadan önce planlarının kullanıcılarına ve geliştiricilerine açıkça iletecekleri. Yakın zamanda bir QGIS 3.0 sürümü için bazı hususları açığa çıkarmaya çalıştılar ve yazının sonunda fikirlerimizi sunmamız için bir fırsat var.

Neden 3.0?

QGis_LogoGenellikle, yazılımınızın API'sinde büyük bir değişiklik yapıldığı zamanlar için büyük bir sürüm ayrılmıştır. Bu ara, QGIS projesi için önemsiz bir karar değildir, çünkü hem kendi kullanımımız hem de üçüncü şahıslara sağlanan hizmetler için QGIS'e bağımlı olan yüz binlerce kullanıcıyız.

Bazen API geçmişte yapılan kararlara geliştirilmiş yaklaşımlar, yeni kütüphaneler ve düzeltmeler ile mimariyi güncellenmesi karşılamak için gerekli olan kırma.

API kırma sonuçları nelerdir?

QGIS 3.0 içinde API bu ihlali artık yeni API ile uyumlu olacağını gelişmiş eklentileri yüzlerce ve bunların yazarları yapmak zorunda kırabilir büyük etkisi, sahip olmasıdır nedenlerinden biri yeni API ile uyumluluğunu sağlamak için gelişmelerinin gözden geçirilmesi.

gerekli değişikliklerin kapsamı büyük ölçüde bağlıdır:

  • Birçok API değişiklikler mevcut işlevselliği etkiler.
    Kaç puan eklentileri yazarlar değiştirecek API parçalarını kullandık.
  • 3.0 ana değişiklikler nelerdir?

3.0 de değişim için aradığınız dört temel alan vardır:

 

QT4 güncellemesine Qt5: Bu, QGIS'in en üst düzeyde oluşturduğu temel kitaplıklar kümesidir, platformun CORE işlevsel düzeyinden bahsediyoruz. QT ayrıca bellek yönetimi, bağlantı işlemleri ve grafik yönetimi gerçekleştirmek için kitaplıklar sağlar. Qt4 (QGIS'in şu anda temel aldığı) şu anda Qt kitaplığı sahipleri tarafından geliştirilmemektedir ve bazı platformlarda (ör. OS X) işlevsellik sorunları olabilir ve hatta ikili sürümlerin yönetimini kolaylaştırabilir (ör. Debian Testing ve bir sonraki Debian sürümü). "Uzatmak"). QGIS'i QT5'e getirme süreci, Marco Bernasocchi ile birlikte tamamen QT5'e dayalı Android "QField" üzerinde sigara içen önemli bir ilerlemeye (esas olarak Matthias Kuhn'un yaptığı) sahiptir. Ancak, QGIS üzerindeki etkisi nedeniyle yeni QT5'i çalışır duruma getirmede bazı sınırlamalar vardır - özellikle web tarayıcı widget'ları (esas olarak Composer'da ve ayrıca QGIS'de birkaç başka yerde kullanılır).

PyQt4 güncellemesine PyQt5: Bunlar, QGIS Python API'sının dayandığı Qt için Python diline göreli olarak yapılan değişikliklerdir. QT5 C ++ kütüphanesi değiştirmek doğar, ayrıca Python QT5 yeni API avantajlarından yararlanmak böylece PyQt5 piton kütüphanesine aktarmak bekleniyor.
Python Python 2.7 3 için güncelleme: Şu anda her şey Python 2.7'de çalışıyor. Python 3, python'un en son sürümüdür ve bu projeye liderlik edenler tarafından tavsiye edilir. Python 2, Python 3 ile biraz uyumsuzdur (neredeyse QGIS 2 ve Qgis 3 arasındaki uyumsuzluk ile orantılıdır). Birçok geliştirici, python Python 3'ü Python 2 ile büyük ölçüde geriye dönük uyumlu hale getirdi, ancak geriye dönük uyumluluk o kadar da iyi değil.
QGIS kendi API geliştirme: Sürümler arasında API uyumluluğunu korumanın sorunlarından biri, uzun vadede tasarım seçimlerinizle yaşamak zorunda olmanızdır. API'yi bir dizi küçük sürümde kırmamak için QGIS'de her türlü çaba gösterilir. Şu anda desteklenmeyen bir API ile 3.0 için QGIS sürümünün yayınlanması, API'de uyumlu olmadığımız şeyleri düzelterek bize "temizleme" fırsatı verecektir. Geçici bir listesini görebilirsiniz 3.0 API değişiklikleri önerdi.

3.0 API değişen desteklemek için nasıl

Daha önce de belirtildiği gibi, sürüm 3.0, QGIS sürüm 2.x ile bozulacak ve mevcut API'yi temel alan birçok eklentinin, mevcut uygulamanın ve diğer kodun bozulma olasılığı vardır. Peki değişiklikleri azaltmak için ne yapılabilir? Matthias Kuhn, Jürgen Fischer, Nyall Dawson, Martin Dobias ve diğer üst düzey geliştiriciler, gelecek nesil kitaplıklara ve kendi dahili API'sine dayanan QGIS kod tabanını geliştirmeye devam ederken, API kırılma değişikliklerinin sayısını azaltmanın yollarını arıyorlar. QGIS Proje Yürütme Komitesi'nin son toplantımızda, çeşitli olasılıkların yerini belirledik. Aşağıdaki tablo, Matthias Kuhn'un nezaketle özetlediği ve neye göre bu makalede kısmen transliterasyon yapmaya çalıştığımızı özetlemektedir. Onlar kendi blogunda yayınlanan:


QGIS 2.14 LTR
QGIS 2.16 ??? QGIS 3.0
Yayın tarihi Şubat ayının sonu 4 2.14 ay ¿Döngüsü 8 ay?
Fatura Çekirdek QGIS piton kodu Python 3 güncelleme uyumlu olması ve PyQt5 destekler için (anahtar işlevi örneğin konsolu için kısmi uygulama, piton çekirdek eklentileri vs.)
Qt4 Si

Debian Stretch onaysız (yılda nedeniyle)

(-webkit kaldırıldı)

Evet Yok hayır
Qt5 Yok hayır

Özlüyor QWebView - değil tüm platformlarda yeni yedek. Ayrıca QPainter Motor kaçırır.

Si Si
PyQt4 Si Si Yok hayır
PyQt5 Yok hayır Si Si
Python 2 Si Si Yok hayır
Python 3 Yok hayır Si Si
Temizleme API Yok hayır Yok hayır Si
sarmalayıcıları
PyQt5 -> PyQt4
~ 90% geriye doğru uyumluluk sağlar
Yok hayır Si Si
ana akım İkili Tabanlı Qt4 Tabanlı Qt4 Tabanlı Qt5
Fon önceliği Python sarmalayıcıları

Öneri Matthias konusunda dikkat edilmesi gereken iki önemli şey vardır:

İlk aşamadaiş Qt2, PyQt5 ve Python 5 destekleyen, Python 3.0 kullanarak PyQt4, 4.x destek QT2.7 tamamlamak için seri olarak yapılır. Bu ilk aşamada yapılan tüm değişiklikler önceki sürümleri 2.x ile uyumlu olacağını ima eder. QT4, PyQt5, Python 5 karşı derlenmiş zaman eski API PyQt3.0 hala özellikle kullanılabilecek şekilde dahil edilecektir Python özellikleri tanıtılacak. uyumluluğu kırmaz Qt4, PyQt4 ve Python 2.7 karşı derlenmiş QGIS kullanarak.
İkinci aşamadaTamamen yeni API tanıtan, QGIS 3.0 üretmek Qt2.7 ve PyQt4 için destek dahil, Python 4 kaldırmak için çalışacak. İlk safhaya giriyor piton yeni özellikler dikkate bütün piton kodu ve QGIS ait 2.x sürümleri için gelişmeleri QGIS ait 3.x sürümlerinde çalışmaya devam alarak muhafaza edilecektir. Bu aşama da bazı eklentileri bozabilir QGIS API değişiklikleri ortaya sürmesi bekleniyor. Bu 2.x QGIS 3.x sürümlerini QGIS versiyonlarının göçünü kolaylaştırmak için denemek için rehberlik aa göç sağlayacaktır ele almak.

sorumluluğun alıcıya ait olması

QGIS 3.0 için göç daha az ağrılı ses sağlamak için istenecek yönelik bazı ipuçları vardır.

  • 1. SYukarıda belirtilen yaklaşım, eklentilerdeki python üzerinde komut dosyası yazmada var olan iş miktarını en aza indirmeye çalışırken, bunun% 100 olması gerekmeyeceğine dikkat edilmelidir. Büyük olasılıkla, kodun ince ayarlanması gereken durumlar olacaktır ve en azından her durumda, düzgün çalışmaya devam etmesini sağlamak için büyük olasılıkla revize edilmesi gerekecektir.
    2. Bu geçiş süreci için gönüllü olarak zaman ayıran geliştiricilere ödeme yapacak resmi olarak oluşturulmuş bir mali kaynak yoktur. Bu nedenle, sürecin her bir bölümünün ne kadar süreceğine dair kesin zaman dilimleri vermek çok zor olacaktır. Planlamada bu belirsizlik dikkate alınmalıdır. Tabii ki bağışlar bunun gerçekleşmesine yardımcı olabilir.
    3. QGIS 2.x serisi için yeni özellikleri finanse eden geliştiriciler ve kurumlar olabilir ve bu, çalışmanızı etkileyebilir. Bu projelerin planlarına ve bütçelerine QGIS 3.x platformuna geçişle yüzleşmek için belirli bir tahsisat dahil etmek gerekir.
    4. QGIS ekibi "toplam değişim" üzerinde çalışıyorsa, QGIS 3.0'a yönelik devam eden güncellemeler nedeniyle QGIS'in kararsız ve sürekli değişeceği nispeten kısa bir süre olacaktır.
    4. "Evrimsel" bir şekilde geliştirirseniz, üzerinde çalışan sadık bir geliştirici grubunuz yoksa ve onu taşımaya hazır hale getirmedikçe 3.0 geliştirmesinin daha uzun sürmesi riskini taşırsınız.

    önerileri

her şeyden bilgiler ışığında, iki şekilde davranabilir biri önerilmektedir:

1 önerisi:

Geçici bir 2.16 sürümü yayınlayın ve ardından sürüm 3.0 üzerinde 8 aylık bir geliştirme aralığı ile öncelikli olarak çalışmaya başlayın. Sürüm 2.16'da yapılan değişiklikler, sürüm 3.0 ile uyumlu olmaya çalışacaktır (bkz. Python3 / pytq5).

2 önerisi:

bir kere lunging QT3.0, Python 5 ve PyQt3.0 üzerinde daha uzatılmış süre penceresiyle 5 ve 3.0 işlerini yapmak geliştiriciler sorun. 2 hazır olana kadar olağan frekans ile 3.0.x sürümleri ile devam edin.

alternatif teklifler

Alternatif bir teklifiniz var mı? QGIS, olası alternatifler hakkında bilgi sahibi olmakla ilgilenir. Bir teklif vermek istiyorsanız, lütfen şu adrese gönderin: tim@qgis.org “QGIS 3.0 Önerisi” konusu ile.

izlemelidir QGIS günlüğü, Nereden bu yayın geldi.

golgi alvarez

Yazar, araştırmacı, Arazi Yönetim Modelleri uzmanı. Honduras'ta Ulusal Mülkiyet Yönetimi Sistemi SINAP, Honduras'ta Ortak Belediyeler Yönetim Modeli, Nikaragua'da Entegre Kadastro Yönetimi Modeli - Sicil, Kolombiya Bölgesi SAT Yönetim Sistemi gibi modellerin kavramsallaştırılmasına ve uygulanmasına katılmıştır. . 2007'den beri Geofumadas bilgi blogunun editörü ve GIS - CAD - BIM - Digital Twins konularında 100'den fazla kurs içeren AulaGEO Academy'nin yaratıcısı.

İlgili Makaleler

Yorum yapın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

Başa dön düğmeye