Daha çox

Giriş Qatından QGIS İşləmə Giriş CRS


İstifadəçinin giriş qatı və çıxış CRS daxil olmaqla bir neçə parametr daxil etməsini tələb edən bir İşləmə alqoritmi yaradıram. Hal -hazırda alət SRID 4326 -ya uyğundur. İstəyirəm ki, CRS parametri giriş qatı olaraq seçilən hər hansı bir təbəqəyə defolt olsun. Bu mümkündürmü?

Emalda heç bir şey görmürəm. Qt daxili sisteminə girməli və qat seçimində dəyişiklik etmək üçün hadisə idarəçisini bağlamalıyammı?

Cari kod:

self.addParameter (ParameterCrs (self.TARGET_CRS, self.tr ('Hədəf CRS'), 'EPSG: 4326'))

İstədiyiniz yalançı kod:

self.addParameter (ParameterCrs (self.TARGET_CRS, self.tr ('Hədəf CRS'), işləmə.parameters.getCrsFromInputLayer (INPUT_LAYER)))

Bunu Multi Ring Tampon Pluginimdə etməyə çalışıram, amma daha zərif bir həll var.

Bu, seçilmiş bir təbəqəni əldə etdikdən və seçilmiş təbəqələri AuthID vasitəsilə yeni yaradılmış bir təbəqəyə CRS tətbiq etdikdən sonra edilir. AuthID tanınmırsa, QGIS etibarlı bir sənəd tələb edir.

# Aktiv qat buffer_crs_object = self.iface.activeLayer (). Crs () # AuthID tamponunu əldə edin = buffer_crs_object.authid () # Əgər tanınan buffer_input_crs = "Polygon? Crs =%s " % buffer_crs # Boş yaddaş vektor təbəqəsi yaradın layer_name = active_vl.name () vl = QgsVectorLayer (buffer_input_crs," % s_MultiRingBuffer " % layer_name," memory ")

Tam kod: https://github.com/HeikkiVesanto/QGIS_Multi_Ring_Buffer/blob/master/multi_ring_buffer.py


Videoya baxın: QGIS Projections and CRS (Sentyabr 2021).