sábado, 23 de marzo de 2019

CREAR UN CAMPO AUTONUMÉRICO EN UNA TABLA CON UNA COLUMNA REORDENADA DISTINTA AL FID

Respondiendo a una pregunta de un lector del blog, vamos a ver como crear una columna autonmérica en una tabla donde hemos ordenado otra columna con un criterio distinto al FID, como vemos en este ejemplo:


Como vemos tenemos ordenada la columna área de menor a mayor, por lo que el campo FID se ha descolocado, entonces ahora queremos crear con este orden una columna nueva autonumérica correspondiente a este nuevo orden.
Después de comprobar que con Arcgis y Qgis no podemos realizar esta opción y la programación con python nos da siempre una autonumérica pero con el mismo orden que el FID, lo he realizado de una manera poco ortodoxa pero eficaz, siguiendo los siguientes pasos:

- Abrimos con Microsoft Excel el archivo .dbf del shapefile que contiene la tabla de atributos, y ordenamos la columna "área" de menor a mayor con la opción de Excel "ordenar y filtrar".


- Creamos una nueva columna que denominaremos "orden".
- En su primer campo ponemos un "1" y con el botón derecho del ratón pinchamos en la esquina inferior derecha y sin soltar arrastramos hasta el final de los campos de la tabla.


- Cuando soltamos el botón del ratón aparece un menú en Excel y elegimos en él "rellenar serie".


- Esto nos crea ya esta columna autonumérica que buscábamos con el orden de las áreas de menor a mayor, cuyo FID está desordenado.


- Guardamos la tabla en formato de Excel, quizás nos lo guarde con el nombre de "copia" y el nombre de la tabla.
- Abrimos Arcmap y abrimos el shapefile.


- Ahora abrimos en Arcmap la tabla de Excel que hemos creado, esto se nos abrirá solamente como tabla.


- Abrimos la tabla de atributos del shapefile y en la opciones de la tabla creamos un join con la tabla nueva cuyo campo común va a ser "área".


- Ya tenemos las tablas relacionadas y ya tenemos en la tabla del shapefile la nueva columna denominada "orden", con la nueva clasificación autonumérica basada en las áreas de menor a mayor.


- Ahora guardamos el shapefile con otro nombre mediante Data / export data.
- Abrimos el nuevo shapefile que hemos creado y abrimos la tabla de atributos, que debe tener los atributos del shapefile original más los del join, solamente nos queda eliminar los campos repetidos y dejar los campos originales más el campo "orden" que hemos creado.


Espero haber solucionado tu pregunta con este método, este proceso también se puede realizar con Qgis.






lunes, 28 de enero de 2019

SERIE COMPLEMENTOS QGIS: STATION LINES

En esta ocasión vamos a hablar de un complemento curioso que puede ser útil para algunos trabajos que necesiten dividir algunas líneas de los terrenos en segmentos equidistantes, pudiendo elegir nosotros la distancia entre cada segmento, estamos hablando del complemento Station Lines de Qgis.

En este ejemplo vamos a ver las distintas opciones que tenemos con este complemento, el cual debemos descargarlo e instalarlo desde Administrar e instalar complementos de la pestaña complementos.

En un shapefile de líneas podemos crear segmentos solamente en los bordes de ellas, para ello abrimos el complemento Station Lines, en Layers elegimos el shapefile de lineas en el que queremos trabajar, también podemos seleccionar solamente las líneas a las que queremos aplicarles dicho complemento seleccionándolas en el shapefile y activando la casilla Use only selected features, en Station Choices elegimos Vértices, y damos a aceptar.



Si queremos dividir las líneas en segmentos equidistantes abrimos el complemento Station Lines y ahora en Station Choices elegimos Distance, en el apartado Distance elegimos la distancia entre segmentos que podemos escogerla mediante un campo de nuestra tabla de atributos eligiendo la opción Field o ponerla a mano con la opción Value, en el apartado Side podemos elegir a que lado de la línea se dibujarán los segmentos, derecha, izquierda o centro, en el apartado Length podemos elegir la longitud que tendrá cada segmento, y en el apartado Angle podemos inclinar los segmentos los grados que elijamos, vamos a ver algunos ejemplos.