Instalar y configurar Zotero

Este tutorial es sobre el gestor bibliográfico que yo utilizo. Es lo que uso como manual cada vez que tengo que instalarlo en un nuevo ordenador. Lo publico por si a alguien más se puede ser de utilidad.

Un gestor bibliográfico

Un gestor bibliográfico es una herramienta importante para realizar cualquier trabajo académico en el que se vaya a citar bibliografía. Duele casi físicamente pensar en la gente (yo mismo hace unos años) que nunca ha utilizado uno y se enfrenta a las citas bibliográficas de forma manual, una de las tareas más pesadas y en las que se cometen más errores por no utilizar la herramienta adecuada.

Con un gestor bibliográfico el trabajo bibliográfico se hace en cuatro fases:

1. Introducir los datos de cada publicación en la base de datos. Se puede hacer de forma manual, pero lo correcto es hacerlo de forma automática desde la web de la publicación, sólo dando a un botón.

2. Añadir las citas mientras se escribe en cualquier procesador de texto, utilizando el plugin adecuado.

3. Crear la bibliografía, normalmente al final del documento, de forma automática, para todas las citas incluidas en el texto.

4. Seleccionar el formato para las citas en el texto y para la bibliografía, según donde se vaya a presentar el trabajo. Se suele hacer al principio, pero se puede cambiar en cualquier momento sin problemas. Los formatos para las distintas revistas y universidades importantes están ya establecidos, por lo que sólo hay que seleccionar el que se quiera utilizar.

De esta forma sale la bibliografía (y las citas) sin errores y sin tener que desesperarse por el formato de las mismas. Además la base de datos puede servir también para guardar las publicaciones en pdf o enlaces.

¿Porqué Zotero?

De los muchos gestores bibliográficos que existen los dos más populares probablemente son Zotero y Mendeley,  aunque hay otros muchos.

