2 votos

Tratando de obtener coordenadas vectoriales PRECISO utilizando geom.asPolgon

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.

1voto

Bill Gates Puntos 101

Como dijo klewis, puedo obtener la geometría (y con toda la precisión que podría desear) exportando la capa a un CSV, y la geometría como wkt. Esto sirve perfectamente a mis necesidades.

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