Hola, Ando un poco desesperado con los mapas interactivos de Rcharts <https://github.com/ramnathv/rCharts>+Leaflet. Estoy intentando pintar en un mapa las cámaras de tráfico de madrid, y las estaciones de calidad del aire, simplemente donde están, es decir, aun no estoy recogiendo los datos de medida. Proyecto -> https://github.com/ADIRSE/maddata He conseguido pintar ambos, con markers, la gota invertida típica de google maps. Pero esta solo viene en un color, así que le quiero meter 'circles' en vez de 'markers', y pintarlos después de colores en funcion del tráfico y calidad de aire que estén midiendo. Los círculos es lo que me trae de cabeza. Os dejo enlaces donde hay código y ejemplos del autor de la librería, y el código de mi proyecto en github, por si hay algún experto en el tema. Pero aún así, adelanto que la chicha ocurre en esta función => map$geoJson( leafletR::toGeoJSON(data_, dest=output_geofile), onEachFeature = '#! function(feature, layer){ layer.bindPopup(feature.properties.popup) } !#', pointToLayer = "#! function(feature, latlng){ return L.circleMarker(latlng, { radius: 6, fillColor: feature.properties.fillColor || 'blue', color: '#333', weight: 1, fillOpacity: 0.8 }) } !#") donde mi variable data_, es la que contiene las coordenadas y una columna con el supuesto color para el círculo:> head(data_) latitude longitude fillColor1 40.386 -3.725 #FFFFBF 2 40.393 -3.715 #FFFFBF 3 40.408 -3.730 #FFFFBF 4 40.471 -3.711 #FFFFBF 5 40.471 -3.712 #FFFFBF 6 40.439 -3.673 #FFFFBF He intentado comparar mi variable data_ con el del proyecto de bicis <https://github.com/ramnathv/bikeshare/> (muy bueno), pero el autor para generar su data_ hace unas cuantas operaciones en las que me pierdo. Así que yo le paso un mero data.frame, como en teoría dice la documentación que haga. En fin, toda ayuda es muy bien recibida :-) Aquí una muestra en shinyapps <https://adirse.shinyapps.io/maddata/> [[alternative HTML version deleted]]
Miguel, Alguna experiencia con rCharts tengo pero no tengo experiencia con el ejemplo que estás haciendo. Creo el problema es que tienes que convertir data_ en un JSON array. Mira la siguiente respuesta de Ramnathv: https://github.com/ramnathv/rCharts/issues/114 donde usa toJSONArray(data_, json = F) Suerte, Daniel Merino El 15 de octubre de 2014, 16:18, Miguel Fiandor Gutiérrez < miguel.fiandor.gutierrez en gmail.com> escribió:> Hola, > > Ando un poco desesperado con los mapas interactivos de Rcharts > <https://github.com/ramnathv/rCharts>+Leaflet. > > Estoy intentando pintar en un mapa las cámaras de tráfico de madrid, y las > estaciones de calidad del aire, simplemente donde están, es decir, aun no > estoy recogiendo los datos de medida. > Proyecto -> https://github.com/ADIRSE/maddata > > He conseguido pintar ambos, con markers, la gota invertida típica de google > maps. Pero esta solo viene en un color, así que le quiero meter 'circles' > en vez de 'markers', y pintarlos después de colores en funcion del tráfico > y calidad de aire que estén midiendo. > > Los círculos es lo que me trae de cabeza. Os dejo enlaces donde hay código > y ejemplos del autor de la librería, y el código de mi proyecto en github, > por si hay algún experto en el tema. > > Pero aún así, adelanto que la chicha ocurre en esta función => > > map$geoJson( > leafletR::toGeoJSON(data_, > dest=output_geofile), > onEachFeature = '#! function(feature, layer){ > layer.bindPopup(feature.properties.popup) > } !#', > pointToLayer = "#! function(feature, latlng){ > return L.circleMarker(latlng, { > radius: 6, > fillColor: feature.properties.fillColor || > 'blue', > color: '#333', > weight: 1, > fillOpacity: 0.8 > }) > } !#") > > > donde mi variable data_, es la que contiene las coordenadas y una columna > con el supuesto color para el círculo: > > > head(data_) latitude longitude fillColor > 1 40.386 -3.725 #FFFFBF > 2 40.393 -3.715 #FFFFBF > 3 40.408 -3.730 #FFFFBF > 4 40.471 -3.711 #FFFFBF > 5 40.471 -3.712 #FFFFBF > 6 40.439 -3.673 #FFFFBF > > > > He intentado comparar mi variable data_ con el del proyecto de bicis > <https://github.com/ramnathv/bikeshare/> (muy bueno), pero el autor para > generar su data_ hace unas cuantas operaciones en las que me pierdo. Así > que yo le paso un mero data.frame, como en teoría dice la documentación que > haga. > > > En fin, toda ayuda es muy bien recibida :-) > > Aquí una muestra en shinyapps <https://adirse.shinyapps.io/maddata/> > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Daniel [[alternative HTML version deleted]]
Daniel, muchas gracias por contestar y tan rápido. Pues puede ser la solución, he hecho el cambio y sigue sin pintarme los puntos -> data_ <- toJSONArray(data_, json = F) map$geoJson( # leafletR::toGeoJSON(data_, # # lat.lon = c('Lat', 'Long'), # dest=output_geofile), data_, onEachFeature = '#! function(feature, layer){ layer.bindPopup(feature.properties.popup) } !#', pointToLayer = "#! function(feature, latlng){ return L.circleMarker(latlng, { radius: 6, fillColor: feature.properties.fillColor || 'blue', color: '#333', weight: 1, fillOpacity: 0.8 }) } !#") Un head(data_) ahora muestra esto ->> head(data_)[[1]][[1]]$latitude [1] 40.386 [[1]]$longitude [1] -3.725 [[1]]$fillColor [1] "#D251F3" Seguiré investigando pero parece un buen camino! ;-) El 15 de octubre de 2014, 22:00, daniel <daniel319 en gmail.com> escribió:> Miguel, > > Alguna experiencia con rCharts tengo pero no tengo experiencia con el > ejemplo que estás haciendo. Creo el problema es que tienes que convertir > data_ en un JSON array. Mira la siguiente respuesta de Ramnathv: > > https://github.com/ramnathv/rCharts/issues/114 > > donde usa > > toJSONArray(data_, json = F) > > Suerte, > > Daniel Merino > > El 15 de octubre de 2014, 16:18, Miguel Fiandor Gutiérrez < > miguel.fiandor.gutierrez en gmail.com> escribió: > >> Hola, >> >> Ando un poco desesperado con los mapas interactivos de Rcharts >> <https://github.com/ramnathv/rCharts>+Leaflet. >> >> >> Estoy intentando pintar en un mapa las cámaras de tráfico de madrid, y las >> estaciones de calidad del aire, simplemente donde están, es decir, aun no >> estoy recogiendo los datos de medida. >> Proyecto -> https://github.com/ADIRSE/maddata >> >> He conseguido pintar ambos, con markers, la gota invertida típica de >> google >> maps. Pero esta solo viene en un color, así que le quiero meter 'circles' >> en vez de 'markers', y pintarlos después de colores en funcion del tráfico >> y calidad de aire que estén midiendo. >> >> Los círculos es lo que me trae de cabeza. Os dejo enlaces donde hay código >> y ejemplos del autor de la librería, y el código de mi proyecto en github, >> por si hay algún experto en el tema. >> >> Pero aún así, adelanto que la chicha ocurre en esta función => >> >> map$geoJson( >> leafletR::toGeoJSON(data_, >> dest=output_geofile), >> onEachFeature = '#! function(feature, layer){ >> layer.bindPopup(feature.properties.popup) >> } !#', >> pointToLayer = "#! function(feature, latlng){ >> return L.circleMarker(latlng, { >> radius: 6, >> fillColor: feature.properties.fillColor || >> 'blue', >> color: '#333', >> weight: 1, >> fillOpacity: 0.8 >> }) >> } !#") >> >> >> donde mi variable data_, es la que contiene las coordenadas y una columna >> con el supuesto color para el círculo: >> >> > head(data_) latitude longitude fillColor >> 1 40.386 -3.725 #FFFFBF >> 2 40.393 -3.715 #FFFFBF >> 3 40.408 -3.730 #FFFFBF >> 4 40.471 -3.711 #FFFFBF >> 5 40.471 -3.712 #FFFFBF >> 6 40.439 -3.673 #FFFFBF >> >> >> >> He intentado comparar mi variable data_ con el del proyecto de bicis >> <https://github.com/ramnathv/bikeshare/> (muy bueno), pero el autor para >> generar su data_ hace unas cuantas operaciones en las que me pierdo. Así >> que yo le paso un mero data.frame, como en teoría dice la documentación >> que >> haga. >> >> >> En fin, toda ayuda es muy bien recibida :-) >> >> Aquí una muestra en shinyapps <https://adirse.shinyapps.io/maddata/> >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > > -- > Daniel >[[alternative HTML version deleted]]