Yo utilizo Zotero porque es multiplataforma, de código abierto y gratuito (se supone que para siempre). La única pega que tiene es que sólo deja guardar en la web hasta 300 mb, lo que se queda corto si pretendes guardar los pdf de toda tu bibliografía en su web. Además permite fácilmente exportar la base de datos o cada librería por separado y compartir distintas bibliotecas con otros usuarios. Mendeley ofrece más espacio (aunque también limitado, pero exporta peor y cuando lo he probado no me ha funcionado bien. Además es cerrado, propiedad de Elsevier, por lo que en cualquier momento puede ser de pago o cerrarse.

La limitación de espacio de Zotero se soluciona no guardando los pdf en su web sino en Dropbox, Drive o cualquier otra nube que utilices (ver configuración más adelante). En Zotero entonces se guarda sólo el enlace, por lo que no ocupa casi nada y el espacio se convierte en casi ilimitado.

Instalar Zotero

Es necesario hacerse una cuenta en la web de Zotero para poder sincronizar con ella.

Para realmente trabajar bien con Zotero, lo ideal es instalar la aplicación en el ordenador. Esta aplicación se sincronizará con tu cuenta cada vez que entres o que hagas algún cambio. Pero para importar bibliografía mejor con la aplicación. Los pasos para instalar todo correctamente son:

  1. Hacerse una cuenta en Zotero
  2. Instalar la aplicación de Zotero en tu ordenador
  3. Instalar Zotero connector, para obtener bibliografía de la web diréctamente.
  4. Instalar plugins para los procesadores de texto que utilices.
  5. Instalar otros plugins que utilices.

Una vez hechos estos pasos, pasaremos a la configuración de Zotero.

Hacerse una cuenta en Zotero

Página principal de Zotero. Localiza “Log in” en la parte superior derecha y “Download” en rojo en el centro.
  1. Entrar en la web de Zotero:

https://www.zotero.org/

 

 

 

 

  1. Crear una cuenta. Para ello entrar en “Log in” y en Register for a free account.

    Página ‘Login’ de Zotero. La primera vez regístrate en “Register for a free account”, luego ya puedes entrar con tu usuario y clave.

 

 

 

 

 

 

No te olvides de la clave. Guárdala convenientemente.

Pantallazo de mi cuenta de Zotero.

Instalar la aplicación de Zotero

En linux está en los repositorios, por lo que sólo hay que buscarla e instalarla. En Windows o Mac supongo que pinchando en “Download” debería bajarse un .exe o similar que te instale la aplicación sin problemas.

Al instalar la aplicación te preguntará usuario y clave de tu cuenta de Zotero, introdúcela. También te preguntará (si no recuerdo mal) si quieres instalar el plugin para Office o para LibreOffice (lo que uses). Dile que sí. Será muy útil para crear las citas y la bibliografía en tus trabajos o publicaciones.

Instalar Zotero connector

También, desde dentro de tu cuenta, en “Download” (arriba-derecha), se puede descargar el plugin «Zotero connector» para Firefox, que es muy útil para introducir bibliografía desde el navegador.

 

 

 

 

Instalar plugins para los procesadores de texto

Desde Zotero podemos utilizar la biblioteca para citar artículos en nuestros trabajos o artículos. Hay plugins para Office, LibreOffice, e incluso Google Drive. Con éstos se puede citar los artículos en el texto e insertar una bibliografía al final. Para hacerlo en documentos Rmarkdown en R, también se puede, pero es necesario exportar la biblioteca previamente en el repositorio del proyecto.

Para instalar el plugin para el procesador de texto que utilices, durante la instalación de Zotero en el ordenador te habrá dado la opción. Si no lo hiciste en ese momento se puede hacer fácilmente siguiendo las indicaciones en la ayuda de Zotero.

Si no lo has utilizado nunca, deberías también entrar en la ayuda. Básicamente son botones para «crear cita», «crear bibliografía», actualizar y opciones.

Instalar otros plugins

De los muchos plugins posibles para ampliar las capacidades de Zotero (una de las ventajas del código abierto es que cualquiera, que sepa, puede programar un nuevo plugin) yo utilizo dos:

De https://www.r-bloggers.com/zotero-hacks-unlimited-synced-storage-and-its-smooth-use-with-rmarkdown/
  1.  ZotFile , organiza la base de datos de pdfs en una carpeta local para no llenar la nube de Zotero.
  2. Better BibTeX, exporta una biblioteca .bib que se sincroniza automáticamente cuando se añade algún registro. Es muy útil si escribes documentos en Rmarkdown, si no no la necesitas.

Para instalar un plugin en Zotero hay que bajarse el archivo .xpi y después entrar en Zotero > Herramientas > Complementos. Pinchar en la rueda de arriba a la derecha y en «Install add-on from file».

 

Configurar Zotero

Entrar en Zotero > Preferencias. Se abre una vventana con varias pestañas. Vamos a ir una por una.

General. Dejo todo marcado (viene así por defecto) excepto la pestaña «Tomar instantáneas automáticamente al crear elementos a partir de páginas web». Si se activa llena los registros de htmls poco útiles.

Sincronizar. Aquí tienes el enlace a tu cuenta de Zotero. Es importante desmarcar la casilla «Sincronizar contenido de texto completo» para que no se suban los pdf a la nube. Utilizaremos luego el plugin ZotFile para guardarlos en nuestro ordenador y enlazarlos en la nube.

Buscar. Configura la base de datos para las búsquedas. Como está predefinido está bien.

Exportar. Elige el estilo para la copia rápida. Se puede cambiar al que  más te guste si lo utilizas.

Citar. Establece los estilos de las citas. Hay unos cuantos guardados localmente pero se pueden añadir los que se quieran con archivos .csl o pinchando en «Obtener estilos adicionales»  que utiliza la web de estilos de Zotero.

También dentro de «Citar» está la pestaña para instalar los plugins para los procesadores de texto.

Avanzadas. De aquí vamos a cambiar sobre todo la pestaña «Archivos y carpetas«. En el Directorio base hay que poner la dirección del directorio en el que se quieren guardar los pdfs de todas las publicaciones de Zotero. En mi caso utilizo una carpeta dentro de Dropbox que llamo «zotero-biblio».

Para el directorio de datos y todo lo demás dejo los valores por defecto.

Configurar ZotFile

Esta extensión  es la que nos va a permitir guardar los pdfs de los artículos en una carpeta local enlazada en Zotero, además de renombrarlos de forma homogénea. Esa carpeta se tiene que sincronizar entre los diferentes ordenadores en los que se utilice Zotero, por lo que yo he optado por una carpeta de Dropbox, pero podría ser Drive o cualquier otra nube que se sincronice.

Para configurar ZotFile, entrar en Zotero > Herramientas > ZotFile preferences… que entra otra vez en una ventana con varias pestañas:

General. Aquí hay que definir dos rutas:

  1.   La primera de ellas, «Source Folder for Attaching New Files», es la localización de la carpeta por defecto en la que se bajan los archivos en el navegador web. Mira en tu navegador.
  2. La segunda, «Custom Location», es la carpeta con los pdfs que se sincronizará entre los diferentes ordenadores, en mi caso «/Dropbox/zotero-biblio».
  3. Además, en «Use subfolder defined by» yo tengo puesto «/%y» para que los pdfs estén en carpetas por años. En la i de información vienen los códigos para otras organizaciones (tiene que ser la misma en los distintos ordenadores que se usen).

Tablet Settings. No utilizo tablet, así que no cambio nada.

Renaming Rules. Aquí se especifica cómo quieres que se nombren los archivos pdf. En mi caso está por defecto que es «{%a_}{%y_}{%t}», es decir, autor, año y título. Tengo también marcadas «Change to lower case», «Replace blanks», «Maximum length of title = 60» y «Maximum number of authors = 1». Todo lo demás desmarcado (sobre todo la de «Use Zotero to Rename»).

Advanced Settings.Seleccionada pdf.js, «Always rename» en «Automatic rename new attachments» y todo desmarcado excepto «Remove special characters (diacritics) from filename».

 

De esta manera, teniendo la misma configuración en distintos ordenadores, puedo tener la biblioteca sincronizada.

Nota: Si ya tienes lleno Zotero, es muy fácil actualizar todas tus publicaciones, marcando todas las publicaciones de la librería y dando al botón derecho > Manage attachments > Rename attachments

 

Referencias

La información de este post ha sido modificada de la existente en «Zotero hacks: unlimited synced storage and its smooth use with rmarkdown«, que además explica cómo utilizarlo con Rmarkdown.

 

 

 

Repelentes de insectos y algunos tratamientos químicos para reducir las pepitas en las mandarinas

Estamos estudiando la manera de eliminar las pepitas en las mandarinas. En realidad las mandarinas de variedades sin pepita, producen pepitas cuando son polinizadas con polen de otras variedades (o incluso de otros cítricos).

Hemos probado algunos de los químicos que están en la bibliografía como efectivos y además algunos repelentes de insectos, para evitar la polinización. Al final los repelentes no han tenido ningún efecto, mientras que el sulfato de cobre junto con ácido giberélico ha conseguido una efectividad bastante baja (del 35 % ) .

La única forma efectiva de reducir de forma clara el número de semillas es cubrir los árboles con redes para evitar el contacto con los polinizadores.

Los frutos sin semilla son más pequeños que las mandarinas con semilla, que se hacen más grandes al tener mayor cantidad de hormonas de crecimiento, debido a las propias semillas. Esto podría hacer que al eliminar las semillas la cosecha sea menor y además de calibres más pequeños.

Para más detalles, en la revista:

Insect repellent and chemical agronomic treatments to reduce seed number in ‘Afourer’ mandarin. Effect on yield and fruit diameter

Porcentaje de mandarinas con semillas (azul) y sin semillas para los distintos tratamientos: C-, control negativo, árboles cubiertos con malla; CuGA, sulfato de cobre con ácido giberélico; ZnRep, repelente de insectos basado en Zinc; CapRep, repelente de insectos con extracto de guindillas; C+, control positivo, árboles sin tratamiento ninguno.

 

Protocolo para forzar la floración en árboles de mandarina en el Fitotrón

Obtener flores fuera de la temporada de floración es muy útil cuando estamos estudiando la polinización. Esto nos permite tener polen en cualquier época de año y probar algunas hipótesis antes de pasar a los ensayos de campo.

Las flores las obtenemos poniendo a los árboles con un fotoperiodo primaveral y con un fuerte estrés hídrico.

Los ensayos en Fitotrón nunca podrán sustituir a los de campo, pero permiten controlar perfectamente las condiciones ambientales, cosa que en campo es imposible.

Para ver el video y bajarse el artículo:

Forced Flowering in Mandarin Trees under Phytotron Conditions

Garmendia, A., Beltrán, R., Zornoza, C., García-Breijo, F. J., Reig, J., Raigón, M. D., Merle, H. Forced Flowering in Mandarin Trees under Phytotron Conditions. J. Vis. Exp. (145), e59258, doi:10.3791/59258 (2019).

El purín de ortigas no mejora la cosecha

Este año hemos publicado un artículo en PeerJ sobre el purín de ortigas (Urtica dioica). El resultado principal del artículo es que el tratamiento con purín de ortigas no funciona para mejorar la cosecha, al menos en patatas en los suelos de huerta de Valencia. Si algún lector ha realizado algún experimento similar, tanto si le sale que funciona, como si no, por favor dejar el enlace en comentarios.

En contra de lo que mucha gente dice, no ha sido difícil publicar un «resultado negativo». Supongo que tiene que ver con que el diseño experimental esté bien hecho y el resultado sea claro.

El resultado es importante, ya que el tratamiento con purín de ortigas es uno de los tratamientos más utilizados en agricultura ecológica y sin embargo no existía ninguna publicación en la que se evaluase su efecto de forma objetiva.

Para evitar sesgos hemos utilizado un sistema de doble ciego, como se utiliza en medicina. De esta forma ni el agricultor, ni yo mismo mientras realizaba los análisis sabía qué producto era cual. Es decir, el agricultor no podía cuidar más a unas plantas que a otras o a la hora de medir la cosecha no se sabía de qué tratamiento era cada medida. Los códigos utilizados se desvelaron al final. En realidad tampoco hubiese sido necesario, dado que al final no había diferencias significativas entre tratamientos.

 

Diseño experimental en 6 bloques. en cada bloque se han realizado los 6 tratamientos.

 

Los tratamientos que hemos comparado son:

  • Purín de ortigas comercial, a la dosis recomendada por el fabricante.
  • Purín de ortigas comercial, a la mitad de la dosis recomendada por el fabricante.
  • Purín de ortigas comercial, al doble de la dosis recomendada por el fabricante.
  • Purín de ortigas junto con purín de cola de caballo (Equisetum arvense) ambos a la dosis recomendada.
  • Control positivo, con tratamiento de abono foliar convencional.
  • Control negativo, con agua, en la misma cantidad y fechas que los anteriores.

 

Efecto de los tratamientos sobre la cosecha (kg/m) con todos los datos (102 grados de libertad). Los tratamientos son: (A) Purín de ortiga a dosis recomendada (RD); (B) Purín de ortiga a 1/2 RD; (C) Purín de ortiga 2 RD; (D) Purín de Urtica + Equisetum; (E) Abono foliar convencional; (F) control con agua. HSD = 0.6554 kg/m. Las columnas con la misma letra no difieren significativamente en p ≤ 0.05 (HSD).

 

El único efecto que se vio del purín es una pequeña tendencia (no significativa) a mejorar el aspecto de la planta. Pero sin afectar a la cosecha ni a la cantidad de plagas. Es curioso que el tratamiento con abono  foliar convencional tampoco sirva de nada. Probablemente tampoco sea efectivo y sea otra forma de tirar dinero (en este caso para agricultores convencionales).

Un efecto que no esperábamos es un efecto del riego. Debido a la inclinación de la parcela, en la zona más baja, el agua se acumulaba más y la cosecha en esa zona ha sido mayor. Por suerte el diseño en bloques ha servido para poder lidiar con ese efecto. El artículo se puede utilizar como ejemplo de cómo analizar el efecto de una variable anulando (utilizando los residuos) el efecto de otra.

 

Conclusión: Para cultivar patatas en Valencia es mejor no gastar dinero en tratamientos que no funcionan. Si se quiere gastar en algo, mejor aumentar lo que se pueda el riego.

 

Para leer el artículo completo, aquí.

Para obtener el código de R y los datos originales con el que se han realizado los análisis, aquí.

 

Mediación y moderación. Dos formas distintas de interacción.

La mediación y la moderación son dos formas diferentes de interacción de las que no es fácil encontrar buenos ejemplos en la bibliografía. Aprovechando que el tema ha salido en clase, aprovecho para aclararlo por aquí.

Una variable mediadora intenta explicar el mecanismo por el que ocurre el efecto, mientras que una variable moderadora cambia el efecto que tiene la variable independiente sobre la dependiente. Como el post me  está quedando largo, pongo un índice. Primero cuento la moderación y pongo un ejemplo con las especies de iris. Después para sólo una especie, hago un ejemplo de mediación.

Moderación

La moderación  es lo que normalmente se entiende por «interacción» en Estadística. Es cuando una variable moderadora (Z) cambia el efecto que la variable independiente (X) tiene sobre la variable dependiente (Y).

Es decir, suponiendo que X e Y están relacionadas linearmente,

Y = a + b X

la variable moderadora puede cambiar esto ya que b depende de Z.

Y = a +b X + c Z + d XZ

Ejemplo de moderación con R e iris

Lo primero es comprobar el efecto directo de la variable dependiente (Sepal.Length) sobre la variable independiente (Petal.Length).

### direct relationship
lmC <- lm(Petal.Length ~ Sepal.Length, data = iris)
summary(lmC)

### Plot
plot(Petal.Length ~ Sepal.Length, data = iris)
abline(lmC)

Coefficients:
             Estimate Std. Error t value Pr(>|t|) 
(Intercept) -7.10144 0.50666 -14.02 <2e-16 ***
Sepal.Length 1.85843 0.08586  21.65 <2e-16 ***

Residual standard error: 0.8678 on 148 degrees of freedom
Multiple R-squared: 0.76, Adjusted R-squared: 0.7583 
F-statistic: 468.6 on 1 and 148 DF, p-value: < 2.2e-16

 

Se observa una fuerte relación (luego veremos que mal entendida) entre la longitud de los sépalos y de los pétalos. Lo siguiente es comprobar el efecto moderador de la variable Species.

### Moderation effect
lmZ <- lm(Petal.Length ~ Sepal.Length +
as.numeric(Species) +
I(Sepal.Length * as.numeric(Species)),
data = iris)
summary(lmZ)

Coefficients:
                                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)                           -6.91282    0.76764  -9.005 1.08e-15 ***
