Daha çox

Python istifadə edərək QGIS-də mərkəzdə qat poliqonunu necə qura bilərəm?

Python istifadə edərək QGIS-də mərkəzdə qat poliqonunu necə qura bilərəm?


Qat müxtəlif poliqonda dəyişəndə ​​sabit bir zoom səviyyəsini təyin etməyə çalışıram. Bütün çoxbucaqlılar üçün koordinatlarım var, hər bir çoxbucaqlının mərkəzdə müəyyən bir zoom səviyyəsində olması lazımdır ki, proqram avtomatik olaraq layoutun çapını ala bilsin.

PS: Çap funksiyası üçün artıq kodum var. Çap düzeni proqramı hazırladım, ancaq zoom səviyyəsindəki görüntü mərkəzli çoxbucaqlı şəkillər hazırlayır.

PyQt4.QtCore import * PyQt4.QtGui import * qgis.core import * qgis.utils import * mapRenderer = iface.mapCanvas (). mapRenderer () c = QgsComposition (mapRenderer) c.setPlotStyle (QgsComposition.Print) x , y = 0, 0 w, h = c.paperWidth (), c.paperHeight () composerMap = QgsComposerMap (c, x, y, w, h) print composerMap c.addItem (composerMap) item = QgsComposerScaleBar (c) item .setStyle ('Numeric') # isteğe bağlı olaraq stil elementini dəyişdirin.setComposerMap (composerMap) item.applyDefaultSize () c.addItem (item) dpi = c.printResolution () print dpi dpmm = dpi / 24.5 width = int (dpmm * c .paperWidth ()) height = int (dpmm * c.paperHeight ()) # çıxış görüntüsünü yaradın və işə salın image = QImage (QSize (width, height), QImage.Format_ARGB32) image.setDotsPerMeterX (dpmm * 100) image.setDotsPerMeterY (dpmm * 100) image.fill (0) # kompozisiyanı göstərmək imagePainter = QPainter (image) sourceArea = QRectF (0, 0, c.paperWidth (), c.paperHeight ()) targetArea = QRectF (0, 0, width , boy) c.render (imagePainter, targ etArea, sourceArea) imagePainter.end () image.save ("C: /example/Ashwin/out2223.png"> qgis python qgis-plugins qgis-2 python-2.7
							

Videoya baxın: QGIS Python PyQGIS - Show Error, Warning, and Success Messages