From bc97580dc080ca822e9122deba3a536318371314 Mon Sep 17 00:00:00 2001
From: "benjamin.jakimow@geo.hu-berlin.de" <q8DTkxUg-BB>
Date: Thu, 8 Mar 2018 17:23:29 +0100
Subject: [PATCH] fixed maptool rubberband geometries

---
 timeseriesviewer/mapcanvas.py | 20 +++++++++++++-------
 timeseriesviewer/maptools.py  |  9 +++++----
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/timeseriesviewer/mapcanvas.py b/timeseriesviewer/mapcanvas.py
index 7262607d..05f2c4ff 100644
--- a/timeseriesviewer/mapcanvas.py
+++ b/timeseriesviewer/mapcanvas.py
@@ -144,10 +144,11 @@ class CursorLocationMapTool(QgsMapToolEmitPoint):
             ext = SpatialExtent.fromMapCanvas(self.mCanvas)
             cen = geoPoint
             geom = QgsGeometry()
-            geom.addPart([QgsPointXY(ext.upperLeftPt().x(),cen.y()), QgsPointXY(ext.lowerRightPt().x(), cen.y())],
-                          Qgis.Line)
-            geom.addPart([QgsPointXY(cen.x(), ext.upperLeftPt().y()), QgsPointXY(cen.x(), ext.lowerRightPt().y())],
-                          Qgis.Line)
+
+            lineV = QgsLineString([QgsPoint(ext.upperLeftPt().x(),cen.y()), QgsPoint(ext.lowerRightPt().x(), cen.y())])
+            lineH = QgsLineString([QgsPoint(cen.x(), ext.upperLeftPt().y()), QgsPoint(cen.x(), ext.lowerRightPt().y())])
+            geom.addPart(lineV, QgsWkbTypes.LineGeometry)
+            geom.addPart(lineH, QgsWkbTypes.LineGeometry)
             self.mRubberband.addGeometry(geom, None)
             self.mRubberband.show()
             #remove crosshair after 0.25 sec
@@ -244,7 +245,7 @@ class MapLayerInfo(object):
             self.mProvider = srcOrMapLayer.providerType()
             self.mLayer = srcOrMapLayer
             if isinstance(srcOrMapLayer, QgsVectorLayer):
-                self.mRenderer = srcOrMapLayer.rendererV2()
+                self.mRenderer = srcOrMapLayer.renderer()
             elif isinstance(srcOrMapLayer, QgsRasterLayer):
                 self.mRenderer = srcOrMapLayer.renderer()
 
@@ -272,7 +273,7 @@ class MapLayerInfo(object):
 
     def setRenderer(self, renderer):
         self.mRenderer = renderer
-        if self.mProvider == 'ogr' and isinstance(renderer, QgsFeatureRendererV2) or \
+        if self.mProvider == 'ogr' and isinstance(renderer, QgsFeatureRenderer) or \
            self.mProvider == 'gdal' and isinstance(renderer, QgsRasterRenderer):
             self.mRenderer = renderer
             if self.isInitialized():
@@ -800,7 +801,7 @@ class MapCanvas(QgsMapCanvas):
                 if isinstance(l, QgsVectorLayer):
                     lqgis = iface.addVectorLayer(l.source(), l.name())
                     #lqgis = QgsVectorLayer(l.source(), l.name(), 'ogr', False)
-                    lqgis.setRendererV2(l.rendererV2().clone())
+                    lqgis.setRendererV2(l.renderer().clone())
                     #grpNode.addLayer(lqgis)
 
     def stretchToCurrentExtent(self):
@@ -1079,6 +1080,11 @@ if __name__ == '__main__':
     def printTimeDelta(dt):
         print(dt)
     c = MapCanvas()
+    #c.activateMapTool('identifySpectralProfile')
+    #c.activateMapTool('identifyTemporalProfile')
+    #c.activateMapTool('identifyCursorLocationValues')
+    c.activateMapTool('moveCenter')
+
     c.sigDataLoadingFinished.connect(printTimeDelta)
     c.show()
     lyr1 = QgsRasterLayer(Img_2014_01_15_LC82270652014015LGN00_BOA)
diff --git a/timeseriesviewer/maptools.py b/timeseriesviewer/maptools.py
index 1a68c6d5..75289b82 100644
--- a/timeseriesviewer/maptools.py
+++ b/timeseriesviewer/maptools.py
@@ -94,10 +94,11 @@ class CursorLocationMapTool(QgsMapToolEmitPoint):
                 ext = SpatialExtent.fromMapCanvas(self.canvas)
                 cen = geoPoint
                 geom = QgsGeometry()
-                geom.addPart([QgsPointXY(ext.upperLeftPt().x(),cen.y()), QgsPointXY(ext.lowerRightPt().x(), cen.y())],
-                              Qgis.Line)
-                geom.addPart([QgsPointXY(cen.x(), ext.upperLeftPt().y()), QgsPointXY(cen.x(), ext.lowerRightPt().y())],
-                              Qgis.Line)
+                lineH = QgsLineString([QgsPoint(ext.upperLeftPt().x(),cen.y()), QgsPoint(ext.lowerRightPt().x(), cen.y())])
+                lineV = QgsLineString([QgsPoint(cen.x(), ext.upperLeftPt().y()), QgsPoint(cen.x(), ext.lowerRightPt().y())])
+
+                geom.addPart(lineH, QgsWkbTypes.LineGeometry)
+                geom.addPart(lineV, QgsWkbTypes.LineGeometry)
                 self.rubberband.addGeometry(geom, None)
                 self.rubberband.show()
                 #remove crosshair after 0.25 sec
-- 
GitLab