Sepal.Length                           1.36959    0.14659   9.343  < 2e-16 ***
as.numeric(Species)                    3.12118    0.33548   9.304  < 2e-16 ***
I(Sepal.Length * as.numeric(Species)) -0.29266    0.05889  -4.970 1.85e-06 ***

Residual standard error: 0.3915 on 146 degrees of freedom
Multiple R-squared:  0.9518,	Adjusted R-squared:  0.9508 
F-statistic: 961.1 on 3 and 146 DF,  p-value: < 2.2e-16

 

Se observa que hay interacción y que todas las variables analizadas tienen un efecto significativo por separado y por su interacción. También se puede ver que el modelo es mejor que el anterior, ya que R2 ha aumentado bastante.

Los resultados se pueden representar utilizando base R o con ggplot.

Base R plot

### Partial linear models
set <- subset(iris, Species == "setosa")
ver <- subset(iris, Species == "versicolor")
vir <- subset(iris, Species == "virginica")

lmset <- lm(Petal.Length ~ Sepal.Length, data = set)
lmver <- lm(Petal.Length ~ Sepal.Length, data = ver)
lmvir <- lm(Petal.Length ~ Sepal.Length, data = vir)

summary(lmset)
summary(lmver)
summary(lmvir)

### Plot
plot(Petal.Length ~ Sepal.Length, col = as.numeric(Species), data = iris)
abline(lmset, col = 1)
abline(lmver, col = 2)
abline(lmvir, col = 3)

