最近在研究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)