turisticos trekking tipos señalizacion senderos senderismo rutas para mundo montañas mejores mejor lugar hacer famosas europa ecologicos caminatas r d3.js maps visualization rcharts

trekking - Trazando grandes senderos de círculo



señalizacion de senderos ecologicos (1)

Esto es algo que comencé el año pasado y nunca llegué a pulir correctamente, pero espero que responda a su pregunta de unir puntos en un mapa con grandes líneas circulares, con la flexibilidad de personalizar líneas, círculos, etc.

Utilizo el paquete (my) rworldmap para el mapeo, el WDI para los datos del banco mundial y la geosfera para las líneas del gran círculo. El objetivo era trazar los flujos de ayuda de todos los países donantes a todos los países receptores (una parcela por donante). Debajo hay un diagrama de ejemplo, y debajo el código. Espero eso ayude. Sería bueno encontrar tiempo para recogerlo de nuevo! Andy

library(rworldmap) library(WDI) # WORLD BANK INDICATORS ## lines of either type may obscure more than they add ##**choose line option here addLines <- ''gc'' #''none''''straight'' ''gc'' if ( addLines == ''gc'' ) library(geosphere) # setting background colours oceanCol = rgb(7,0,30,maxColorValue=255) landCol = oceanCol #produces a list of indicator IDs and names as a matrix indicatorList <- WDIsearch(''aid flows'') #setting up a world map shaped plot window #*beware this is windows specific mapDevice(''windows'',width=10,height=4.5) year <- 2000 #for(indNum in 1:2) for(indNum in 1:nrow(indicatorList)) { indID <- indicatorList[indNum][1] donorISO3 <- substr(indID,start=8,stop=10) dFdonor <- WDI(indicator=indID,start=year,end=year) #divide by 10^6 for million dollars dFdonor[indID] <- dFdonor[indID] * 1/10^6 sPDFdonor <- joinCountryData2Map(dFdonor,nameJoinColumn=''country'',joinCode=''NAME'') #take out Antarctica sPDFdonor <- sPDFdonor[-which(row.names(sPDFdonor)==''Antarctica''),] legendTitle=paste("aid flow from",donorISO3,year,"(millions US$)") mapBubbles(sPDFdonor, nameZSize=indID, plotZeroVals=FALSE, legendHoriz=TRUE, legendPos="bottom", fill=FALSE, legendTitle=legendTitle, oceanCol=oceanCol, landCol=landCol,borderCol=rgb(50,50,50,maxColorValue=255),lwd=0.5,lwdSymbols=1) #removed because not working , main=paste(''donor'', donorISO3,year) #now can I plot lines from the centroid of the donor to the centroids of the recipients xDonor <- sPDFdonor$LON[ which(sPDFdonor$ISO3==donorISO3) ] yDonor <- sPDFdonor$LAT[ which(sPDFdonor$ISO3==donorISO3) ] xRecips <- sPDFdonor$LON[ which(sPDFdonor[[indID]] > 0) ] yRecips <- sPDFdonor$LAT[ which(sPDFdonor[[indID]] > 0) ] amountRecips <- sPDFdonor[[indID]][ which(sPDFdonor[[indID]] > 0) ] ## straight lines if ( addLines == ''straight'' ) { for(line in 1:length(xRecips)) { #col <- ''blue'' #i could modify the colour of the lines by the size of the donation #col=rgb(1,1,1,alpha=amountRecips[line]/max(amountRecips)) #moving up lower values col=rgb(1,1,0,alpha=sqrt(amountRecips[line])/sqrt(max(amountRecips))) lines(x=c(xDonor,xRecips[line]),y=c(yDonor,yRecips[line]),col=col, lty="dotted", lwd=0.5) #lty = "dashed", "dotted", "dotdash", "longdash", lwd some devices support <1 } } ## great circle lines ## don''t work well when donor not centred in the map ## also the loop fails at CEC & TOT because not ISO3 codes if ( addLines == ''gc'' & donorISO3 != "CEC" & donorISO3 != "TOT" ) { for(line in 1:length(xRecips)) { #gC <- gcIntermediate(c(xDonor,yDonor),c(xRecips[line],yRecips[line]), n=50, breakAtDateLine=TRUE) #30/10/13 lines command failed with Error in xy.coords(x, y) : #''x'' is a list, but does not have components ''x'' and ''y'' #adding sp=TRUE solved gC <- gcIntermediate(c(xDonor,yDonor),c(xRecips[line],yRecips[line]), n=50, breakAtDateLine=TRUE, sp=TRUE) #i could modify the colour of the lines by the size of the donation #col=rgb(1,1,1,alpha=amountRecips[line]/max(amountRecips)) #moving up lower values col=rgb(1,1,0,alpha=sqrt(amountRecips[line])/sqrt(max(amountRecips))) lines(gC,col=col,lwd=0.5) } } #adding coasts in blue looks nice but may distract data(coastsCoarse) plot(coastsCoarse,add=TRUE,col=''blue'') #repeating mapBubbles with add=T to go on top of the lines mapBubbles(sPDFdonor, nameZSize=indID, plotZeroVals=FALSE, fill=FALSE, addLegend=FALSE, add=TRUE, ,lwd=2) #removed because not working : , main=paste(''donor'', donorISO3,year) #looking at adding country labels text(xRecips,yRecips,sPDFdonor$NAME[ which(sPDFdonor[[indID]] > 0) ],col=rgb(1,1,1,alpha=0.3),cex=0.6,pos=4) #pos=4 right (1=b,2=l,3=ab) #add a title nameDonor <- sPDFdonor$NAME[ which(sPDFdonor$ISO3==donorISO3) ] mtext(paste("Aid flow from",nameDonor,year), cex = 1.8, line=-0.8) #savePlot(paste("C://rProjects//aidVisCompetition2012//Rplots//greatCircles//wdiAidFlowLinesDonor",donorISO3,year,sep=''''),type=''png'') #savePlot(paste("C://rProjects//aidVisCompetition2012//Rplots//greatCircles//wdiAidFlowLinesDonor",donorISO3,year,sep=''''),type=''pdf'') } #end of indNum loop

Intento trazar algunos mapas basados ​​en ruta / conexión pero no puedo descubrir cómo.

Veo muchas posibilidades de métricas basadas en un punto (zonas críticas de delitos en Londres, etc. con googleVis, ggmap, etc.) pero no puedo encontrar muchos ejemplos de métricas basadas en dos puntos (inmigraciones entre ciudades, rutas de trenes, etc. .) Hay un ejemplo con la geosphere del paquete, pero parece no estar disponible para R 3.0.2 .

Idealmente, me gustaría algo como este ejemplo D3 y también me gustaría personalizar el grosor, el color, etc. de las líneas y los círculos.

PD: No creo que rCharts pueda hacer esto todavía, ¿no?