ggplot

library(ggplot2)
ggplot(data = iris, aes(x = Sepal.Length, y = Petal.Length, col = Species,
shape = Species)) +
# geom_point(size = 3) +
geom_jitter(size = 2) +
geom_smooth(method = 'lm',formula = y ~ x) +
theme_bw()

 

Mediación

Para que exista mediación es necesario que:

  • Haya un efecto C, efecto directo entre la variable independiente (X) y la dependiente (Y).
  • Haya un efecto A entre la variable independiente y la variable mediadora (M).
  • Haya un efecto B entre la variable mediadora y la variable dependiente.

En ese caso la duda es cuanto efecto C queda como C’ (efecto residual) si tenemos en cuenta el efecto que pasa a través de la variable mediadora.

El efecto C lo podemos estimar en un modelo lineal a partir de la pendiente y la probabilidad (p) de que sea al azar. Para decir que hay un efecto p tiene que ser menor de 0.05, que va a ser nuestro nivel de significación.

Modelo 1: Y = a1 + C X , p1 < 0.05

Modelo 2: M = a2 + A X, p2 < 0.05

Modelo 3: Y = a3 + B M, p3 < 0.05

Donde C, A y B representan las pendientes de la recta, cuanto mayor sea, mayor es el efecto de X en Y, de X en M o de M en Y respectivamente.

