Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have a point layer, that I'd like to return the Longitude, latitude using the qgis api. I assume I need to use QgsPoint

share|improve this question
add comment

2 Answers

up vote 4 down vote accepted

This works on the latest release 'Tethys'.

The point layer that I am interested in is the first layer in my layer list. The coordinate values will be in the units of the spatial reference system of the layer. If your layer is in lat/lon, remember that x=lon and y=lat...

Open the Python Console and type this:

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
share|improve this answer
add comment

This requires your layer to be in a projection using lat/lon to return geographic coordinates:

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

(taken from Points2One Plugin by Pavol Kapusta & Goyo Diaz)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.