Ubah koordinat kanvas ke posisi layar [tertutup]

8

Saya punya titik, yang memiliki koordinat peta (kanvas) dan akan bagus untuk memiliki posisi layarnya. Saya memerlukan ini untuk mengatur posisi kursor di tempat yang sama, di mana titik berada.

Apakah Anda tahu cara untuk mengonversi koordinat ini?

DIV
sumber

Jawaban:

7

Saya pikir sesuatu seperti yang berikut ini dapat bekerja di mana Anda perlu mengubah koordinat peta Anda menjadi koordinat layar menggunakan QgsMapTool :: toCanvasCoordinates . Pilih titik di lapisan Anda lalu jalankan yang berikut di Python Console :

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())
Yusuf
sumber