I found a way to have coordinates:

layer = qgis.utils.iface.activeLayer()
for elem in layer.getFeatures():
    geom= elem.geometry()

    elem = geom.asPolygon()

     for iii in range (len(elem)):
          for jjj in range (len(elem[iii])):

                x1,y1 = elem[iii][jjj][0], elem[iii][jjj][1]


Is this the unique way ?   Nothing of more elegant ?

For what reason, in the linestring case I can write something like this:


layer = qgis.utils.iface.activeLayer()
for elem in layer.getFeatures():
    geom= elem.geometry()
    poly = geom.asPolyline()

    for p1 in elem:
         x1,y1 = p1.x(),p1.y()
         print   ('%lf,%lf \n') % (x1,y1)


...and, instead, in polygon there is not a x()  y()  method ?

:)



Thank you

Roberto
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to