Una vez que los tres modelos anteriores son significativos (p < 0.05), lo que nos queda por saber es cuando del efecto inicial de X en Y se mantiene al tener en cuente el efecto de M en Y.

Modelo 4: Y = a4 + C’ X + B M,       pc’ = ??

donde se pueden dar dos opciones:

  • que pc’ < 0.05, moderación parcial.
  • que pc’ ≥ 0.05, moderación total.

En ambos casos la pendiente C’ debería ser menor que la pendiente C. En el primer caso, la moderación parcial significa que parte del efecto de X sobre Y, pasa a través de M, pero no todo. En el segundo caso, la moderación total, es que todo el efecto pasa a través de la variable moderadora.

Ejemplo de moderación con R e iris.

Para el ejemplo voy a utilizar los datos «iris» de longitud y anchura de pétalos y sépalos en Iris versicolor. Ya hemos visto en el ejemplo de mediación, que no tendría sentido hacerlo para las tres especies juntas.

Voy a explorar la posibilidad de mediación de la longitud de los pétalos entre la longitud de los sépalos y la anchura de los pétalos. Es decir, viendo si el efecto que tiene la longitud de los sépalos en la anchura de los pétalos es directo o si pasa por la longitud de los pétalos.

Una cosa importante es no confundir la moderación estadística con la moderación causal. El que algo sea significativo estadísticamente no es suficiente para considerar que hay una relación causa – efecto (también pasa con la mediación, la correlación y cualquier otro test estadístico).

