(玖)规划方向技能:以R语言为例的网络大数据可视化技术

1、引言

城市规划应用场景:城市联系、城市群研究与规划、城市集聚、城市层级结构

2、技术操作流程

2.1 软件准备

软件下载地址:https://www.r-project.org/

选择一个镜像地址:

选择一个版本

2.2 R语言下航空交通网络结构图模拟

(1)数据格式规范:包括机场点地理坐标数据、机场之间的航班数据

机场点数据格式(airport.csv),数据格式为三元组(id,lon,lat)每一行代表一个机场的ID号和经纬度

机场之间航班数据csv格式(flights.csv):数据格式为四元组(airlines,airport1,airport2,cnt),每一行代表两个航空公司之间的客流量。

(2)代码实现:

library(maps)
library(geosphere)
xlim <- c(50, 160)
ylim <- c(10, 60)

svg(file="d:/tt.svg", width=20, height=12)

map("world", col="#191919", fill=TRUE, bg="#000000", lwd=0.05, xlim=xlim, ylim=ylim)
airports <- read.csv("d:\\DrChangX\\sns\\airports.csv", header=TRUE)
flights <- read.csv("d:\\DrChangX\\sns\\flights.csv",header=TRUE,as.is=TRUE)

pal <- colorRampPalette(c("#F42F03", "white"))
colors <- pal(50)
fsub <- flights[flights$airline != "A",]
fsub <- fsub[order(fsub$cnt),]
maxcnt <- max(fsub$cnt)
for (j in 1:length(fsub$airline)) {
	air1 <- airports[airports$iata == fsub[j,]$airport1,]
	air2 <- airports[airports$iata == fsub[j,]$airport2,]
	
	inter <- gcIntermediate(c(air1[1,]$long, air1[1,]$lat), c(air2[1,]$long, air2[1,]$lat), n=100, addStartEnd=TRUE)
	#colindex <- round( (fsub[j,]$cnt / maxcnt) * length(colors) )
	colindex <- round( (sqrt(fsub[j,]$cnt)/sqrt(maxcnt) ) * length(colors) )		
	lines(inter, col=colors[colindex], lwd=sqrt(fsub[j,]$cnt)/sqrt(maxcnt))
}
dev.off()

(3)生成svg格式图片,可以直接在浏览器上打开

练习数据下载链接:https://pan.baidu.com/s/1dn9r0v5267xW2Rb12ysQXg 密码:w693

转载自:https://blog.csdn.net/GIS_BT/article/details/80481050

You may also like...