Cómo introducir datos en una matriz para su posterior análisis.

Una cosa es escribir un diario en una libreta y otra cosa es recopilar datos que sirvan para un posterior análisis. Esos datos se pueden recoger de muchas maneras y las que normalmente son buenas para el campo (fichas para cada salida de campo u objeto de estudio) o quedan bonitas en un documento (con celdas unidas, por ejemplo) no son buenas para el posterior análisis de los datos. Aquí voy a exponer las nociones básicas de cómo deberían “meterse los datos en el ordenador”.

Si ya están metidos en el ordenador, en el formato que sea: csv, excel, …, la mejor manera es como están. Nunca (o casi nunca) es buena idea retocar los  datos originales ya que este proceso puede (y suele) producir errores que no son subsanables posteriormente.

Es decir, si los datos ya están en algún formato digital, lo mejor es que las modificaciones se hagan ya directamente en el script de importación de datos, de forma que esas modificaciones entren dentro de lo que se llama “Ciencia reproducible” (Rodríguez-Sánchez et al. 2016).

Pero si todavía no has pasado los datos, por favor, lee el resto del post para entender porqué solo hay una forma buena de introducir los datos y cuando no se hace así luego lleva mucho trabajo y tiempo posteriormente (mucho más del que te podrías ahorrar pasando los datos de cualquier manera) para construir la matriz de datos.

La matriz de datos

La matriz de datos ideal debe ser:

  • Única (no siempre es posible, pero debe intentarse).
  • Consistente
  • Rectangular (todas las casillas deberían estar llenas)
  • Las columnas son Variables.
  • Las filas son Observaciones.
  • No debe tener variables obtenidas a partir de cálculos con otras variables de la matriz. Si no puedes evitar la tentación, haz los cálculos en otra hoja de cálculo diferente. Recuerda poner cuales y cómo las has calculado en la leyenda de los datos.
  • No debe tener fórmulas, ni cálculos, ni pre-análisis, en la matriz de datos.
  • No debe haber información en los formatos. Los colores o negritas de las filas o columnas no se exportan.
  • Formato csv, o en su defecto xlsx u ods.

Una cosa importante, NUNCA juntes celdas, ni de la misma fila, ni de la misma columna, en una tabla de datos.

Copias de seguridad

Aunque existen sistemas más o menos automáticos que funcionan bien. Aconsejo guardar todas las versiones de las matrices de datos (no ocupan mucho, sobre todo en csv), cambiando el nombre cada vez que se añade o quita algo. Una forma cómoda de que las diferentes versiones estén ordenadas es utilizando la fecha YYMMDD antes del nombre de los datos.

Por ejemplo, la matriz de datos de árboles,  si ha hubiese hecho el 2 de enero de 2018 se llamaría “180102_arboles.csv”. Si tres días después modifico algo, la guardaría como “180105_arboles.csv”. Así el archivo más actual siempre estará el último (si están ordenados alfabéticamente).

Además conviene tener varias copias en diferentes sitios. Para ello es muy útil utilizar Dropbox, GoogleDrive o Mega. Si necesitas confidencialidad en tus datos asegúrate de cifrarlos antes de subirlos a la nube (que no es más que el ordenador de otra persona, en otro sitio).

Consejo: No tires nunca los datos originales (la libreta) ya que si aparecen cosas extrañas en el análisis, puede ser buena idea revisar si el error está en la transcripción de los datos del papel al ordenador o si había alguna observación extra que no se metió en la tabla.

Matriz de datos única o varias matrices de datos

La única razón (que se me ocurre) por la que la matriz de datos podría no ser única es cuando tenemos diferentes niveles de observación. Por ejemplo, si en un proyecto se hacen observaciones a escala de parcela, de árbol y de fruto, podría ser necesario hacer tres matrices:

  • matriz de parcelas, en la que cada fila es una parcela y cada columna una variable con los datos de cada parcela. Una variable será “id_parcela” con un código diferente para cada parcela.
  • matriz de árboles, en la que cada fila es un árbol y cada columna una variable con los datos de cada árbol, incluyendo una variable con la identidad de la parcela en la que se encuentra el árbol, con el MISMO CÓDIGO, que en la matriz anterior. También tendrá una variable “id_arbol” (sin acento) con el código de identificación de cada árbol.
  • matriz de frutos, con los datos de cada fruto, incluyendo la identidad del árbol y de la parcela con EL MISMO CÓDIGO que en las matrices anteriores.

No es necesario (y por tanto puede ser contraproducente) poner la misma información en más de un sitio (por ejemplo las coordenadas de la parcela en la matriz de parcela y en la matriz de árboles). Imagina que se detecta un error de transcripción: es muy probable que se cambie el dato solo en un sitio y no en el otro, obteniendo matrices con datos contradictorios.

Si se utiliza este sistema el primer script del análisis será para re-construir las matrices de datos, incluyendo todas las variables relevantes para los análisis de cada matriz que se encuentran en otra matriz. Por ejemplo, se puede incluir la orientación de la ladera (variable de parcela) en la matriz de árboles y/o de frutos. O utilizar el tamaño medio de frutos de cada árbol. Lo mismo si se quieren hacer variables complejas, como sumas de variables o porcentajes.

Hay que ser consistentes

Al hacer matrices de datos, al hacer ciencia y en otras muchas facetas de la vida, hay que intentar ser lo más consistentes posibles. Cuando los datos tienen que ser leídos por personas y por ordenadores, es muy importante ser consistentes:

  • Con los códigos de las variables categóricas (ver en variables)
  • Con la forma de representar los valores vacíos (ver en observaciones)
  • Con los nombres de las variables
  • Con la identificación de las observaciones
  • Con la estructura de archivos en las carpetas del proyecto
  • Con los nombres de los archivos
  • Con el formato de las fechas
  • Con el formato de las coordenadas
  • Con las frases en las observaciones

El formato de la matriz de datos

El único formato aceptable para una matriz de datos que se vaya a guardar mucho tiempo es en “texto plano”, es decir, .txt o .csv. Es el único formato en el que podrás leer actualmente un archivo escrito en un ordenador de hace 30 años y se podrá leer en un ordenador dentro de 100 años (suponiendo que en ese año haya ordenadores). Cualquier otro formato depende de un programa concreto para leerlo.

Aún así, para archivos de trabajo, puede ser útil utilizar formatos de hojas de cálculo estándar, como .xlsx (Microsoft) u .ods (Open Document). Esto permite tener varias matrices de datos en un único archivo, junto con la leyenda de los datos. Si se utiliza este formato es conveniente exportar las tablas en formato de “texto plano” por si en un futuro lejano queremos volver a leer nuestros datos (se puede hacer desde el script). Eso sí, en este caso hay que tener cuidado con los desastres que puede crear el formato automático al cambiar números en fechas o viceversa o el formato de números grandes.

Al guardar la matriz en texto plano hay que tener en cuenta que si se utiliza la coma como separador de decimales no se puede utilizar para separar datos (CSV significa “comma separated values”) por lo que se debe utilizar punto y coma o tabulador. Importante hacerlo siempre de la misma manera y poner cómo se ha hecho en la leyenda de los datos.

La leyenda de los datos

Todas las matrices de datos deberían llevar siempre anexa una leyenda. Si la matriz está en formato .csv debe ser un archivo de texto plano “Leyenda.txt” o “Leeme.txt”(recuerda, sin acento) en la misma carpeta que los datos. Si está en formato xlsx u ods debe ser la última hoja, con un nombre parecido.

En la leyenda de los datos debe ir:

  • La descripción de los datos e idealmente el objetivo de los mismos
  • El nombre del archivo de datos (si es diferente).
  • El nombre de cada variable y su descripción. Aquí es el sitio donde hay que poner las unidades de medida.

Consejo: Los nombres de los archivos (y carpetas) deben ser informativos de lo que contienen y sobre todo NUNCA contener acentos, eñes o signos de puntuación otros que – _ o el punto que separa la extensión.

  • MAL: “datos.csv”, “d1.csv”, “datos_años.csv”, “datos_árboles.csv”
  • BIEN: “datosarboles.csv”, “DatosArboles.csv”, “datos-arboles.csv”, “datos_arboles.csv”

Recuerda que es bueno ser consistente. Si utilizas guión bajo o alto o las mayúsculas para separar palabras, hazlo siempre de la misma manera.

Errores frecuentes a evitar en las matrices de datos:

  • Una matriz por año o por especie. En vez de eso, pon todo en una única matriz y añade variables con el año o con la especie.
  • Incluir variables calculadas a partir de otros datos en vez de los datos originales (medias, porcentajes, sumas, etc.).
  • Incluir medias u otros estadísticos en la última fila de la matriz.
  • Añadir información en colores. Por ejemplo, “las filas en amarillo son las de 2018 y las verdes de 2017”, “Las filas en negrita son datos tomados por Pepito”.
  • No hacer copia de seguridad.

Las variables

Por lo visto anteriormente, una matriz de datos es siempre un conjunto de variables con el mismo número y orden de observaciones. En la definición de las variables hay que tener en cuenta que cada una es una unidad de información diferente y no se deben juntar cosas. Cada variable puede ser o numérica o categórica. Es importante que:

  • Las variables numéricas contengan números, Y SÓLO NÚMEROS.
  • Las variables categóricas tengan letras. Pueden contener números, pero dan más problemas.
  • En las variables categóricas, cada categoría se escriba SIEMPRE de la misma manera. Para esto es muy útil utilizar formularios, las ayudas de autocompletado de las hojas de cálculo. Así, ” Azul”, “Azul”, “azul?” y “azul” son cuatro categorías diferentes.
  • El nombre de cada variable sea informativo, su primer carácter sea una letra y que sea legible por una máquina (sin caracteres extraños como eñes, porcentajes, etc.)
  • Todos los datos en una misma variable deben estar en las mismas unidades. Las unidades se ponen en la leyenda mejor que en el nombre de la variable.

Variables de coordenadas

Cuando en una matriz de datos queremos añadir las coordenadas de cada observación (ej. del centro de cada parcela o de cada árbol), tenemos que elegir entre infinidad de formatos de coordenadas diferentes. La mejor opción es siempre la más internacional y la más sencilla. Si seguimos el ejemplo de Google, la mejor opción es ponerlas en dos variables (columnas) una para la latitud y otra para la longitud. En cada columna se pone el valor en grados con decimales (DD,DDDDDD). En el caso de la latitud  positivo para el Norte y Negativo para el Sur. En la longitud positivo hacial el Este y negativo hacia el Oeste del Meridiano de Greenwhich. Es decir, el mismo formato en que te las da Google Maps cuando pinchas con el botón derecho en “¿qué hay aquí?”.