Modelo 1

### Iris versicolor
ver <- subset(iris, Species == "versicolor")

### Plot
plot(Petal.Width ~ Sepal.Length, data = ver)
abline(lmC)

### direct relationship
lmC <- lm(Petal.Width ~ Sepal.Length, data = ver)
summary(lmC)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)   0.08326    0.27592   0.302    0.764    
Sepal.Length  0.20936    0.04631   4.521 4.04e-05 ***

Residual standard error: 0.1673 on 48 degrees of freedom
Multiple R-squared:  0.2986,	Adjusted R-squared:  0.284 
F-statistic: 20.44 on 1 and 48 DF,  p-value: 4.035e-05

 

Se puede ver que existe un efecto de la longitud de los sépalos sobre la anchura de los pétalos. El modelo es regularcillo, ya que sólo explica el 28 % de la varianza (R2), aunque es claramente significativo (p = 0,000004).

Modelo 1: Y = 0.083 + 0.209 X

Modelo 2

Para comprobar que hay mediación necesitamos que los otros dos modelos también sean significativos.

### Mediator Petal.Width (A)
lmA <- lm(Petal.Length ~ Sepal.Length, data = ver)
summary(lmA)

### Plot
plot(Petal.Length ~ Sepal.Length, data = ver)
abline(lmA)

Coefficients:
             Estimate Std. Error t value Pr(>|t|) 
(Intercept)  0.18512 0.51421 0.360 0.72 
Sepal.Length 0.68647 0.08631 7.954 2.59e-10 ***

Residual standard error: 0.3118 on 48 degrees of freedom
Multiple R-squared: 0.5686, Adjusted R-squared: 0.5596 
F-statistic: 63.26 on 1 and 48 DF, p-value: 2.586e-10

 

Modelo 2: M = 0.185 + 0.686 X

El modelo 2 es también muy claro (R2 = 0.5596 y p << 0.05).

Modelo 3

lmB <- lm(Petal.Width ~ Petal.Length, data = ver)
summary(lmB)

### Plot
plot(Petal.Width ~ Petal.Length, data = ver)
abline(lmB)

Coefficients:
              Estimate Std. Error t value Pr(>|t|) 
