From bef911e4c5652a76db6b780e116753355bff4868 Mon Sep 17 00:00:00 2001 From: BergWerkGIS Date: Tue, 11 Mar 2014 11:13:04 +0100 Subject: [PATCH] round scale to next 1000. inlclude placeholder 'Subthema' in layout. --- README.md | 6 +++--- VoGISRaumplanungPlot/metadata.txt | 2 +- VoGISRaumplanungPlot/resources_rc.py | 2 +- .../ui_vogisraumplanungplot.py | 2 +- .../ui_vogisraumplanungplotsettings.py | 2 +- .../vrpcomposer/vrpprintcomposer.py | 16 ++++++++++------ plugins.xml | 4 ++-- vogisraumplanungplot.zip | Bin 35681 -> 35769 bytes 8 files changed, 19 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 493eb2c..ef6efd6 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ #VoGIS-Raumplanung Plot -QGIS PlugIn to create plots from cadastral data. +QGIS PlugIn to create plots of cadastral data. -Works with 2.0 and 2.2. +Tested with 2.0 and 2.2. [Demo output.](/settings-and-output/out.pdf) @@ -26,7 +26,7 @@ Data/settings needed: * writeable path to save cached community names * ortho/satellite image * shapefiles with cadastral data -* composer layouts +* [composer layouts](#layouts) ##Releases [Download latest release](https://github.com/BergWerkGIS/VoGIS-Raumplanung/releases). diff --git a/VoGISRaumplanungPlot/metadata.txt b/VoGISRaumplanungPlot/metadata.txt index 29e625f..0b2f94e 100644 --- a/VoGISRaumplanungPlot/metadata.txt +++ b/VoGISRaumplanungPlot/metadata.txt @@ -11,7 +11,7 @@ [general] name=VoGIS Raumplanung description=Create Plots from VoGIS Data. -version=0.1.1 +version=0.1.2 qgisMinimumVersion=2.0 qgisMaximumVersion=2.99 author=BergWerk GIS diff --git a/VoGISRaumplanungPlot/resources_rc.py b/VoGISRaumplanungPlot/resources_rc.py index 1bea729..cf564f6 100644 --- a/VoGISRaumplanungPlot/resources_rc.py +++ b/VoGISRaumplanungPlot/resources_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Mo. Mär 3 16:02:47 2014 +# Created: Di. Mär 11 11:12:25 2014 # by: The Resource Compiler for PyQt (Qt v4.8.4) # # WARNING! All changes made in this file will be lost! diff --git a/VoGISRaumplanungPlot/ui_vogisraumplanungplot.py b/VoGISRaumplanungPlot/ui_vogisraumplanungplot.py index c5e66e8..85db083 100644 --- a/VoGISRaumplanungPlot/ui_vogisraumplanungplot.py +++ b/VoGISRaumplanungPlot/ui_vogisraumplanungplot.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui_vogisraumplanungplot.ui' # -# Created: Mon Mar 3 16:02:47 2014 +# Created: Tue Mar 11 11:12:25 2014 # by: PyQt4 UI code generator 4.10.3 # # WARNING! All changes made in this file will be lost! diff --git a/VoGISRaumplanungPlot/ui_vogisraumplanungplotsettings.py b/VoGISRaumplanungPlot/ui_vogisraumplanungplotsettings.py index 2fe9d72..19a81f6 100644 --- a/VoGISRaumplanungPlot/ui_vogisraumplanungplotsettings.py +++ b/VoGISRaumplanungPlot/ui_vogisraumplanungplotsettings.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui_vogisraumplanungplotsettings.ui' # -# Created: Mon Mar 3 16:02:47 2014 +# Created: Tue Mar 11 11:12:25 2014 # by: PyQt4 UI code generator 4.10.3 # # WARNING! All changes made in this file will be lost! diff --git a/VoGISRaumplanungPlot/vrpcomposer/vrpprintcomposer.py b/VoGISRaumplanungPlot/vrpcomposer/vrpprintcomposer.py index 284ba03..103621b 100644 --- a/VoGISRaumplanungPlot/vrpcomposer/vrpprintcomposer.py +++ b/VoGISRaumplanungPlot/vrpcomposer/vrpprintcomposer.py @@ -157,8 +157,8 @@ def export_all_features(self): if VRP_DEBUG is True: QgsMessageLog.logMessage(u'bbox old:{0}'.format(compmap.extent().toString()), DLG_CAPTION) compmap.setNewExtent(new_ext) if VRP_DEBUG is True: QgsMessageLog.logMessage(u'bbox new:{0}'.format(compmap.extent().toString()), DLG_CAPTION) - #round up to next 100 - compmap.setNewScale(math.ceil((compmap.scale()/100.0)) * 100.0) + #round up to next 1000 + compmap.setNewScale(math.ceil((compmap.scale()/1000.0)) * 1000.0) if VRP_DEBUG is True: QgsMessageLog.logMessage(u'bbox new (after scale):{0}'.format(compmap.extent().toString()), DLG_CAPTION) #add ORTHO after new extent -> performance @@ -223,7 +223,7 @@ def export_all_features(self): if cntr > 0: printer.newPage() self.__reorder_layers() - self.__update_composer_items(thema.name, layers=layers) + self.__update_composer_items(thema.name, subthema=sub_thema.name, layers=layers) composition.renderPage(pdf_painter, 0) QgsMapLayerRegistry.instance().removeMapLayers([lyr.id() for lyr in layers]) cntr += 1 @@ -243,7 +243,7 @@ def export_all_features(self): str_flaechen += u'{0}{1} ({2:.2f}m²)'.format(comma, gnr, stats[0].flaeche) idx += 1 lbls = self.__get_items(QgsComposerLabel, self.comp_textinfo) - self.__update_composer_items('', lbls, str_flaechen) + self.__update_composer_items('', labels=lbls, gnrflaeche=str_flaechen) html = tabelle.text() html += u'' #gnrcnt = 0 @@ -379,7 +379,7 @@ def __get_thema_by_layername(self, lyrname): return subthema return None - def __update_composer_items(self, oberthema, labels=None, gnrflaeche=None, layers=None): + def __update_composer_items(self, oberthema, subthema=None, labels=None, gnrflaeche=None, layers=None): if labels is None: labels = self.comp_lbl for leg in self.comp_leg: @@ -407,6 +407,8 @@ def __update_composer_items(self, oberthema, labels=None, gnrflaeche=None, layer for lbl in labels: txt = lbl[1].replace('[Gemeindename]', self.gem_name) txt = txt.replace('[Oberthema]', oberthema) + if not subthema is None: + txt = txt.replace('[Subthema]', subthema) txt = txt.replace('[GNR]', ', '.join(self.gnrs)) if not gnrflaeche is None: txt = txt.replace('[GNRFLAECHE]', gnrflaeche) @@ -564,8 +566,10 @@ def __read_template(self, textinfo=False): filename = self.template_qpt if VRP_DEBUG is True: QgsMessageLog.logMessage(u'reading template: {0}'.format(filename), DLG_CAPTION) xml_file = QFile(filename) + #if xml_file.exists() is False: + # return u'\nTemplate ist nicht vorhanden!\n\n{0}'.format(self.template_qpt), None if xml_file.open(QIODevice.ReadOnly) is False: - return u'Konnte Template nicht öffnen!\n{0}'.format(self.template_qpt), None + return u'\nKonnte Template nicht öffnen!\n\n{0}\n\n{1}: {2}'.format(filename, xml_file.error(), xml_file.errorString()), None xml_doc = QDomDocument('mydoc') xml_doc.setContent(xml_file) return None, xml_doc diff --git a/plugins.xml b/plugins.xml index 23c86b0..fb491d4 100644 --- a/plugins.xml +++ b/plugins.xml @@ -1,8 +1,8 @@ - + - 0.1.1 + 0.1.2 2.0.0 2.99.0 https://github.com/BergWerkGIS/VoGIS-Raumplanung/ diff --git a/vogisraumplanungplot.zip b/vogisraumplanungplot.zip index ac0def73cc0d79a4b97add76fbbae74eb5dcf5ba..5da52242e860d834560a0dfe85d5524590365b35 100644 GIT binary patch delta 15908 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 delta 15870 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 uh>`y``ln4O5)Zt}