Daha çox

Qgis 2.7 (Dev) xüsusiyyət fırlanma?

Qgis 2.7 (Dev) xüsusiyyət fırlanma?


Aşağıdakı kodun tək bir çoxbucaqlı xüsusiyyətini döndərmə ilə əlaqəli açıq bir səhv varsa, maraqlıdır.

The* .geometry (). rotate (...) '0' qaytarır, müvəffəq olduğunu ifadə edərək - hələ ekran və məlumat mənbəyi heç bir fırlanma təsvir etmir; qat, əfsanə və kətan yenidən yükləndikdən / yeniləndikdən sonra da.

Ya problem sintaksisdədir, yoxsa bəlkə də (bu bir Dev buraxılışı olduğu üçün) hələ tam işləməmiş bir funksiyadır?

inputShapeRef.startEditing () featureSearch = QgsFeatureRequest (). setFilterFid (int (inputShapeID)) xüsusiyyətRef = inputShapeRef.getFeatures (featureSearch) xüsusiyyətRef: xüsusiyyət.geometry (). döndür (self.MaxRotation, self.baseCentroidSh) ()

YENİLƏNİB: Tək sətir kodu yox idi və yenilənmiş ssenari. Uğurla formanı istənilən açıya çevirir; olduqca sürətlə!

inputShapeRef.startEditing () featureSearch = QgsFeatureRequest (). setFilterFid (int (inputShapeID)) featureRef = inputShapeRef.getFeatures (xüsusiyyətSearch) xüsusiyyətRef: xüsusiyyət.geometry (). döndür (self.MaxRotation, self.baseCentroid) input (feature.id (), feature.geometry ()) # <=== + = müvəffəqiyyət girişiShapeRef.commitChanges ()

Yekun fikirlər / suallar:

Bu funksionallığın bütöv bir təbəqəni, təbəqələrin miqyasını və ya çoxsaylı xüsusiyyətlərin seçimini həyata keçirdiyini bilən varmı? SAGA tərcümə işləmə funksiyası bu tələbatı yerinə yetirir, lakin məlumat susuzdur. Bu yeni tək xüsusiyyət fırlanmasının aşağı məlumat yükü və sürətli qayıdışı bütöv bir təbəqə və ya bir çox xüsusiyyət seçimi üçün olduqca faydalı olardı.

Məsələn, bir nöqtə massivinin əlaqəli bir məhdudlaşdırıcı çoxbucaqlı ilə sinxron şəkildə döndürülməsi lazım olduğunu söyləyin - daha sonra hər nöqtəni ayrı-ayrılıqda döndərin, yeni bir verilənlər bazası yaratmadan bütün massivi eyni vaxtda döndərən bir vasitə varmı?


Vektorunuzu dəyişdirmirsiniz, ancaq getFeature ilə əldə edilən "nüsxələr" xüsusiyyətləri. Xüsusiyyət.id () və videonun dataProvider-dən istifadə edərək və ya birbaşa vektor qatının metodlarından istifadə edərək (bir tənzimləmə sessiyası daxilində) updateGeometry əldə etməlisiniz.

üsullara istinad tapa bilərsiniz: QgsVectorDataProvider üçün: virtual bool changeGeometryValues ​​(QgsGeometryMap & geometry_map) (pyqgis yemək kitabçasında necə edəcəyinizə dair istinadlarınız var) Sonra triggerRepaint

QgsVectorLayer üçün: bool changeGeometry (QgsFeatureId fid, QgsGeometry * geom) törədildikdən sonra dəyişikliklər, triggerRepaint ehtiyac yoxdur

Hörmətlə, Luigi Pirelli


Videoya baxın: QGIS 3 # 4. Add online maps to map.