Logo

QGIS关于python的使用

20250113T0939520800

最近在研究QGIS关于配准的功能,而且目前最大限度的使用也主要是这个功能,给图片添加物理信息,但是有个问题,就是手动配置的,肯定会存在问题的,会导致图片变形,尤其是在那种没有参照物的地图上,

获取当前点击的经纬坐标

不得不说,QGIS有python这个功能确实可扩展性会强很多,也方便外接很多东西,但然也包括自然化。

from qgis.gui import QgsMapToolEmitPoint
from qgis.core import QgsCoordinateReferenceSystem, QgsCoordinateTransform, QgsProject

class ClickTool(QgsMapToolEmitPoint):
    def __init__(self, iface):
        self.iface = iface
        QgsMapToolEmitPoint.__init__(self, self.iface.mapCanvas())
        self.canvasClicked.connect(self.print_coords)

    def print_coords(self, point, button):
        canvas = self.iface.mapCanvas()
        crsSrc = canvas.mapSettings().destinationCrs()
        crsDest = QgsCoordinateReferenceSystem(4326)  # WGS 84
        xform = QgsCoordinateTransform(crsSrc, crsDest, QgsProject.instance())
        transformed_point = xform.transform(point)
        print(f"纬度: {transformed_point.y()}, 经度: {transformed_point.x()}")

# 创建工具实例并设置为当前工具
click_tool = ClickTool(iface)
iface.mapCanvas().setMapTool(click_tool)