Si necesitas ponerlas en grados, minutos y segundos o poner Norte o Sur en Letras, cada uno de estos valores debería ser una columna diferente. Es decir, 4 variables para la latitud y otras cuatro para la longitud.

Utilizar otros formatos tipo UTM o formatos locales de cada país, requiere pensar en cada caso, con la lógica anterior (no mezclar letras y números y no poner símbolos, como º ó ”).

Variables de fecha (o fecha y hora)

Las fechas son un tipo de dato que puede dar lugar a muchos errores. Por ejemplo “01-02-88” puede interpretarse como el 1 de febrero de 1988, como el dos de enero de 1988, o incluso como cualquiera de las anteriores de 2088.

Lo mejor es ponerla en un formato estándar, como el establecido en la ISO 8601. Es decir, con el año completo y delante, luego el mes y luego el día, separados con guiones: “1988-01-02” es el dos de enero de 1988 sin posible confusión.

Otra buena opción es utilizar tres variables: “Ano” (recuerda, sin eñes), “Mes” y “dia” (recuerda, sin acento). De  esta forma el dato siempre será reproducible y no da lugar a error.

Utilizar el formato de fechas de Excel u otras hoja de cálculo es jugar con fuego, ya que cada una utiliza una referencia diferente. Incluso entre versiones antiguas y modernas de Excel se cambiaría la fecha. Lo que hace este programa es contar los días desde una fecha de referencia, que en Windows es 1900-1-1 y en Macs es 1904-1-1. Es decir, la misma tabla de datos da una fecha cuatro años posterior en Macs que en Windows.

Errores frecuentes con las variables:

  • Poner en una misma variable numérica, las unidades: “100 €”, “5 cm”. Esto la convierte en texto y los números desaparecen para la máquina.
  • Poner caracteres de texto en una variable numérica, cuando no sabemos el valor: “?”, “*”, etc.
  • En variables categóricas, poner de formas diferentes la misma categoría (¡Cuidado con los espacios!).
  • Nombres de variables no informativos o con caracteres especiales como acentos, eñes, porcentaje o interrogaciones
  • Poner en una misma variable más de un dato. Suele pasar con las variables de fechas o coordenadas.

Las observaciones

Cada fila de la matriz de datos corresponde a una observación (una parcela, un árbol o un fruto en las tres matrices del ejemplo inicial). En la mayor parte de los análisis las observaciones que contienen espacios vacíos serán eliminadas, por lo que es muy importante rellenar todas las observaciones siempre que sea posible. Solo se deben dejar vacías las casillas para las que por alguna razón es imposible conocer su valor. Es importante poner ceros en los casos en los que el valor es cero (ejemplo: Si una hoja no tiene peciolo, en la variable “Longitud del peciolo” debe poner “0”, no dejarla vacía, que significaría que no se puede conocer dicha longitud).

  • Solo una cosa por celda. Las observaciones y unidades van en otro sitio.
  • Poner ceros cuando el valor es cero y vacío (o NA) cuando no tenemos el valor.
  • Utilizar sistemas de validación cuando sea posible.
  • Evitar siempre los espacios:
    • Si se puede no poner más de una palabra por celda y/o poner _ en vez de espacios.
    • Tener cuidado de no poner espacios ni delante ni detrás del valor de la celda, sobre todo en variables categóricas (Error muy frecuente al copiar y pegar de texto).
    • Evitar dejar celdas son solo un espacio. Aunque no se vea es un carácter y por tanto será una clase categórica más y puede convertir en texto toda una variable numérica.

Es buena costumbre, y necesario si se va a utilizar más de una matriz de datos a diferentes escalas, que exista una variable de identificación en la que cada observación tenga un código único que la identifique.

Errores frecuentes al introducir los datos:

  • Dejar vacías observaciones que deberían tener un cero. Esto hará que se trate como si no se conociese el valor, no como cero.
  • Poner espacios en algunas celdas. Evita siempre los espacios una celda con un espacio es tratada diferente que una celda vacía.

Más información

 

R – primeros pasos (actualizado 18-09-23)

R es el lenguaje de programación de referencia para estadística, aunque tiene el potencial de poder hacer casi cualquier cosa como ocurre con casi cualquier lenguaje de programación. Ha cambiado la forma de entender la forma de analizar los datos, pasando a algo cerrado con algunos tests que hace todo el mundo, a ser algo mucho más creativo. El problema principal es su curva de aprendizaje. No es fácil empezar.

¿Por donde empezamos?

  1. Instalar R
  2. Instalar R-studio
  3. Tutoriales para empezar con R

Instalar R

La web oficial de R no es precisamente amigable, ya que como ocurre  con muchos recursos gratuitos y abiertos están más pensados para los desarrolladores que para los usuarios. Hay que saber qué es cada cosa para no perderse.

R1R2Cuando das a “download R” te envía a una lista de mirrors, que son todos lo mismo, pero en diferentes servidores (así si cae uno, quedan los demás). Para instalar R puedes seguir las instrucciones de cualquiera de los mirrors (se supone que mejor cuanto más cercano), o ir a las FAQ (Frequently asked questions) y ver el tutorial de cómo instalar en tu sistema operativo.R3

Linux, Mac or Windows

El tutorial explica sólo para  la mejor forma de instalarlo,desde repositorios oficiales de R-cran. Si se añade el repositorio, NO OLVIDAR instalar la clave para que no de errores al actualizar.

En ocasiones lo más fácil es utilizar los repositorios oficiales de tu versión Linux, que ya puede tener versiones suficientemente actualizadas de R. Para Ubuntu o Mint  valdría con:

sudo apt-get update
sudo apt-get install r-base r-base-dev

Instalar R – StudioR4

R se puede utilizar directamente desde consola y utilizando archivos de texto plano para hacer los scripts y pegar trozos en la consola. Personalmente me gusta mucho cómo R – studio separa la pantalla en cuatro partes: editor texto, consola, variables y graficos (ayuda, etc), facilitando el correr líneas de código o ver los gráficos en el mismo programa. Lo  único malo es  que no está en los repositorios y que hay que instalarlo  por tanto desde su web oficial. Es tan fácil como dar a “Download RStudio” y luego “Download Opensource RStudio Desktop“, se abre desde el instalador y se instala.

CÓMO EMPEZAR CON R

R5Se supone que si has llegado hasta aquí, ya tienes R y RStudio instalados, por lo que lo que te encuentras al abrir RStudio es cómo  la figura de  la derecha. Cuatro ventanas. Pinchando en los símbolos de pestaña de la parte superior derecha de cada ventana, puedes maximizar o minimizar cada una. Por defecto las de la izquierda son arriba el editor de texto y abajo la consola, y las de la izquierda las variables (environment) y el historial (history) arriba y todo lo demás,  incluyendo plots y ayuda, abajo. Aunque la colocación de las ventanas se puede modificar al gusto de cada cual.  Las más importantes son:

EDITOR: donde se guarda y edita el código. Aquí se abren los scripts, se modifican y se prueban. No olvides dar a guardar de vez en cuando.

CONSOLA: donde se corre el código. Para correr una línea de código del editor en la consola, se presiona la tecla “Run” (parte superior del editor).

Una vez dicho esto, lo mejor para empezar el leer y practicar. Para ello se pueden seguir:

Tutoriales

Aconsejo echarle un vistazo a ambos.

Webs y libros interesantes

Aunque hay muchos libros interesantes, para aconsejar me centraré en los materiales gratuitos.

Para profundizar con R y/o estadística:

Para las nociones básicas sobre código reproducible:

Algunas webs interesantes donde buscar soluciones a problemas  concretos o incluso preguntar si no están ya publicadas:

Guis

Otras guis interesantes para utilizar con R, aunque no las he probado mucho son:

 

 

 

My R lecture notes / Mis apuntes de R (updated 18-09-23)

I link you here the “R for life sciences” lecture notes I am doing, so they are easily available.

(If you prefeer in Spanish / Si prefieres en español)

Lecture notes Web html pdf epub
 1. Easy R start  html  pdf  epub
 2. Operations  html  pdf  epub
 3. Basic graphics and data  html  pdf  epub
 4. Hypothesis testing  html  pdf  epub

 

Some other interesting books and webs for R and statistics are:

For reproducible code basics:

To look for a specific topic:

Conseguir capas de mapas útiles (Actualizado 18-09-01)

Existen infinidad de lugares donde conseguir capas de mapas que puedan ser útiles. En este post pretendo hacer una selección de los lugares más útiles para obtener capas útiles para la Ecología, el medio ambiente, los espacios protegidos y la ordenación del territorio, aunque de los mismos sitios hay información útil para otras muchas áreas de conocimiento.

Consellería

