Tengo un pequeño problema. Un script que he escrito intenta obtener las coordenadas de cada vector de una capa, lo cual funciona PRINCIPALMENTE:
output_file = open('c:/myfile.txt', 'w')
layer = iface.activeLayer()
for f in layer.getFeatures():
geom = f.geometry()
if geom.type() == 1:
if geom.isMultipart():
line = '%s, %s, %s\n' % (f['USRN'], f['Street_Nam'], geom.asMultiPolyline())
else:
line = '%s, %s, %s\n' % (f['USRN'], f['Street_Nam'], geom.asPolyline())
elif geom.type() == 2:
if geom.isMultipart():
line = '%s, %s, %s\n' % (f['USRN'], f['Street_Nam'], geom.asMultiPolygon())
else:
line = '%s, %s, %s\n' % (f['USRN'], f['Street_Nam'], geom.asPolygon())
unicode_line = line.encode('utf-8')
output_file.write(unicode_line)
Sin embargo, parece haber un problema con las coordenadas Y (en mi caso, estoy utilizando WGS 84 (EPSG:4326). La longitud sale bien, pero la latitud no es precisa en absoluto. Por ejemplo:
-0.0920572,51.6096
Obviamente, la longitud está bien, pero la latitud no. Este es un extracto de una forma que es un óvalo, y las longitudes son todas diferentes. Sin embargo, debido a la falta de precisión, las latitudes que se emiten para esta característica son todas iguales (51,6096) que, cuando pongo esto en mi software, lo representa como una sola línea.
Lo siento, olvidé mencionar que estoy usando QGIS 2.8.1.