Hemos colocado el medidor autónomo de aerosoles ( http://blog.e-ao.org/#post11) en una bicicleta (figura 1) para medir la concentración de aerosoles en una zona de nuestra ciudad (Vitoria-Gasteiz). Para nuestro trabajo hemos elegido el parque de Olarizu situado al sur de la ciudad.
Figura 1. Medidor de Aerosoles montado en una bicicleta
Para poder utilizar los datos recogidos por nuestro medidor es preciso realizar un conjunto de manipulaciones informáticas previas sobre los dos ficheros generados por el sistema. Recordemos que el sistema crea dos ficheros (DATA_1.txt y GPS_1.txt) que pueden no estar sincronizados. El primer paso para analizar los datos es crear un fichero común sincronizado con datos conjuntos del sensor y el GPS. El programa necesario para hacer este trabajo lo presento a continuación. Es un programa desarrollado en R.
###################################################
# programa para el tratamiento inicial de los datos pms5003
######################################################
# lectura de los dos ficheros generados por el Sistema
#############################################
data=read.table(“C:\\uso_R\\pms\\DATA_1.txt”)
GPS=read.table(“C:\\uso_R\\pms\\GPS_1.txt”)
###################################################
# la ultima medida GPS no la tengo en cuenta por si
# sale del tiempo de observacion de data
##################################################
gp=dim(GPS)
GPS=GPS[1:gp[1]-1,]
###########>>> creo matriz para los datos de data
##################################################
a=dim(data)
nrow=a[1]/8
data_c=matrix(0,nrow,8)
####################################################
# creacion de la nueva matriz con la información
###########################################################
for (n in 1:nrow) { for (j in 1:8) {data_c[n,j]=data[j+(n-1)*8,1]} }
######>>> Hago las interpolaciones
######>>> los datos interpolados finales son la variable_gps$y
#################################################################
t_GPS=GPS[,7]*60+GPS[,8]*60+GPS[,9]
t_data=data_c[,6]*60+data_c[,7]*60+data_c[,8]
Hu_data=data_c[,1]
Hu_gps=approx(t_data,Hu_data,t_GPS,method=”linear”)
Temp_data=data_c[,2]
Temp_gps=approx(t_data,Temp_data,t_GPS,method=”linear”)
aero1_data=data_c[,3]
aero1_gps=approx(t_data,aero1_data,t_GPS,method=”linear”)
aero2_data=data_c[,4]
aero2_gps=approx(t_data,aero2_data,t_GPS,method=”linear”)
aero3_data=data_c[,5]
aero3_gps=approx(t_data,aero3_data,t_GPS,method=”linear”)
####>>>>> añado los nuevos datos a la matriz GPS
GPS=cbind(GPS,t_GPS)
GPS=cbind(GPS,Hu_gps$y)
GPS=cbind(GPS,Temp_gps$y)
GPS=cbind(GPS,aero1_gps$y)
GPS=cbind(GPS,aero2_gps$y)
GPS=cbind(GPS,aero3_gps$y)
#####>>> calculo los datos del tiempo separado en H, min, seg
#####>>> y la fecha en dia mes año
#####>>> para añadirlo a la matriz GPS
############################################################
Hora=as.character(GPS[,4])
d=nchar(Hora[1])
seg=as.numeric(substring(Hora,d-3,d-2))
min=as.numeric(substring(Hora,d-5,d-4))
H=GPS[,4]%/%1000000
Fecha=as.character(GPS[,3])
d=nchar(Fecha[1])
dia=GPS[,3]%/%10000
mes=as.numeric(substring(Fecha,d-3,d-2))
year=as.numeric(substring(Fecha,d-1,d))
# añadimos columna a columna a la matriz de datos
###########################################
GPS=cbind(GPS,dia)
GPS=cbind(GPS,mes)
GPS=cbind(GPS,year)
GPS=cbind(GPS,H)
GPS=cbind(GPS,min)
GPS=cbind(GPS,seg)
###>>>>> Escribo los datos en un fichero final
###################################################
write.table(GPS,”C:\\uso_R\\pms\\data_final.txt”)
Tras este procesado obtengo un fichero único ( data_final.txt ) que se puede abrir con Excel tras modificar los puntos por comas y donde las medidas de temperatura, humedad y de las diferentes concentraciones están interpoladas en los momentos en que el GPS ha tomado datos. El aspecto de este fichero Excel se presenta en la figura adjunta (figura 2).
Figura 2. Aspecto de la hoja Excel con los datos finales de las observaciones.
Ya con esta hoja Excel podremos visualizar las medidas y su evolución a lo largo del recorrido (figura 3). Recorrido que en nuestro caso ha generado cerca de 450 valores durante casi una hora de observación alrededor del parque.
Figura 3. Datos de las concentraciones de aerosoles a lo largo del recorrido.
Para poder hacer un análisis espacial de nuestros resultados recurriremos a la librería ggmap de R con la que podremos visualizar los datos sobre un mapa Google.
El programa necesario para llevar a cabo este proceso se presenta a continuación:
# dibujo de los datos medidos por el sistema autonomo aerosoles
##################################################################
library(ggmap)
# se leen los datos
################################
datos=read.table(“C:\\uso_R\\pms\\data_final.txt”)
a=c(1,2,13,14,15)
# se seleccionan los datos a representar y se adecua la forma decimal de la latitud y la longitud
########################################
datos_f=datos[,a]
datos_f[,1]=datos_f[,1]/100000
datos_f[,2]=datos_f[,2]/100000
# se busca el mapa sabiendo previamente que la longitud media y latitud media de las posiciones recorridas
# son -2.662997 y 42.83016
#############################################################################3
map <- get_map(location=c(-2.662997,42.83016), maptype=”satellite”,zoom=15)
# se dibuaja sobre el mapa los colores de intensidad relacionados con las medidas
#######################################################################
mapa_1=ggmap(map)
mapa_4=mapa_1 + geom_point(data=datos_f, aes(x=datos_f$V2,y=datos_f$V1,color=log(datos_f$aero1_gps.y)),size=2.8)+
scale_color_gradientn(colours=rev(heat.colors(5)))
# se plotea el mapa final
################################
mapa_4
El resultado final de este mapeo se presenta en la figura 4 adjunta a continuación. En esta figura tanto el título como la leyenda se han agregado con el programa PAINT aunque ggmap también permite esta opción.
Figura 4. Mapeo de las medidas de concentración de aerosoles a lo largo del recorrido
El mapa nos permite observar como las concentraciones más altas (del orden de 50 µg/m3) se dan en la zona próxima a la calle que bordea al parque. La zona gris representa los casos con valores cero. Este tipo de análisis espacial, si se realiza de manera sistemática, permitiría conocer las zonas más contaminadas de una zona que se someta a estudio.
Good day very cool blog!! Guy .. Excellent .. Superb .. I’ll bookmark your site and take the feeds also?KI am glad to seek out numerous useful information here within the put up, we need work out more techniques on this regard, thank you for sharing. . . . . .
Your article gave me a lot of inspiration, I hope you can explain your point of view in more detail, because I have some doubts, thank you.
prednisone 30 mg coupon: http://prednisone1st.store/# buy prednisone from india
free online dating and personals: personal dating ads – free and best
Your article helped me a lot, is there any more related content? Thanks! https://accounts.binance.com/fr/register?ref=B4EPR6J0
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://accounts.binance.com/sv/register-person?ref=YY80CKRN
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.
Reading your article has greatly helped me, and I agree with you. But I still have some questions. Can you help me? I will pay attention to your answer. thank you.
I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it. However, I don’t know much about a certain place. Can you help me? https://www.gate.io/zh-tw/signup/XwNAU
The point of view of your article has taught me a lot, and I already know how to improve the paper on gate.oi, thank you. https://www.gate.io/signup/XwNAU
I am a student of BAK College. The recent paper competition gave me a lot of headaches, and I checked a lot of information. Finally, after reading your article, it suddenly dawned on me that I can still have such an idea. grateful. But I still have some questions, hope you can help me.
Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://accounts.binance.com/sv/register-person?ref=JHQQKNKN
Your article helped me a lot, is there any more related content? Thanks!
Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://accounts.binance.com/id/register-person?ref=WTOZ531Y
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me. https://accounts.binance.com/zh-CN/register?ref=FIHEGIZ8
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://accounts.binance.com/uk-UA/register?ref=V2H9AFPY
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://accounts.binance.com/vi/register-person?ref=FIHEGIZ8
Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://www.binance.com/ka-GE/register?ref=RQUR4BEO
I am sorting out relevant information about gate io recently, and I saw your article, and your creative ideas are of great help to me. However, I have doubts about some creative issues, can you answer them for me? I will continue to pay attention to your reply. Thanks.
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.