diff --git a/tools/canvasTool.py b/tools/canvasTool.py index b703da3..cc46279 100644 --- a/tools/canvasTool.py +++ b/tools/canvasTool.py @@ -7,7 +7,7 @@ from PyQt5.QtGui import QColor from qgis._gui import QgsMapMouseEvent from qgis.core import ( - QgsFeature, + Qgis, QgsField, QgsFields, QgsFillSymbol, @@ -46,13 +46,15 @@ from .messageTool import MessageTool from .ulid import GroupId +qgis_version = Qgis.QGIS_VERSION_INT + # QVariant has been deprecated in version 3.38, use QMetaType instead -try: - from qgis.PyQt.QtCore import QMetaType -except ImportError: +if qgis_version < 33800: from qgis.PyQt.QtCore import QVariant as QMetaType + QMetaType.QString = QMetaType.String - +else: + from qgis.PyQt.QtCore import QMetaType SAM_Feature_Fields = [ QgsField("group_ulid", QMetaType.QString), @@ -885,13 +887,13 @@ def add_geojson_feature_to_canvas( for coord in coordinates: # transform pointXY from img_crs to polygon layer crs, if not match point = QgsPointXY(*coord) - + # show the point on canvas in project crs pt_project_crs = self.img_crs_manager.img_point_to_crs( point, self.qgis_project.crs() ) points_project_crs.append(pt_project_crs) - + # calculate the area in layer crs pt_layer_crs = self.img_crs_manager.img_point_to_crs( point, self.layer.crs()