En gvSIG podemos extraer de una forma sencilla las coordenadas de los vértices que conforman una o varias parcelas mediante scripting.
Podremos hacerlo tanto para ficheros de tipo SHP como DWG, DGN o DXF.
Para ello tendremos que crear un nuevo script en gvSIG, desde el menú Herramientas->Scripting->Editor de Scripts (este menú se llama “Scripting Composer” hasta la versión 2.2).
Una vez creado, con el nombre que deseemos, copiamos el siguiente código en él:
from gvsig import * from commonsdialog import * def main(*args): """Read wkt""" sel = currentLayer().getSelection() pfile = str(saveFileDialog("Seleccionar fichero texto de salida")[0]) f = open(pfile,'w') for s in sel: f.write("\n\n================\n\n") f.write("\n"+str(s.getValues())+"\n\n") g = str(s.geometry().convertToWKT()) f.write(g) f.close() print pfile
Después guardamos dicho script.
Ahora ya sobre la Vista de gvSIG, seleccionamos la/s parcela/s que deseemos, y abrimos el lanzador de scripts (menú Herramientas->Scripting->Lanzador de Scripts; este menú se llamaba “Scripting Launcher” hasta la versión 2.2).
Con doble-click sobre el Script que habíamos creado se abrirá una ventana donde podremos seleccionar el nombre del fichero de salida con las coordenadas, y la carpeta donde guardarlo (recomendable nombrarlo como .txt para que lo reconozca directamente después el editor de texto).
Si abrimos después dicho fichero podremos ver los pares de coordenadas de los distintos vértices del polígono, y si era una polilínea veremos las coordenadas de los vértices inicio y fin de cada línea que la compone.
Si habíamos seleccionado varios elementos se visualizarán por separado en el mismo fichero.
En la primera línea también se mostrarán los valores de los distintos campos del registro en cuestión, lo que nos permitirá, en caso de que hubiéramos seleccionado varias parcelas, saber a cuál de ellas pertenece esa información.
¡Esperamos que os sea útil esta herramienta!
Reblogged this on másquesig.
Hola, Oscar, como activo la barra de estado en gvsig 2.5.1.
Saludos,
José Luis García, Panamá
Reblogged this on siglibreuruguay.
al procesar el script, no me lo permite i me argumenta que no existe un mosulo llamado “commonsdialog” en en la segunda linea
Buenas, en la nueva versión de gvsig 2.3 hemos reestructurado las librerías. En este script creo que el único cambio es cambiar el import por:
from gvsig.commonsdialog import *
Mañana intentaré actualizar este post con el script para la nueva version. Cualquier problema nos comentas
Un saludo
Muchas gracias. Ejecuta el script correctamente
Me da un error donde dice pfile…
Saludos