Skip to content

Commit

Permalink
fix bug when filter polygon by pixel number
Browse files Browse the repository at this point in the history
Fanchengyan committed Dec 24, 2023
1 parent 32a4bc7 commit 11adeda
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions tools/canvasTool.py
Original file line number Diff line number Diff line change
@@ -872,20 +872,30 @@ def add_geojson_feature_to_canvas(
areas = []
geometries = []
for geom in geojson:
points = []
points_project_crs = []
points_layer_crs = []
coordinates = geom["geometry"]["coordinates"][0]
for coord in coordinates:
# transform pointXY from img_crs to polygon layer crs, if not match
point = QgsPointXY(*coord)
point = self.img_crs_manager.img_point_to_crs(

# 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.append(point)

geometry = QgsGeometry.fromPolygonXY([points])
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()
)
points_layer_crs.append(pt_layer_crs)

geometry = QgsGeometry.fromPolygonXY([points_project_crs])
geometries.append(geometry)
areas.append(geometry.area())

geometry_layer_crs = QgsGeometry.fromPolygonXY([points_layer_crs])
areas.append(geometry_layer_crs.area())
# geometry_area = feature.geometry().area()

def process_geometry():

0 comments on commit 11adeda

Please sign in to comment.