En 2017 dejó de funcionar la página web de mapas de consellería “Terrasit” (http://terrasit.gva.es/) sin avisar dónde se habían llevado toda la información. *

Desde 2018 hay una nueva página: Infraestructura Valenciana de Dades Espacials

Lo que he visto de la nueva página es que es más ordenada y limpia, el visor va mucho más rápido y no hace falta registrarse con antelación como pasaba en Terrasit, para bajarse las capas. Se pueden seguir bajando por municipios en la pestaña “Mapa”.

Otros organismos oficiales

Por desgracia la información oficial está dispersa en las diferentes webs de los diferentes organismos oficiales y no existe un lugar centralizado donde conocer qué información está disponible en cada uno. No queda más remedio que bucear dentro de cada uno de ellos.

Asociaciones, Empresas y Organismos Internacionales.

Otras referencias

 

¿Conoces algún otro sitio de donde bajarse capas útiles?

 

*Mis agradecimientos a Carlos (Igama S.L) por orientarme para encontrar la nueva página de Consellería.

Recursos sobre Ecología de incendios (Actualizado 18-08-31)

El tema de los incendios forestales es uno de los temas candentes en nuestra sociedad. Debido a los cambios en el medio rural del último siglo se han recrudecido los incendios forestales. Aunque estamos lejos de llegar a consensos sobre cual es la mejor manera de gestionar nuestros montes y cómo reducir o paliar los efectos de los  incendios forestales y hay visiones claramente contrapuestas sobre el tema, hay algunos hechos que se pueden dar por ciertos.

  • Para que haya un incendio grave tiene que haber acumulación de material combustible y alguna fuente de ignición. El  tipo de material y las condiciones meteorológicas condicionan las temperaturas y la extensión del incendio.
  • Los incendios forestales forman  parte de la dinámica natural de los ecosistemas mediterráneos. No se pueden evitar totalmente, pero  se puede disminuir su frecuencia y hacer que el daño que produzcan cuando ocurren sea menor.
  • El recurso más importante a conservar en los montes mediterráneos es el suelo. Si se pierde el suelo, como ya se ha perdido en muchas zonas, el bosque no puede volver a recuperarse nunca (al menos no el mismo tipo de bosque que con suelo), ya que los suelos actuales no se  han creado con el clima actual sino en climas más fríos que ya no volveremos a tener.

En la gestión de los montes españoles se suele tener en cuenta el primer punto y casi nunca el segundo o el tercero, que son igual o más importantes.

Bibliografía sobre Incendios

Mapas:

Mapa de Incendios de la NASA

European Forest Fire Information System

Articulos:

Videos sobre incendios

Si conocéis más recursos gratuitos que merezcan la pena, podéis ponerlos en comentarios y los añadiré.

Materiales útiles para educación ambiental (Actualizado 2018-05)

En ocasiones me sorprende cuando descubro poca sensibilidad con los problemas ambientales en los medios o incluso en foros universitarios. En general los problemas ambientales “suenan conocidos” porque alguna vez fueron mal contados por los medios, pero no se conocen en realidad. Y eso que nos afectan a todos, o igual por eso mismo. Sin embargo no será por falta de información disponible en todos los formatos posibles. Aquí os dejo una recopilación de recursos que pueden ser útiles para la educación ambiental a diferentes niveles. No pretende ser completo, ya que los temas son muy amplios, y si me enviáis sugerencias preferiblemente de acceso libre, las añado. Lo separaré por formatos y temas y lo iré actualizando según vaya encontrando más cosas.

Informes y documentos

  • Ecowiki (actualmente sin mantenimiento)

Cambio climático

Límites al crecimiento

Transgénicos

Nucleares

Chemtrails

Caza

Documentales

Sostenibilidad

Cambio climático

Diversidad

Bombas nucleares

Transgenicos

Especies invasoras

De todo un poco, recopilaciones

Webs interesantes

Sostenibilidad

Consumo

Grupos Ecologistas

Casi todos ellos tienen materiales útiles y colaboran si se les pide con actividades de educación ambiental.

Pasar a la acción

La mejor manera de hacer algo suele ser colaborar con ONGs o participar en actividades con ellas en forma de voluntariado. Puede ser útil para ir pensando alguno de estos manuales:

 Materiales propietarios (no libres) o desordenados

Otros materiales que me han aconsejado pero no son gratuitos o no tienen enlace en Internet (o no lo he encontrado todavía). Algunos  pueden llegar a ser difíciles de conseguir. Están bastante desordenados, pero así tenéis la referencia.

Si buscáis algo no gratuito igual os sirve este enlace.

Libros

  • A green history of the world. Clive ponting. Libro muy revelador. Se pueden leer partes aquí y un resumen aquí.
  • Colapso. Jared M. Diamond. No tan bueno como el anterior, pero traducido al español.
  • Raíces económicas del deterioro ecológico y social. José Manuel Naredo. 2006. Siglo XXI.
  • Vivir bien con menos y otros libros de Jorge Riechmann.
  • Educación y ecología. Ecologistas en acción. Estudio sobre el currículo oculto antiecológico de los libros de texto.
  • La primavera silenciosa. Rachel Carson. Libro fundamental en el ecologismo.
  • No logo, y otros libros de Naomi Klein.
  • El ecologismo de los pobres. Joan Martinez Allier. Sobre el movimiento ecologista en el Sur.
  • Los Papalagi. Ed. Integral.
  • Vivir ligeramente sobre la tierra. Premios nobel alternativos. Integral.
  • Perspectiva feminista en torno a la economía: el caso de los cuidados. Amaia López Orozco
  • Ecología para vivir mejor. Pere Subirana. Ed Icaria.
  • Patas arriba: la escuela del mundo al revés. Eduardo Galeano. S. XXI. (Todos los de Galeano, desde Venas abiertas de América Latina, Memorias del Fuego, …)
  • La ciudad de los niños. Francesco Tonuchi.
  • Informe Lugano. Susan George
  • El crepúsculo de la era trágica del petróleo. Ramón Fernandez Durán.
  • Erase una vez un pueblo. Avelino Hernández. (La boina del contador de cuentos)
  • El camello de hojalata. Cuento para peques a partir de 4º.
  • Consumir menos, vivir mejor. Toni Lodeiro.
  • Del hacha al chip.
  • Un planeta de gordos y hambrientos.
  • Coltan. Vazquez Figueroa.
  • Senderos de Libertad. Javier Moro.
  • Era media noche en Bophal. Javier Moro y Dominique Lapierre.
  • Las montañas de Buda. Javier Moro.
  • El grito silenciado”, “Hijas de la arena”, “Palestina, la sinfonia de la Tierra”. Todos de Ana Tortajada. Realidades de distintos conflictos.
  • El hombre que plantaba árboles. Jean Giono.
  • Todavía vivo. Joaquín Araujo.
  • Un mundo que agoniza. Miguel Delibes. 1994. Ed. Plaza y Janes.

Películas y documentales varios

  • Before the flood (Antes que sea tarde) National Geographic 2016. De pago.
  • Los dioses deben estar locos, Jaime Uys, 1980. Una comedia sobre la intervención de la civilización en una pacífica comunidad tribal.
  • En el mundo a cada rato: “Binta y la gran idea”, Javier Fesser, 2007, uno de los cortos de la película, para reflexionar sobre la civilización occidental desde la visión de niña senegalesa.
  • El jardinero fiel. Fernando Meirelles, 2001. Critica a las farmacéuticas, ambientada en Kenia.
  • Diamantes de sangre. Edward Zwich, 2006. Relación comercio diamantes con guerra.
  • Brazil. Ferry William, 1985. Una crítica a la tecnología en clave de ciencia ficción.
  • Store wars. Parodia de animación sobre la rebelión de los productos biológicos. Muy divertido para todos los públicos. (Youtube)
  • Quiero ser tortilla. Eduardo Puertas e Irene Ibarra. Veterinarios sin fronteras. Corto de animación sobre los riesgos de los biocombustibles para la soberanía alimentaria.
  • Moolaadé, Ousmane Sembene, 2005. Sobre las estrategias de las mujeres para enfrentarse a la ablación.
  • The Meatrix. Youtube. Animación sobre granjas industriales.
  • Rapa Nui. Kevin Reynolds, 1993. Relación de la cultura nativa de la Isla de Pascua con el medio
  • Naturaleza muerta. Jia Zhang-Ke, 2006. Documental chino sobre la construcción de presa en las Tres Gargantas, y el deterioro social y ecológico provocado.
  • Poniente, Chus Gutierrez, 2002. Sobre la realidad social de los invernaderos en El Ejido.
  • Corazón de la tierra, Antonio Cuadri, 2007. Película romántica, 1ª lucha ambiental española, en las minas de Rio Tinto.
  • La corporación. Mark Achbar y Jennifer Abbott, 2003. Documental canadiense de tres horas que estudia el comportamiento patológico de las grandes empresas.
  • La isla de las flores, Jorge Furtado, 1989. Corto brasileño sobre la pobreza. Espectacular y realizado con humor negro.
  • La pesadilla de Darwin. Hubert Sauper, 2004. Los negocios de países del norte que devastan la vida en el sur, en este caso en el Lago Victoria y sus pobladores.
  • Voces contra la globalización, 6 capítulos de la serie “Otro mundo es posible TV2”.
  • Camino al andar. Imágenes + entrevistas. Española.
  • El pan nuestro de cada día. Hora y media sin voz. Sobre agricultura y ganadería en países desarrollados.
  • Cenizas del cielo. Lucha en Asturias con el tema de la térmica.
  • La Selva esmeralda. Sobre deforestación amazónica.
  • Los últimos días del Edén. Sobre deforestación amazonía y las farmacéuticas.
  • Baraka. Lenta pero abre mentes.
  • Chinatown. Tema nuclear.
  • El síndrome de China. Tema nuclear.
  • El coltan. Un corto de 7 minutos, que nos cuenta nuestra implicación con el problema del mineral y su relación directa con los móviles y ordenadores, y las grandes marcas.
  • El carro de combate. Setem.
  • Y tú que sabes. Para reflexionar. Para nivel avanzado.
  • Que comemos hoy. 35 min.
  • Las espigadoras. Agnes Varda.2000. Una mirada diferente a la recuperación de lo abandonado.
  • Nómadas del viento. Jactes Perrin. 2002. Para aficionados a la naturaleza en bruto. Sobre la migración de las aves. Fotografía y música espectacular.
  • Home.
  • Super size me. El efecto que tiene sobre la salud la comida rápida y la relación con las multinacionales de la alimentación.
  • Deuda ecológica. De Ekologistak Martxan.
  • Nosotros alimentamos el mundo. Edwin Wagenhofer.2008. Documental sobre la globalización de la producción de alimentos y su relación con las desigualdades en el mundo.
  • La siembra letal. Marcel Viñas. Sobre el efecto del uso de pesticidas
  • Hambre de soja. Marcel Viñas. Sobre las trágicas consecuencias del monocultivo de soja transgénica en Argentina.
  • Soberanía alimentaria y agronegocio en Uruguay. REDES y Amigos de la Tierra.
  • Dinero hecho en casa. Alejo Hoijman. 2005. Documental sobre la alternativa económica del trueque.
  • Gran superficie. Consume hasta morir (Ecologistas en acción). Documental sobre las grandes superficies y el modelo de producción y consumo.
  • Bowling for Columbine. Michael Moor. Violencia, negocio de las armas y política del miedo. (Tiene otra película interesante sobre la sanidad privada en EEUU: Siko o algo así).

Agradecimientos

A Josevi y Lurdes que me pasaron una lista con muchas referencias que me fue muy útil. De ahí nace la idea de hacer este post. Yo simplemente he ampliado la lista.

Si conoces más recursos (mejor gratuítos) escribe en comentarios y voy añadiendo. Y por supuesto, si quieres difundir la lista eres libre de hacerlo).

Referencias de gestión forestal y restauración (Actualizado 8 mayo 2018)