(Intercept)   -0.08429 0.16070 -0.525 0.602 
Petal.Length   0.33105 0.03750  8.828 1.27e-11 ***

Residual standard error: 0.1234 on 48 degrees of freedom
Multiple R-squared: 0.6188, Adjusted R-squared: 0.6109 
F-statistic: 77.93 on 1 and 48 DF, p-value: 1.272e-11

 

Modelo 3: Y = -0.084 + 0.331 M

El modelo 3 es todavía mejor, explicando el 61 % de la varianza.

¿hay mediación o no?

Con los tres modelos anteriores ya sabemos que hay mediación ya que los tres modelos son significativos.

Lo que vamos a ver ahora es hasta donde llega esta mediación o el valor de C’ o el efecto de X sobre Y teniendo en cuenta que parte de dicho efecto pasa a través de M.

### Mediator Petal.Width (C2)
lmC2 <- lm(Petal.Width ~ Sepal.Length + Petal.Length, data = ver)
summary(lmC2)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)   0.01561    0.20446   0.076    0.939    
Sepal.Length -0.04149    0.05218  -0.795    0.430    
Petal.Length  0.36542    0.05731   6.376 7.25e-08 ***

Residual standard error: 0.1238 on 47 degrees of freedom
Multiple R-squared:  0.6239,	Adjusted R-squared:  0.6079 
F-statistic: 38.98 on 2 and 47 DF,  p-value: 1.046e-10

 

Se puede observar que:

  • La pendiente del efecto de la longitud de los sépalos sobre la anchura de los pétalos ha cambiado de
    • de C  = 0.209 , claramente significativa (p = 0,000004), en el modelo 1.
    • a   C’ = -0.041, no significativa (p = 0.43) en este modelo.

Es decir se ha perdido el efecto de la longitud de los sépalos y se puede decir que existe una mediación total por parte de la longitud de los pétalos. Todo el efecto de X sobre Y pasa a través de M.

O dicho de otra manera, el efecto de la longitud de los sépalos sobre la anchura de los pétalos se pierde al tener en cuenta el efecto de la longitud de los pétalos, lo que supone que la longitud de los pétalos afecta a la longitud de los pétalos y es la longitud de los pétalos la que afecta a la anchura de los mismos.

Sólo recuerda que aunque haya mediación estadística, eso no significa que haya mediación causal o que la causa real sea esa.

 

Legislación ambiental española (actualizada 2018-11-30)

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/

Y de forma general, si sabes lo que buscas:

https://www.boe.es/

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

Normativa ambiental básica

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, (BOE actualizada)

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 la Generalitat Valenciana, de Impacto Ambiental.

Tutorial búsqueda bibliográfica

En este tutorial voy a explicar cómo hacer una búsqueda exhaustiva de bibliografía sobre un tema concreto. Este debería ser siempre el primer paso al empezar cualquier trabajo nuevo. Para ello vamos a utilizar uno o varios buscadores (Polibuscador, Scopus, WoS) y un gestor de bibliografía (Zotero).

Polibuscador

enlace: https://polibuscador.upv.es

Polibuscador tiene la ventaja de permitir utilizarlo a cualquier persona desde cualquier sitio. Es igual para todos los usuarios incluso sin estar identificado. También se puede utilizar desde el móvil.

Identificarse.

En azul el link para identificarse.

Para que se guarden los resultados en favoritos. Entrar en el link e identificarse como miembro UPV. Doy por hecho que Raquel puede identificarse como alumna. Si ya estás en la intranet en otra pestaña, entra directamente.

Búsqueda avanzada.

Buscamos “palabra_1 palabra_2” AND “palabra_3” en “Advanced search” o “Búsqueda avanzada”. Las comillas sirven para buscar una expresión con dos o más palabras seguidas. Para una palabra da lo mismo ponerlas que no.

Se pueden buscar combinaciones de AND y OR, teniendo en cuenta que los AND se hacen antes que los OR, de forma parecida a cómo en una ecuación los * se hacen antes que las +. Se pueden utilizar paréntesis para cambiar esto.

 

Se pueden guardar las búsquedas que has hecho en el símbolo de la chincheta “Save query”.

Personalizar la búsqueda.

Tenemos 2232 resultados, interesa afinar un poco más.

