キャンバス座標を画面位置に変換します[終了]


8

地図(キャンバス)の座標を持つポイントがあります。彼の画面の位置を知っておくと便利です。ポイントが配置されている同じ場所にカーソル位置を設定するには、これが必要です。

この座標を変換する方法を知っていますか?

回答:


7

QgsMapTool :: toCanvasCoordinatesを使用してマップ座標を画面座標に変換する必要がある次のようなものがうまくいくと思います。レイヤーのポイントを選択し、Pythonコンソールで次のコマンドを実行します。

from qgis.gui import QgsMapTool
from PyQt4.QtGui import QCursor

layer = iface.activeLayer()
for f in layer.selectedFeatures():
    geom = f.geometry()
    point = QgsMapTool(iface.mapCanvas()).toCanvasCoordinates(geom.asPoint())
    transformed_point = iface.mapCanvas().mapToGlobal(point)
    QCursor().setPos(transformed_point.x(), transformed_point.y())
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.