Recopilación de materiales gratuitos y útiles sobre gestión forestal y restauración de hábitats. Además de las otras recopilaciones de este blog útiles para la gestión forestal:

Se pueden recomendar las publicaciones sobre la situación de los bosques del mundo:

y en europa:

y la gestión de hábitats en España

  • Los libros de la colección “Manuals de gestió d’hàbitats” editada desde 2008 hasta 2015, que consta de once volúmenes sobre los principales hábitats que hay en Cataluña. Descarga gratuita en pdf.

Referencias sobre conectividad ecológica:

Restauración de Hábitats:

Inventarios de biodiversidad:

Libros y manuales del Ministerio:

Un libro muy interesante para profundizar en la  historia de los Espacios Protegidos de España.

Así como las recopilaciones de otras bibliotecas como:

 

Si conocéis más recursos gratuitos que merezcan la pena, o detectáis que algún  enlace ya no funciona, podéis ponerlos en comentarios y lo corregiré.

Tabla de frecuencias en Calc o Excel utilizando “CONTAR.SI”

Aunque la mejor forma de trabajo es utilizar calc o excel sólo para guardar los datos y utilizar programas externos para analizarlos de forma reproducible, en ocasiones es más fácil y rápido (aunque menos seguro) realizar algunos cálculos directamente en la propia hoja de cálculo.

Si se realizan cálculos en la propia hoja de cálculo, lo ideal es hacerlo en una hoja diferente a la que contiene los datos y los datos originales no tocarlos nunca (o lo menos posible, en cuyo caso es mejor copiar la hoja, para no  tocar el original).

En este post yo voy a utilizar LibreOffice Calc, pero el mismo procedimiento debería funcionar en Microsoft Excel.

Dicho esto, el objetivo de este post es crear una tabla de contingencia a partir de una tabla de datos con observaciones (filas) x variables (columnas). Para el ejemplo utilizaré una tabla de datos de aves recopilada por mis alumnos.

Primeras lineas de la hoja “Aves” de los datos recogidos por mis alumnos. Observar que la notación de cada celda es una letra y un número. Por ejemplo la zona del Ave_001 está en la celda E2.

Tabla de contingencia simple

El primer ejemplo será una tabla de contingencia simple en la que vamos a contar el número de aves en “Campus de la UPV”, “Viveros”, “Blasco Ibañez”, “El río” y “Otros”. Para ello lo primero que hacemos es crear una hoja nueva (Hoja>Insertar hoja>poner nombre>aceptar) y en ella poner los nombres de las zonas que queremos utilizar.

Aunque podríamos utilizar la función “FRECUENCIA” como proponen aquí y aquí, vamos a utilizar mejor la función CONTAR.SI, que es mucho más versátil y nos servirá para luego complicar la selección: Insertar>Función>CONTAR.SI.

Asistente de funciones. Seleccionar la función CONTAR.SI

En esta función nos pide dos cosas, el intervalo y los criterios.

El Intervalo va a ser la columna donde están los datos de “zona”:  Aves.E$1:Aves.E$1000    Importante que el último número sea mayor que el número de observaciones (líneas de la tabla de datos).

El Criterio va a ser: A2, Es decir, que coincida con el valor de A2 en la tabla de contingencia, que es “Campus de la UPV”. También se podría escribir el texto directamente aquí.

por lo que la celda B2 quedará así: =CONTAR.SI(Aves.E$2:Aves.E$1000;A2)

Los $ sirven para que no se muevan los valores al arrastrar.

Al dar a aceptar, ya tenemos el primer valor:

Arrastrando la fórmula podemos tener ya hechas hasta “El río”, pero como no hay categoría “Otros”, para esta no nos vale:

Para calcular los otros, primero vamos a calcular la suma con la función CONTARA, que sólo nos pide el intervalo:

Y ya los “Otros serán el valor de la suma (B7) menos la suma de los valores anteriores (B2:B5):

Tabla de contingencia algo más complicada

Si queremos hacer una tabla más complicada, como por ejemplo la tabla de contingencia con los diferentes nichos de las aves de, “Campus de la UPV”, sólo tenemos que utilizar la función CONTAR.SI.CONJUNTO, para poner varios intervalos y criterios. También pueden ser útiles dos funciones muy interesantes:

  • Y()
  • O()

La primera de ellas da un valor verdadero si se cumple todo lo que hay dentro, mientras que la segunda da un valor verdadero si se cumple alguno de los criterios que hay dentro.

Así por ejemplo la fórmula para las aves del “Campus de la UPV”, que se encuentran “Sobre el cesped a la sombra”, será:

                                   =CONTAR.SI.CONJUNTO($Aves.E2:E1000; “Campus de la UPV”; $Aves.H2:H1000; “Sobre el cesped a la sombra” )

Espero que os sea útil. Si es así o encontráis algún error, por favor, comentar.

Crear capa vectorial de pendientes personalizada a partir de raster poligonizando máscaras

En este post voy a explicar cómo se puede crear una capa vectorial personalizada, con los rangos que se quiera, a partir de una capa raster. En este ejemplo el objetivo es crear una capa vectorial con tres rangos de pendientes: menor de 10%, entre 10 y 20% y más de 20%. Para ello utilizaré la capa raster de pendientes del municipio de marines, obtenida de Terrasit [ver como] y la capa poligonal del municipio obtenida de la web de Arcgis [ver como]. Los pasos a seguir serán:

  1. Recortar la capa raster con el polígono del municipio
  2. Crear máscaras con los valores seleccionados utilizando la calculadora raster
  3. Poligonizar las máscaras
  4. Unir las máscaras poligonales
  5. Crear la variable de texto con los rangos de la pendiente utilizando la calculadora vectorial

    1. Recortar la capa raster con el polígono del municipio

Cuando intentamos recortar la capa raster utilizando la función Clipper [Raster>Extracción>Clipper..], empezamos con los problemas. Resulta que al abrir la capa raster de pendientes sale un aviso de que el SRC no está definido, por lo que habrá que definir el correcto, para que se ponga en el lugar adecuado.crop  Preproyectar2srcara definir el SRC se pincha con el botón derecho en la capa {sta, en el ejemplo}, y se cambia el SRC con el adecuado (Lo normal es que esté en metadatos o en la web de donde se baja). En nuestro caso es el EPSG:32630, que corresponde con el WGS84/UTM zone 30N. Para comprobar que es el correcto lo ideal es comparar con otras capas o con algún mapa de fondo utilizando Quickmapservices u Openlayer plugins [explicado aquí].