Botón de personalizar la búsqueda.
Elegir el campo dentro del cual se quiere buscar.

Otros filtros

Se puede afinar un poco más la búsqueda antes de seleccionar artículos. En los filtros de la derecha, vamos revisando algunos ejemplos:

  • Expandimos los resultados más allá de las colecciones de la biblioteca. Para tener todos los resultados posibles.
En Tweak my results, seleccionar “Expand beyond library collections”.

 

 

 

  • Seleccionamos únicamente las revistas de impacto o al menos que sean revisadas por pares.

 

 

 

  • En Tipos de documentos seleccionamos únicamente artículos.

 

 

 

 

 

 

 

  • En “Recursos electrónicos” he seleccionado tres: Scopus, Science Citation Index y SpringerLink. Tengo mis dudas si no sería mejor utilizar sólo el Science Citation Index, que sería la forma de coger únicamente las revistas de impacto.
Electronic resources.

 

 

 

 

  • En “Lenguas” he seleccionado inglés y español. Aunque en español sólo hay 6 y para publicar igual sería mejor utilizar sólo el Inglés.
Languages.

 

 

 

 

  • No voy a tocar ni Autores, ni fechas, ni el resto de campos. Estoy pensando que la clasificación por fechas será mejor luego. Ahora quiero todos los artículos.
  • Tarda un buen rato, con los filtros puestos parece que tarda bastante. Paciencia.

Guardar resultados

Seleccionar con la chincheta los artículos que se quieren guardar.
  1. Lo primero es guardar la búsqueda, para si la queremos volver a hacer más tarde, o hacer modificaciones sobre la misma, que no haya que volver a empezar.
  2. Lo segundo es guardar las publicaciones en “Mis favoritas” o “My favorites”. Para ello hay que seleccionar pinchando en la chincheta de las que se quieran guardar.

Exportar

Exportar bibtex.

Desde “Mis favoritas”, marcar todas las publicaciones y exportarlas en formato ‘bibtex’, que se queda con la extensión ‘.bib’. Para ello pinchar en los … y luego la de más a la izquierda.

Se creará un archivo “Primo_BibTeX_Export.bib”.

 

Otros buscadores de bibliografía

Aparte de Polibuscador, podemos utilizar otros buscadores de bibliografía. Los más conocidos internacionalmente son:

Ambas funcionan bien desde la Universidad Politécnica de Valencia. La primera es mucho más restrictiva y es posible que no funcione desde otros sitios. La segunda creo que sí que funcionaría, aunque no lo he probado.

En ambas es posible hacer la búsqueda, seleccionar las publicaciones (permite seleccionar todas) y exportarlas en formato csv y/o bibtex. Importante marcar todos los campos que se quieran guardar, como el «abstract».

Las búsquedas se realizan de forma muy parecida a Polibuscador, por lo que no me detendré en ello.

Zotero

Lo siguiente que vamos a hacer es importar la biblioteca en Zotero, para luego exportarla en formato tabla, además de para ya tenerla ordenada en esta aplicación. Es muy útil para gestionar bibliografía.

Para instalar Zotero seguir el tutorial.

Importar la biblioteca bib (o csv) en Zotero

Seleccionar el archivo .bib que habíamos creado desde el Polibuscador.

 

 

Exportar la biblioteca desde Zotero

Desde Zotero podemos utilizar la biblioteca para citar artículos en nuestros trabajos o artículos. Hay plugins para Office, LibreOffice, e incluso Google Drive. Con éstos se puede citar los artículos en el texto e insertar una bibliografía al final. Para hacerlo en documentos Rmarkdown en R, también se puede, pero es necesario exportar la biblioteca previamente en el repositorio del proyecto.

Si queremos hacer un análisis bibliométrico, podemos exportar la biblioteca en formato CSV y abrirla en una tabla Excel para trabajar con ella como datos, más que como biblioteca. Para ello pincha con el botón derecho sobre la “colección o biblioteca” que queramos y hay una opción de “Exportar la colección”. Pinchar, seleccionar CSV y exportar.

En la tabla sale hasta los abstracts de los artículos, por lo que se pueden hacer búsquedas y ver cuantos tienen las palabras que queramos.

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:

Medidas preventivas y correctoras:

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.

 

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/