8 votos

¿Utilizando la API de QGIS y Python, para devolver la latitud y la longitud de un punto?

Tengo una capa de puntos, que me gustaría devolver la Longitud, latitud utilizando la API de QGIS y Python.

¿Cómo puedo utilizar QgsPoint ¿para hacer eso?

8voto

Josh Puntos 569

Esto funciona en el último lanzamiento 'Tethys'.

La capa de puntos que me interesa es la primera capa de mi lista de capas. Los valores de las coordenadas estarán en las unidades del sistema de referencia espacial de la capa. Si su capa está en lat/lon, recuerde que x=lon e y=lat...

Abra la consola de Python y escriba esto:

from qgis.utils import iface

feat = QgsFeature()
mc = iface.mapCanvas()
layer = mc.layer(0)
provider = layer.dataProvider()
provider.select()

while(provider.nextFeature(feat)):
    geometry = feat.geometry()
    print "X Coord %d: " %geometry.asPoint().x()
    print "Y Coord %d: " %geometry.asPoint().y()
    print

7voto

tobes Puntos 19

Esto requiere que su capa esté en una proyección que utilice lat/lon para devolver las coordenadas geográficas:

provider = layer.dataProvider()
feat = QgsFeature()
while(provider.nextFeature(feat)):
    geom = feat.geometry()
    x = geom.asPoint().x()
    y = geom.asPoint().y()

(tomado del plugin Points2One de Pavol Kapusta y Goyo Diaz)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X