Una vez definido, resulta que hay que cambiarlo (reproyectarlo) en el sistema de coordenadas del resto de capas del proyecto, que resulta que no es la misma, ya que todas las capas vectoriales de Terrasit utilizan EPSG:3042 (ETRS89/ETRS-TM30). Para cambiarlo utilizamos la función combar (reproyectar) [Raster>Proyecciones>Combar (reproyectar]. Observar que a la nueva capa reproyectada la hemos llamado {staPend}reproyectarclip3Unaclip2 vez que tenemos las dos capas en el mismo sistema de coordenadas, ya podemos hacer el clip sin problemas [Raster>Extracción>Clipper]. Como en cada operación cambiamos el nombre de la capa a {Pend_Marines}.

2. Crear máscaras con los valores seleccionados utilizando la calculadora raster

Si la calculadora raster de Qgis funcionara como es debido, se podría hacer todo con una sola ecuación, como está explicado en este post. En mi caso la calculadora no hace las sumas (será la versión de Qgis), por lo que sólo puedo multiplicar (lo que al menos me permite crear las máscaras).

Voy a crear tres máscaras a las que voy a llamar Pm10, PM10m20 y PM20, que contendrán respectivamente los puntos con pendiente menor o igual a 10, mayor de 10 y menor o igual que 20 y mayor que 20. Para ello en la calculadora pondré las ecuaciones:calcr

  • Pm10: Pend_Marines@1 <= 10
  • PM10m20: Pend_Marines@1 > 10 AND Pend_Marines@1 <=20
  • PM20: Pend_Marines@1 > 20

Con lo cual ahora tenemos tres capas raster con valores 0 (si aparece nan, cambiar el mínimo a 0) y máximo 1 en las zonas que cumplen la condición.

pm10

3. Poligonizar las máscaras

El siguiente paso es poligonizar las máscaras [Raster>Conversión>Poligonizar]. Es interesante poner diferentes nombres de campo en cada una de las capas, de forma que cuando las unamos sepamos qué columna corresponde a cada clase de pendiente.

pendientes1020

4. Unir las máscaras poligonales

Una vez que tenemos las capas tenemos que unirlas. Se podría utilizar la función unión [Vectorial>Geoproceso>Unión], pero sólo permite hacerlo de dos en dos, por lo que prefiero utilizar la función merge de MMQGIS plugin [MMQGIS>Combine>Merge layers].

Obtenemos una capa con tres columnas en la tabla de atributos, con ceros y unos según estén en cada una de las clases de pendientes.

5. Crear la variable de texto con los rangos de pendiente utilizando la calculadora vectorial

Para crear la variable de pendientes lo que haremos será utilizar la calculadora vectorial de la forma que está explicada en este post.

Supongamos que los nombres de las tres variables son Pm10, PM10m20 y PM20.

Ejemplos 1:

Si lo que queremos es una columna numérica con 10, 20, 40  por ejemplo como valor de la pendiente, la ecuación sería:

"Pm10" * 10 + "PM10m20" * 20 + "PM20" * 40

Ejemplo 2:

Si lo que queremos es un valor de texto más explicativo, la ecuación sería:

CASE
  WHEN "Pm10" = 1 THEN 'Pendiente <= 10'
  WHEN "PM10m20" = 1 THEN 'Pendiente entre 10 y 20'
  WHEN "Pm10" = 1 THEN 'Pendiente menor de 20'
END

O lo que se quiera poner, lógicamente.

Si te es útil este post, comenta.

Referencias sobre fauna y su gestión (Actualizada)

Sobre la fauna española:

En el resto del mundo:

  • BirdLife International. 2017. European birds of conservation concern: populations, trends and national responsibilities. Cambridge, UK: BirdLife International. 171 pp. [PDF]

En la Comunidad Valenciana:

Fauna a escala global

Mamíferos:

Aves:

Reptiles:

Anfibios:

  • Beltran et al. 2016. Guía de Anfibios de los Parques Nacionales Españoles. Organismo Autónomo Parques Nacionales. Ministerio de Agricultura, Alimentación y Medio Ambiente. Madrid. 102 pp. [PDF
  • Amphibian Species of the World 

Peces:

Y sobre Gestión Pesquera:

Simulación de modelos poblacionales:

Métodos de Censos:

Fauna paleontológica:

Si conocéis más recursos gratuitos que merezcan la pena, podéis ponerlos en comentarios y los añadiré.

Referencias útiles para Ecología e impacto ambiental

Para una primera aproximación, lo más interesante es hacerse con alguno de los libros de ecología general o de Impacto ambiental, en concreto mi recomendación interesada serían obviamente mis libros:

Introducción práctica a la Ecología. Samo et al.
Evaluación de Impacto Ambiental, Garmendia et al.

Además de estos libros, es altamente aconsejable el programa Populus de la Universidad de Minesota, de simulación de modelos poblacionales, que utilizaremos en las prácticas de informática.

Otra publicación muy aconsejable es la Revista Ecosistemas, que tiene la ventaja de ser de las pocas sobre el tema en lengua española y con nivel. También puede ser interesante su blog.

La FAO tiene su propio libro de EIA para sus propios proyectos. Interesante como complemento.

 

Algunos libros interesantes relacionados con la asignatura son:

Visores webs interesantes para ver el mundo:

Guías de campo:

Otros recursos relacionados con la asignatura se pueden encontrar en entradas de este blog:

Si buscáis algo no gratuito igual os sirve este enlace.

Si conocéis más recursos útiles, podéis ponerlos en comentarios y los añadiré.

Modificar registros de una capa vectorial en Qgis. Ejemplo para extraer el polígono de un municipio.

Para el ejemplo nos bajaremos la capa de municipios de la web de ArcGis.

Municipios ArcGisDando en “Descargar” se baja el archivo “Municipios_ETRS89_30N.zip”. Antes que nada hay que descomprimir el archivo en una carpeta que contendrá una serie de archivos que se llaman todos igual con diferentes extensiones:

instantánea6Cada uno de estos archivos son diferentes datos sobre la misma capa. Todos ellos juntos forman la capa vectorial. El archivo de referencia de la capa es el de formato “shape” y extensión “.shp”, mientras que el archivo con extensión .dbf es el que contiene la tabla de atributos que se podría abrir con cuidado en una hoja de cálculo, aunque no es aconsejable hacerlo directamente.

Abrir capa vectorial

Para abrir la capa vectorial en Qgis ir a Capa>Añadir capa>Añadir capa vectorial…

añadir capa vectorial Elegir el archivo de la capa en formato shape, elegir la codificación adecuada (normalmente UTF-8  o ISO-8859-1) y pulsar Abrir. Si no se elige la codificación adecuada, las ñ y los  acentos saldrán cómo símbolos extraños.

Una vez abierta la capa con todos los municipios de  España, pulsar con el botón derecho y abrir la tabla de atributos.

instantánea9En la tabla de atributos buscar el municipio que  queremos guardar. Para poder seleccionarlo debemos  activar la edición, lo seleccionamos y pulsamos a “invertir selección” de forma que quedan seleccionados todos los municipios menos el nuestro.

instantánea11Damos a borrar, desmarcamos editar tabla y guardamos la nueva tabla de atributos.

Guardar Capa

Una vez modificada la capa es importante guardarla. No sirve con guardar el proyecto de Qgis, es necesario guardar cada una de las capas del proyecto. Lo ideal es tenerlas ordenadas en una carpeta donde esté metido todo el proyecto de forma ordenada.

Para guardar la capa le damos encima con el botón derecho, damos a guardar como y le ponemos un nombre (en el ejemplo gatova.shp).

instantánea12Ya tenemos la superficie del municipio de Gátova separada del resto.

Guardar el proyecto

Si tenemos más capas y/o queremos guardar los colores y resto de cambios que hayamos hecho en “Propiedades”, es necesario guardar el proyecto. El proyecto guarda las rutas a cada una de las capas y los colores y otras propiedades de cada una de ellas.

Así como las capas en formato shape se pueden abrir en cualquier programa de GIS (ArcGis, gvSig, Qgis,…), el proyecto se guarda en un formato diferente para cada programa, por lo que no se puede abrir en un programa diferente del que se ha utilizado para crearlo.

Cómo instalar Qgis (actualizado)

Instalar Qgis es tan fácil como seguir los pasos de su página oficial:

https://www.qgis.org/en/site/forusers/alldownloads.html

Aunque conviene tener en cuenta que existen diferentes versiones y no siempre la última es la mejor. De hecho, para trabajar, la mejor suele ser la última versión LTR (long term release) que es la última versión estable.

INSTALAR QGIS EN LINUX

En los repositorios suele haber versiones antiguas, aunque funcionales. Es importante instalar además de qgis, el paquete de python (qgis-python) para que funcionen las herramientas y plugins. Para un uso básico probablemente tendrás suficiente con el que salga en el repositorio oficial, pero a veces el que aparece está bastante anticuado y hay que añadir el repositorio de qgis.

Para instalar desde el repositorio de ubuntu desde consola:

sudo apt-get install qgis python-qgis

En varias webs aparece el qgis-plugin-grass que puedes probar a instalarlo también, pero mejor por separado.

INSTALAR LA ÚLTIMA VERSIÓN LTS DE QGIS EN UBUNTU 14.04 LTS

Para tener la última versión LTS es necesario añadir repositorios, actualizar y después instalar. Está todo explicado en el enlace de arriba, pero para simplificar:

1. Editamos el archivo “/etc/apt/sources.list” para lo que hace  falta ser root. Se puede hacer con nano, gedit*, leafpad, kate o cualquier editor de  texto plano:

sudo gedit /etc/apt/sources.list

Agregamos las siguientes líneas al final del texto:
deb http://qgis.org/debian-ltr trusty main
deb http://qgis.org/ubuntugis-ltr trusty main
deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main

cambiando la versión de ubuntu a la que tengas instalada.

2. Activamos la clave de los repositorios. Volvemos a entrar a la consola y escribimos lo siguiente para activar la clave:
gpg --keyserver keyserver.ubuntu.com --recv DD45F6C3
gpg --export --armor DD45F6C3 | sudo apt-key add -

Si la firma da problemas prueba con esto.

3. Y ya sólo queda actualizar e instalar:
sudo apt-get update
sudo apt-get install qgis python-qgis

Una vez instalado correctamente, el siguiente paso es instalar los plugins que vayas a necesitar.

WEBS DONDE SOLUCIONAR PROBLEMAS DE QGIS

 

Referencias sobre botánica

A pesar de que mucha de la información es difícil de encontrar y por tanto de utilizar, sí que existen recursos gratuitos de fácil acceso que nos pueden ayudar a entender la botánica:

Geobotánica y vegetación

Muy aconsejables los apuntes de Francisco José Alcaraz Ariza, muy ordenados y actualizados (no sólo los temas de teoría sino toda la web):
http://www.um.es/docencia/geobotanica/teoria.html

Sobre la vegetación de España por zonas, una buena referencia clásica son los 18 volúmenes de Itinera Geobotánica:

https://floramontiberica.wordpress.com/itinera-geobotanica/

Sobre el estado actual de la situación de los mapas de vegetación:

Sainz et al 2010 La Cartografía sintética de los paisajes vegetales españoles: Una asignatura pendiente en Geobotánica. Ecología 23: 249-272.

Otra aproximación diferente son los Atlas de Idoneidad de especies leñosas de la Península Ibérica.  http://www.opengis.uab.cat/IdoneitatPI/index.html

Y para bajarse los mapas en shp:

Rivas-Martinez 1987 Mapas Series Vegetación: http://www.magrama.gob.es/es/biodiversidad/servicios/banco-datos-naturaleza/informacion-disponible/memoria_mapa_series_veg_descargas.aspx

En la Comunidad Valenciana:
Costa 1982. Pisos bioclimáticos y series de vegetación en el área valenciana. Cuadernos de geografía, ISSN 0210-086X, Nº 31, 1982 , 129-144

A escala europea:

Visor del European Forest Data Center y sus descargas.

Zona andina:

Atlas de los Andes  del Norte y del Centro (ha dejado de funcionar: http://condesan.org/portal/sites/default/files/publicaciones/archivos/atlas_andes.pdf)

Flora

Para búsquedas sobre flora, lo mejor es ir directamente a las fuentes:

y los enlaces incluídos en ellos, de los que destacaría:

y las Bases de datos de biodiversidad:

Pero si sólo os interesan los árboles, lo mejor es  una App para el móvil:

  • ArbolApp. Una App para el móvil con los árboles de la Península Ibérica, Baleares y Canárias (ArbolappCanarias) editada por el CSIC. También tiene versión web en los enlaces anteriores.

Otros

En la parte normativa es importante tener en cuenta las listas-patrón de especies y hábitats publicadas por el Ministerio, con el objetivo de unificar su nomenclatura.

Para buscar más documentos de botánica, recomiendo la web de Jose Luis Benito, que tiene recopilados todos los enlaces importantes:

Y ya puestos, os dejo los enlaces a algunos libros interesantes de conservación de flora:

Si buscáis algo no gratuito igual os sirve este enlace.

Si conocéis más recursos gratuitos que merezcan la pena, podéis ponerlos en comentarios y los añadiré.

Automatizar el paso de GPX a SHP desde R

Desde la lógica más pura del trabajo con datos en R, lo mejor es tener los datos originales sin modificar, ya que siempre que se modifican es una posibilidad nueva de error. Para poder trabajar con esos datos originales lo que hacemos es convertirlos en una matriz de datos con los que podamos trabajar.

En nuestro caso tenemos en una carpeta los datos GPX tal cual salen del GPS y una tabla CSV con el mismo nombre que contiene los datos recogidos en la libreta (Especie, nombre parcela, otros datos) sobre los mismos puntos que contiene el GPX. Es importante que el número de registros en uno y en otro sean los mismos y que estén en el mismo orden, aunque no es necesario que se llamen igual, es interesante hacerlo para poder comprobar que se han unido bien.

Pasos a seguir:

  1. Instalar rgdal
  2. Elegir directorios de trabajo
  3. Importar datos GPX en R
  4. Importar datos CSV en R
  5. Juntar todos los datos en una única SpatialPointsDataFrame
  6. Corregir errores de transcripción
  7. Eliminar repetidos
  8. Exportar SHP

Instalar rgdal

Para importar datos GPX en R necesitaremos instalar la librería rgdal. Al intentar instalarla puede ocurrir que falte gdal-config, por lo que habrá que instalarlo primero en la consola de Linux:

sudo apt-get install libgdal1-dev libproj-dev

y en la consola de R:

install.packages("rgdal", dep=T)         #rgdal package
library(rgdal)

Una vez instalada, sólo es necesario correr la última línea de código para volver a activar la librería las siguientes veces.

Elegir directorios de trabajo

Lo primero que vamos a hacer es fijar los directorios de trabajo:

#   Directorio de entrada de datos
DirDatosBrutos <- "Directorio donde están los datos GPX y CSV/"
#   Directorios para exportar datos
DirDatosSHPwp  <- "Directorio donde se querran guardar los archivos shp de puntos/"
DirDatosSHPtrk <- "Directorio donde se querrán guardar los shp de tracks/"

Observar que al principio no hay barra y al final hay una barra inclinada (en Mac o en Windows puede ser diferente). Para comprobar que están bien elegidos, podemos utilizar:

list.files()
list.files(DirDatosBrutos)
list.files(DirDatosBrutos, ".csv")
list.files(DirDatosSHPwp, ".shp")
list.files(DirDatosSHPtrk, ".shp")

Importar datos GPX en R

Para importar los datos GPX y convertirlos en variables espaciales de puntos (waypoints) o lineas (tracks) utilizaremos readOGR()

#=============================================================================== 
#          LEER DATOS GPX y csv y crear listas
#=============================================================================== 
GPXinNombres <- list.files(DirDatosBrutos, ".GPX")  # Lista nombres gpx importar
CSVinNombres <- list.files(DirDatosBrutos, ".csv")  # Lista nombres csv importar
#
#                         GPXwp           Lista de SpatialPointsDataFrame PUNTOS
GPXwp <- list()
for (i in GPXinNombres){
    nombre <- paste(DirDatosBrutos,i,sep="")
    GPXwp[[i]] <- readOGR(dsn = nombre, layer="waypoints")
}
#
#                       GPXtrk             Lista de SpatialLinesDataFrame TRACKS
GPXtrk <- list()
for (i in GPXinNombres){
  nombre <- paste(DirDatosBrutos,i,sep="")
  GPXtrk[[i]] <- readOGR(dsn = nombre, layer="tracks")
}
#                       COMPROBAR
for (i in 1:length(GPXwp)){
   plot(GPXwp[[i]])
   plot(GPXtrk[[i]],add=T)
}
# Debería salir un dibujo con los traks y waypoints de cada archivo gpx

Importar datos CSV en R

Lo ideal es que tengan el mismo nombre que los correspondientes GPX, pero si no, al menos deberían estar en el mismo orden alfabético. También los nombres de las variables deberían ser en todas las mismas. En el ejemplo son ID, Tipo, Lugar Parcela y Fecha, pero habrá que poner en cada caso los datos tomados en la libreta.

#                         CSVwp     Lista de matrices de datos espaciales
CSVwp <- list()
for (i in CSVinNombres){
nombre <- paste(DirDatosBrutos,i,sep="")
CSVwp[[i]] <- read.table(nombre,header=T,sep=",")      #,sep="\t")     #   Leer tabla
names(CSVwp[[i]]) <- c("ID","Tipo","Lugar","Parcela","Fecha")          #   Arreglar nombres variables
}
#

Limpiar variables del GPX

Podemos ver todas las variables introducidas en cada una de las tablas utilizando str() o head(). En el ejemplo sólo nos quedaremos con las variables 5, 1 y 2, “nombre”, “ele” y “time”, respectivamente, eliminando todas las demás ya que están vacías o no tienen información relevante. Comprobar siempre antes, ya que pueden variar en función del modelo de gps. Para eliminarlas de toda la lista de tablas a la vez, utilizaremos for().

#===============================================================================
#          LIMPIAR GPXs
#===============================================================================
#          Seleccionar las variables útiles y crear variable VarUtiles
head(GPXwp[[1]])
VarUtiles <- c(5,1,2)                           # Puede cambiar según modelo GPS
for(i in 1:length(GPXwp)){
GPXwp[[i]] <- GPXwp[[i]][,VarUtiles]
}
head(GPXwp[[1]])                                             # Comprobar cambios
#

Juntar las variables de los GPX con las de los CSV

Un detalle importante en este paso es que los nombres de las variables en el CSV no deben coincidir con las variables que se hayan conservado del GPX. Si es así debería cambiarse el nombre de una de las dos. En este momento tenemos una lista de gpx con tres variables cada uno y una lista de csv con 4 variables cada uno. Podrían ser más y no pasaría nada mientras estén en el mismo orden y lógicamente el número de puntos en los gpx coincida con el número de lineas de datos de cada csv. Si es así, esto debería funcionar.

#===============================================================================
#          JUNTAR GPX Y CSV
#===============================================================================
for(i in 1:length(GPXwp)){
for (j in names(CSVwp[[i]])){
GPXwp[[i]][[j]] <- CSVwp[[i]][[j]]
}
}
#                       COMPROBAR si se han añadido
head(GPXwp[[1]])

Juntar todos los datos en una única SpatialPointsDataFrame

para juntar todos los datos en una única tabla de datos espaciales “SpatialPointsDataFrame” creamos un objeto introduciremos la primera tabla y luego con for() vamos añadiendo las demás utilizando rbind() para añadir cada vez más filas. Más tarde quitaremos los elementos duplicados por lo que no debemos  preocuparnos si los archivos solapan o si se tomaron puntos repetidos.

WP <- GPXwp[[1]] # Crea tabla GPXWP
for(i in 2:length(GPXwp)){
WP <- rbind(WP,GPXwp[[i]]) # Une resto de tablas a GPXWP
}
# COMPROBAR
WP

Corregir errores de transcripción

Además de comprobar que se han introducido todos los casos es interesante comprobar también si existen errores de transcripción que haya que corregir. Para las variables cuantitativas suele ser interesante ver los valores máximos y mínimos. Las cualitativas se pueden comprobar viendo los niveles de cada factor.

levels (WP$Tipo)                                 # Debería haber sólo 4: A,H,R,S

En nuestro ejemplo resulta que en la variable Tipo se han introducido en algunos casos “Ref” en vez de “R” y “X”  en vez de “H”. Para corregirlo

levels(WP$Tipo)[levels(WP$Tipo)=="REF"] <- "R"   # Cambia REF por R
levels(WP$Tipo)[levels(WP$Tipo)=="X"] <- "H"     # Cambia X por H
levels (WP$Tipo)                                 # Debería haber sólo 4: A,H,R,S

Eliminar repetidos

Los puntos que coinciden en coordenadas y en Tipo se consideran puntos repetidos y por tanto serán eliminados para que en cada coordenada sólo pueda haber un punto de cada tipo.

#===============================================================================
#          ELIMINAR REPETIDOS
#===============================================================================
coordTipo <- cbind(coordinates(WP),WP$Tipo)           # Variables para repetidos
dupl <- duplicated (coordTipo)                        # casos duplicados
#                       COMPROBAR
# length(subset(dupl,dupl==TRUE))                     # Numero casos duplicados
# length(subset(dupl,dupl==FALSE))                    # Numero casos sin duplicar
#
str(WP)
WP <- WP[!dupl,]                                      # ELIMINAR CASOS REPETIDOS
str(WP)
#

Exportar SHP

Ahora ya podemos exportar un shp con todos los puntos de todos los gpx y con los datos del csv incluidos en la tabla de atributos utilizando la función writeOGR().

writeOGR(WP, dsn = DirDatosSHPwp, "WP-Definitivo", driver = "ESRI Shapefile", overwrite_layer = T)  # Crea WP.shp DEFINITIVO

También se puede exportar en otros formatos (GPX, CSV, etc.). Si además queremos exportar una capa de shp para cada uno de los archivos de traks de cada gpx, se puede hacer así

for(i in 1:length(GPXtrk)){
writeOGR(GPXtrk[[i]],DirDatosSHPtrk,names(GPXtrk)[i],driver="ESRI Shapefile",overwrite_layer = T)
}

No he conseguido (tampoco lo he necesitado por ahora) juntar todas las “SpatialLinesDataFrame” de las tracks de los gpx en una sólo ni eliminar los segmentos repetidos. Si en algún momento veo cómo hacerlo lo añadiría aquí. Si sabes cómo hacerlo puedes comentarlo.

Cómo pasar los datos de tu GPS a capas de GIS en shape utilizando Qgis

La mayor parte de la información cartográfica pública se publica en formato shp, por lo que suele ser la mejor forma de editar, pasar a limpio y almacenar nuestros datos de distribución espacial. Los datos que recogemos con el receptor GPS se guardan normalmente (o al menos se pueden exportar) en formato GPX. Los datos de cada punto se suelen meter en libreta y de ahí a una tabla (o directamente en una tablet), pero no suele ser cómodo hacerlo en el mismo aparato, por lo que luego hay que juntar los datos. Vamos a ver cómo juntarlos en formato shp para poder utilizar otras capas de información geográfica y en futuros posts veré la forma de pasar los datos shp a R para poder realizar análisis de distribución espacial.

Si lo único que se quiere es visualizar o modificar los puntos o tracks y volver a guardarlos en gpx o volver a meterlos en el gps, lo mejor sería no complicarse la vida y utilizar Qlandkartegt o su nueva versión Qmapshack.

En este caso vamos a complicarlo un poco más que eso. Partimos de la base de que tenemos un archivo gpx con puntos y tracks y una tabla con los datos de cada punto en .csv (se puede exportar a .csv desde ods, xls o cualquier otro formato). Vamos a juntar ambos con Qgis y guardarlo todo en formato shp, o incluso volver a guardarlo como gpx. Pero mejor, paso a paso.

Si tienes muchos archivos gpx y csv, igual es mejor automatizar el proceso y juntar todos los archivos en un único shp utilizando R.

Primer paso: Abrir gpx en Qgis

Se pueden abrir los archivos gpx en Qgis clicando Capa>Añadir capa>Añadir capa vectorial…

qgis1

Se selecciona el archivo y se abren dos capas, la de waypoints (puntos) y la de tracks (líneas). Obviamente si se quieren guardar el resto de datos también se puede, pero no suelen ser interesantes.

qgis2 qgis3 qgis4

Paso 2: Comprobar que está todo en su sitio

Para comprobar que está todo en su sitio la mejor opción es utilizar alguno de los plugins de mapas web aconsejados (QuickMapServices, OpenLayers) y abrir de fondo algún mapa (osm, gmaps) para ver si los puntos están colocados donde se supone que deben estar. Si no está donde debe lo más probable es que haya que ajustar la proyección.

qgis5

Paso 3: limpiar tabla de atributos

Antes de añadir nuevos datos y marcas en la tabla de atributos es interesante ver qué es lo que hay ahí dentro y quitar todo lo que no sea útil. De todas las variables que introduce el gps en la tabla de atributos,  en nuestro caso la única información  útil es el nombre de cada waypoint, ya que es lo que vamos a utilizar para identificarlos y unir los datos de la tabla csv. Para quitar el resto de variables de la tabla de atributos hay que darle primero a editar y luego a eliminar columnas.

Importante: hay que haber guardado previamente la capa para poder editarla. Para ello: botón derecho>guardar como

qgis6 qgis7

 

 

 

 

 

 

 

En otros casos puede interesar conservar “ele” elevaciones, o “time” el momento en que se realizó el waypoint.

Un detalle importante es fijarse en que el nombre de los waypoints en este caso empiezan en 005. Los  ceros a la izquierda cuentan en el nombre, por lo que tendremos que ponerlos igual en la tabla csv. Para ello es importante ver en formato de número y añadir números a la izquierda antes de exportarlo como csv.

Paso 4: añadir datos a los waypoints a partir de una tabla de datos csv

Lo más importante que tiene que tener la tabla es una de las variables igual a alguna de las variables de la tabla de atributos de la capa. En el ejemplo la variable ID del archivo .csv es el nombre del punto, escrito exactamente igual que la variable “nombre” de la tabla de atributos, ceros a la izquierda incluidos.

qgis8

Para añadir los datos utilizamos el plugin MMQgis, que ya describí anteriormente.

qgis9qgis10

Importante fijarse en cada dato que te pide el formulario:

  • elegir el archivo csv,
  • poner el nombre de la variable,
  • la capa vectorial
  • y el nombre de la misma variable en la capa, para que los datos se unan adecuadamente.
  • También es interesante poner un nombre de archivo shape con el nombre de la nueva capa (ejemplo.shp)
  • y de los datos que no se han unido por si acaso (si todo va bien debería quedar vacío).

 

qgis11qgis12qgis13qgis14

Y como siempre que se trabaja con GIS, que no se te olvide guardar, en dos fases:

  • Cada capa por separado (formato shp, botón derecho y guardar como) para guardar los cambios en las tablas y situación de los puntos.
  • Y el proyecto (formato qgs) para guardar las localizaciones de cada capa, el orden y los colores elegidos.

Paso 5, o cerrando el bucle: Volver a guardar de shp a gpx

En caso necesario podéis volver a guardar la capa que queráis como gpx para volver a introducirla en vuestro gps, pero con los nuevos datos. Para ello botón_derecho, guardar _como,  gpx.

 

Legislación ambiental española

Estar al día de todo lo que sale relacionado con medio ambiente es difícil si no te dedicas expresamente a temas legales, ya que no existe un lugar centralizado donde informarse. Por eso, además de conocer la normativa básica, es importante conocer los lugares que se mantienen actualizados y revisarlos al hacer la revisión normativa al empezar  un proyecto (mejor antes que después).

Enlaces para buscar legislación actualizada

Para estar actualizado, lo mejor es ir a las fuentes. En el Ministerio tienen recopiladas las leyes nacionales, aunque cada vez que cambian la web del ministerio hay que volver a buscar donde las han metido. Actualmente está aquí:

http://www.magrama.gob.es/es/calidad-y-evaluacion-ambiental/temas/evaluacion-ambiental/legislacion/

Otra buena opción son las recopilaciones de la Asociación de evaluación de impacto ambiental:

http://www.eia.es/internacional/

http://www.eia.es/nacional/

http://www.eia.es/autonomica/

 Si conocéis alguna otra que se mantenga al día, ponerla en comentarios y la añado.

Normativa ambiental básica (actualizada 2015)

Para entender la diferencia entre los distintos tipos de normas, puedes visitar este enlace.

La última ley de Evaluación ambiental reúne en una única ley lo que antes estaba en varias (Evaluaciones de proyectos, planes y programas, reglamento, etc), pero está muy mal escrita (supongo que por las prisas) y con cosas objetivamente mal redactadas,  por lo que resulta confusa y difícil de entender.

Ley 21/2013 de 9 de diciembre de Evaluación Ambiental

Realmente aporta pocas cosas nuevas, aparte de los plazos, por lo que para aclararse puede ser interesante revisar alguna de las anteriores o las directivas de las que emanan:

Ley 6/2010, de 24 de marzo, de modificación del texto refundido de la Ley de Evaluación de Impacto Ambiental de proyectos, aprobado por el Real Decreto Legislativo 1/2008, de 11 de enero.

REAL DECRETO LEGISLATIVO 1/2008, de 11 de enero, por el que se aprueba el texto refundido de la Ley de Evaluación de Impacto Ambiental de proyectos.

Otra legislación relacionada:

REAL DECRETO 2090 /2008, de 22 de diciembre, por el que se aprueba el Reglamento de desarrollo parcial de la Ley 26/2007, de 23 de octubre, de Responsabilidad Medioambiental.

LEY 42/2007, de 13 de diciembre, del Patrimonio Natural y de la Biodiversidad.

LEY 34/2007, de 15 de noviembre, de calidad del aire y protección de la atmósfera.

REAL DECRETO 509/2007, de 20 de abril, por el que se aprueba el Reglamento para el desarrollo y ejecución de la Ley 16/2002, de 1 de julio, de prevención y control integrados de la contaminación.

REAL DECRETO 9/2005, de 14 de enero, por el que se establece la relación de actividades potencialmente contaminantes del suelo y los criterios y estándares para la declaración de suelos contaminados.

LEY 16/2002, de 1 de julio, de prevención y control integrados de la contaminación.

Legislación ambiental Valenciana

DECRETO 208/2010, de 10 de diciembre, del Consell, por el que se establece el contenido mínimo de la documentación necesaria para la elaboración de los informes a los estudios de impacto ambiental a los que se refiere el artículo 11 de la Ley 4/1998, de 1

DECRETO 127/2006, de 15 de septiembre, del Consell, por el que se desarrolla la Ley 2/2006, de 5 de mayo, de la Generalitat, de Prevención de la Contaminación y Calidad Ambiental.

LEY 4/2006, de 19 de mayo, de la Generalitat, de Patrimonio Arbóreo Monumental de la Comunitat Valenciana

LEY 2/2006, de 5 de mayo, de Prevención de la Contaminación y Calidad Ambiental.

DECRETO 32/2006, de 10 de marzo, del Consell de la Generalitat, por el que se modifica el Decreto 162/1990, de 15 de octubre, del Consell de la Generalitat, por el que se aprobó el Reglamento para la ejecución de la Ley 2/1989, de 3 de marzo, de la Generalitat, de impacto ambiental.

ORDEN de 3 de enero de 2005, de la Conselleria de Territorio y Vivienda por la que se establece el contenido mínimo de los estudios de impacto ambiental que se hayan de tramitar ante esta Consellería.

DECRETO 161/2004, de 3 de septiembre, del Consell de la Generalitat, de Regulación de los Parajes Naturales Municipales.

DECRETO 162/1990, de 15 de octubre, del Consell de la Generalitat Valenciana, por el que se aprueba el Reglamento para la ejecución de la Ley 2/1989, de 3 de marzo, de Impacto Ambiental.

LEY 2/1989, de 3 de marzo, de Impacto Ambiental.

Tipos de normas en la legislación ambiental española

A una escala nacional, la norma fundamental, en la que todas las demás deberían estar inspiradas y que no se puede contradecir con ninguna otra legislación de rango menor, es actualmente la Constitución Española de 1978. De hecho, el Estado Español no puede firmar tratados internacionales que contradigan a esta Constitución y aunque están previstos los mecanismos para cambiarla si fuese preciso, es difícil encontrar el consenso necesario para hacerlo.

Toda la legislación nacional, por lo tanto, está subordinada a la Constitución Española, lo que significa que ninguna norma puede ir en contra de lo dispuesto en la misma y el Tribunal Constitucional se encarga de velar por su cumplimiento. Dentro de la legislación nacional existen también diferentes rangos normativos, dependiendo de quién y cómo los dicte, de forma que una norma de rango inferior nunca puede contravenir lo dispuesto en una norma de rango superior.

Las normas de mayor rango, después de la propia Constitución, son las leyes, que tienen que ser aprobadas en el Parlamento, y dentro de éstas, las leyes orgánicas, que son las que organizan el funcionamiento de las instituciones y las que deben de tener un mayor consenso (Los Estatutos de Autonomía y el Código Penal, por ejemplo, son leyes orgánicas).

Por debajo de las leyes, por no haber sido votados en el Parlamento, sino redactados por el Equipo de Gobierno, se encuentran los decretos, que pueden ser de varios tipos: Se denomina Real Decreto, cuando el Rey ha sido informado del mismo y Decreto Ley o Decreto Legislativo cuando el Decreto tiene vocación de Ley y será votado por el Parlamento en un futuro próximo, alcanzando en este momento (si es aprobado) rango de Ley. Los decretos pueden ser dictados también por los órganos de gobierno de las comunidades autónomas, pero siempre sin contravenir la Legislación Nacional.

Cuando es conveniente que una norma pueda cambiar cada año o cada cierto tiempo, regulando el funcionamiento de una actividad, se dicta mediante una Orden, que puede ser ministerial o de una consejería de una Comunidad Autónoma, como las Órdenes de Caza y Pesca, que determinan las fechas de vedas. Estas órdenes son las normas de menor rango y por tanto no pueden contravenir las normas de rango superior: leyes, decretos,…

Otros documentos estatales no tienen rango normativo, como pueden ser las estrategias, planes y programas y por lo tanto tienen que cumplir la normativa vigente, aunque en muchas ocasiones ofrecen la organización necesaria para el dictado de nuevos decretos o incluso nuevas leyes.

Desde un punto de vista internacional, el Estado Español puede asociarse con otros países, dentro de lo previsto en la Constitución Española, de forma que se obligue a cumplir convenios internacionales. Estos convenios no tienen rango normativo y por lo tanto no son de obligado cumplimiento para las personas físicas o jurídicas, ni para las diferentes administraciones hasta que son transpuestos con algún tipo de normativa (Ley, Decreto…). Lo mismo ocurre con las directivas europeas: Desde el Parlamento Europeo no se pueden dictar normas que obliguen directamente a los ciudadanos o instituciones españolas, pero desde que se acepta estar dentro de la Unión Europea, el Estado Español se compromete a transponer la Normativa Europea en Normativa Nacional y en el momento en que lo hace, obliga a todos los ciudadanos e instituciones.

 

Utilizar la capa de Open Street Maps (OpenLayerPlugin) para comprobar el sistema de coordenadas en Qgis

Como ya había comentado en un post anterior, el plugin de OpenLayerPlugin es muy útil para situarnos donde estamos y comprobar que nuestras capas de mapas están encuadradas correctamente en el territorio. Por ejemplo, si tenemos mal puesto el sistema de coordenadas, puede ocurrir que el municipio de Gátova aparezca totalmente descolocado (al lado de Menorca, por ejemplo), un poco descolocado como en el mapa de debajo a la izquierda.

instantánea13

14-15

Sólo con el sistema de coordenadas correcto la figura se verá perfectamente alineada con los límites de la capa de OpenStreetMaps.

En definitiva, este plugin sirve para situarse y ver si nuestros datos están situados correctamente.

Plugins imprescindibles en Qgis

Después de instalar el Qgis, es importante echar un vistazo a los plugins. Una de las grandes ventajas de Qgis es su gran versatilidad que consigue a partir de los plugins que añaden nuevas características al programa.

Para instalar un plugin basta con ir a Complementos>Administrar e instalar complementos…

Qgis Instalar complemento

Y una vez en el administrador de complementos buscar, marcar e instalar los que uno quiera.

Qgis administrador complementos

Existen plugins casi para cualquier cosa, aunque la dificultad está en saber cuáles son realmente útiles. Un primer vistazo a la página de plugins de qgis, ordenada por los mas votados (Most voted) o los más bajados (Top downloads) nos dice ya cuales son los más utilizados.

Qgis most downloaded plugins

De estos, los que más vamos a utilizar son:

OpenLayers Plugin: Permite abrir y utilizar capas de OpenStreetMap, Google Maps, Bing Maps, MapQuest y Apple Maps. Estas capas son muy útiles para comprobar que estamos utilizando la proyección correcta en nuestras capas, entre otras cosas.

OpenLayer tiene el problema reconocido de que no funciona bien al imprimir el mapa, por lo que cuando se va a imprimir es mejor utilizar los mapas de QuickMapServices, que funcionan perfectamente, aunque sólo utiliza mapas libres (no google).

mmqgis: Nos permite exportar la tabla de atributos como CSV y luego volver a importarla, de forma que podemos trabajar datos de la tabla en cualquier hoja de cálculo (Calc, Excel,..) de forma mucho más cómoda que en el editor de tablas.

Table Manager: Nos permite ordenar las columnas en la tabla de atributos.

Más información:

¿Has utilizado algún otro plugin que consideres imprescindible? Ponme la información en un comentario y lo probaré.

Qgis o gvSig

Difícil decisión. Personalmente siempre he encontrado a Qgis más amigable con el usuario y a gvSig más difícil de utilizar. Sin embargo el hecho de que la documentación de gvSig sea en español le da algo de ventaja. Probablemente por la misma razón Qgis es el más utilizado en organismos internacionales, mientras que gvSig es el más utilizado en las administraciones españolas.

No parece fácil decidir:

Para instalar Qgis:

http://garmendia.blogs.upv.es/instalar-qgis/

Para instalar gvSig:

http://garmendia.blogs.upv.es/instalar-gvsig/

Instalar gvSig

gvSig tiene documentación en español, por lo que no debería ser difícil de instalar:

http://www.gvsig.com/es/productos/gvsig-desktop/descargas

Me sorprende que todavía no se encuentre en ningún repositorio oficial, pero así es, hay que bajarse el paquete binario de la web. Si se intenta instalar directamente no funcionará debido a que es un programa que corre sobre JAVA, lo que significa que tienes que tener java instalado previamente.

 

INSTALAR GVSIG EN UBUNTU 14.04 LTS

  1. Instalar Java
  2. Bajarse gvsig
  3. Instalar gvsig

1.Instalar Java

sudo apt-get update
sudo apt-get install openjdk-7-jdk:i386 libidn11:i386 libldap-2.4-2:i386 libjpeg62:i386 libproj0:i386 libgeos-c1:i386 libssl0.9.8:i386http://garmendia.blogs.upv.es/wp-admin/post.php?post=39&action=edit

2.Bajarse gvsig

Ahora sí, elegir desde:

http://www.gvsig.com/es/productos/gvsig-desktop/descargas

3. Instalar gvsig

Dar permiso de ejecutar como programa y correr el programa de instalación.

Seguir los pasos de la documentación.

Manual de gvSig:

http://downloads.gvsig.org/download/web/es/build/html/index.html

 

 

Calculadora de campos de Qgis para poner valores a partir de cualidades (ejemplo Aptitud)

La tabla de atributos de Qgis todavía es una de las asignaturas pendientes en su desarrollo. No permite arrastrar o copia y pegar muchos valores a la vez, de forma que cuando tenemos muchos registros se complica realizar operaciones. Una forma posible es abrir el archivo .dbf en una hoja de cálculo y luego tener cuidado de volver a ponerla en su sitio. Se puede hacer pero no resulta lo más aconsejable. En gvsig se permite exportar la tabla en .CSV y luego juntar campos, lo que facilita esta operación. mmqgis es un pluging de Qgis que permite exportar la tabla de atributos como CSV y luego volver a importarla, de forma que podemos trabajar datos de la tabla en cualquier hoja de cálculo (Calc, Excel,..) de forma mucho más cómoda que en el editor de tablas. Aquí se explican otros plugins interesantes como Table Manager, que nos permite ordenar las columnas en la tabla de atributos.

En cualquier casos en la mayoría de los casos se puede conseguir casi cualquier cosa utilizando la calculadora de campos, que cada vez es una herramienta más versatil.

Para ver todos los detalles de la calculadora de campo, vienen muy bien explicados aquí y aquí, por lo que no me entretendré en eso. Sino que directamente paso a ver cómo

PONER VALORES DE APTITUD A PARTIR DE CUALIDADES

Para ello utilizaré la capa Siose 2011 del municipio de Gátova, bajada de Terrasit (aquí explico cómo) y simplificada eliminando las columnas que no necesito (4 columnas x 193 registros). En la figura los primeros 39 registros:

Screenshot - 031215 - 13:38:35

La idea es crear una columna con valores numéricos para cada tipo de vegetación según la considere más o menos apta para una actividad concreta.

Para ello editamos la tabla (botón de más a la izquierda) y abrimos la calculadora de campos (botón de más a la derecha). También se pueden ordenar los registros por orden alfabético presionando sobre el nombre.

Los valores de aptitud que queremos poner a cada valor de NIVEL 1 son:

Arbolado forestal 2
Matorral 2
Pastizal 1
Cultivos 1
Coberturas artificiales 0
Terrenos naturales sin vegetación 0

Obviamente hay muchas formas de obtener el mismo resultado, voy a exponer las dos que más me gustan, que son con ILIKE y con CASE_ELSE.

A mi me gusta más la primera porque es más fácil detectar errores y las columnas extra me permiten realizar cálculos desde la hoja de cálculo (sólo tengo que copiar el archivo .dbf en otra carpeta y abrirlo.

Detalles a tener en cuenta en las operaciones:

  • las variables se ponen entre comillas dobles
  • El texto se pone entre comillas simples
  • Los valores numéricos se ponen tal cual
  • Conviene escribir la fórmula en un editor de texto por si no sale bien poder corregirla usando “Actualizar campo existente” y para luego saber cómo se ha hecho (en Qgis no se guarda)·

Utilizando ILIKE

En realidad utilizar LIKE, ILIKE o = es casi lo mismo. Para valores numéricos es lo mismo, aunque en ese caso lo mejor es utilizar =, <,>. Para texto ILIKE tiene la ventaja de no discriminar entre mayúsculas y minúsculas.

La mejor opción desde mi punto de vista es dividir el problema en problemas menores fácilmente revisables, haciendo una columna para Aptitud 2 (A2), otra para Aptitud 1 (A1) y si llegara a hace falta otra para A0.

Para el caso de A2 se puede hacer con OR:

"NIVEL1" ILIKE 'Arbolado forestal'
OR
"NIVEL1" ILIKE 'Matorral'

Para la A1 se hace de la misma manera, cambiando los valores por ‘Pastizal’ y ‘Cultivos’.

Luego, una vez creadas las dos columnas, y comprobado que no queda ningún valor sin utilizar, simplemente hay que operar con ellas multiplicando a cada una por su valor, con lo que nos queda una columna con los valores de aptitud de la capa Siose 11, utilizando los valores de la variable NIVEL1 (Apt_S11N1):

"A1"+2*"A2"

En realidad la columna A0 no hace falta en este caso, pero en ocasiones es útil para comprobar que no nos dejamos nada.

Utilizando CASE_ELSE

Si tengo claro que no voy a tener que corregir valores ni a operar desde hoja de cálculo, puedo hacerlo directamente con el Condicional CASE ELSE

CASE WHEN condition THEN result ELSE result END

Screenshot - 031215 - 15:32:06es decir:

CASE
    WHEN
        "NIVEL1" ILIKE 'Arbolado forestal'
        OR
        "NIVEL1" ILIKE 'Matorral'
    THEN
2
    WHEN
        "NIVEL1" ILIKE 'Pastizal'
        OR
        "NIVEL1" ILIKE 'Cultivos'
    THEN
1
    ELSE
0
END

Suele ser buena idea hacerlo de dos formas diferentes y comprobar que los datos que salen son los mismos, sobre todo cuando hay tantas filas que es imposible comprobarlo de forma manual.

IMPORTANTE: Escribir la fórmula en un editor de texto o copiarla y pegarla en un editor de texto antes de dar a aceptar, de forma que si no sale perfecta la podamos modificar y volver a actualizar el campo.

Referencias

http://docs.qgis.org/2.2/pt_BR/docs/user_manual/working_with_vector/field_calculator.html
http://mappinggis.com/2014/05/como-usar-la-calculadora-de-campos-de-qgis/
http://garmendia.blogs.upv.es/bajarse-capas-terrasit/