EU Air Cores using MWcore

MW cores

February 12, 2023

> wdir <- "C:/Users/vlado/DL/data/multi/cores/air"
> setwd(wdir)
> library(jsonlite)
> library(Polychrome)
> source("https://raw.githubusercontent.com/bavla/Rnet/master/R/Pajek.R")
> source("https://raw.githubusercontent.com/bavla/ibm3m/master/multiway/MWnets.R")
> MN <- fromJSON("https://raw.githubusercontent.com/bavla/ibm3m/master/data/AirEu2013Ext.json")
> N <- gsub("Air Base","AB",gsub("National A","NA",gsub("International A","IA",
+   gsub("Airport","A",MN$nodes$airA$long))))
> MN$nodes$airA$long <- MN$nodes$airB$long <- N
> str(MN)
> cw <- c("airA","airB")
> ci <- unname(sapply(cw,\(x) which(names(MN$ways)==x)))
> pDIV <- function(MN,v,cip,C,...) pDiv(MN,v,cip,C,way="line")
> P <- list(
+   p1 = list(
+     p = pDIV, t = 10,
+     cwp = c("airA","airB"),
+     cip = NULL),
+   p2 = list(
+     p = pDIV, t = 10,
+     cwp = c("airB","airA"),
+     cip = NULL),
+   cways = list(cw=cw,ci=ci) 
+ )
> for(i in 1:(length(P)-1)) P[[i]]$cip <- unname(sapply(P[[i]]$cwp,\(x) which(cw==x)))
> str(P)
> C <- lapply(cw, \(x) 1:nrow(MN$nodes[[x]])); names(C) <- cw
> listCore(MN,C,P) 
> CC <- MWcore(MN,P,trace=TRUE)
> listCore(MN,CC,P) 
1 airA : 10 450 1 2 
LEBL LIRF LIMC LEMD EHAM LFPG LIPZ EBBR LGAV EDDF LOWW LFMN EDDH EDDL EPWA EDDM EKCH LSZH LHBP LROP 
  29   26   26   24   23   23   22   22   22   22   21   20   20   20   20   20   20   19   18   18 
LKPR LSGG LEMG EGLL EDDT ESSA LLBG LPPT EDDS EFHK ENGM LBSF EGCC ESGG LFBO LIML LFLL LEPA LTBA LIPE 
  18   17   17   17   17   17   16   15   15   15   15   14   14   13   13   12   12   12   12   12 
LIRN LEVC LYBE LGTS LFML EDDV EIDW LFBD EGBB 
  11   11   11   11   11   11   10   10   10 
2 airB : 10 450 2 1 
LEBL LIRF LIMC LEMD EHAM LFPG LIPZ EBBR LGAV EDDF LOWW LFMN EDDH EDDL EPWA EDDM EKCH LSZH LHBP LROP 
  29   26   26   24   23   23   22   22   22   22   21   20   20   20   20   20   20   19   18   18 
LKPR LSGG LEMG EGLL EDDT ESSA LLBG LPPT EDDS EFHK ENGM LBSF EGCC ESGG LFBO LIML LFLL LEPA LTBA LIPE 
  18   17   17   17   17   17   16   15   15   15   15   14   14   13   13   12   12   12   12   12 
LIRN LEVC LYBE LGTS LFML EDDV EIDW LFBD EGBB 
  11   11   11   11   11   11   10   10   10 
> P[[1]]$t <- 13; P[[2]]$t <- 13
> CC <- MWcore(MN,P,trace=TRUE)
1 airA 1 : 1 2 / 13 
 1 4 5 6 9 10 11 12 13 16 17 18 19 21 23 25 29 30 32 33 35 36 37 39 43 44 45 46 47 49 51 52 53 54 56 60
...
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 
2 airB 2 : 2 1 / 13 
 1 3 4 5 6 9 10 11 12 13 16 17 18 19 21 23 24 25 29 30 32 33 35 36 37 39 43 44 45 46 47 49 51 52 53 54 56
...
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 
1 airA 1 : 1 2 / 13 
 3 8 20 24 57 58 59 61 65 80 108 122 164 211 215 225 244 
2 airB 2 : 2 1 / 13 
 8 20 31 61 122 215 244 
1 airA 1 : 1 2 / 13 
 31 77 
2 airB 2 : 2 1 / 13 
 77 
1 airA 1 : 1 2 / 13 
 
2 airB 2 : 2 1 / 13 
 
> listCore(MN,CC,P) 
1 airA : 13 450 1 2 
LEBL LIRF LIMC LGAV LIPZ LEMD EHAM LFPG EKCH EBBR EDDF LFMN EDDL EDDT LOWW LROP EPWA LLBG EDDM LKPR 
  23   21   20   20   19   18   18   18   17   17   17   16   15   15   15   15   15   15   15   15 
LSZH LHBP ESSA EDDH LBSF LSGG LEMG EGLL 
  14   14   14   13   13   13   13   13 
2 airB : 13 450 2 1 
LEBL LIRF LIMC LGAV LIPZ LEMD EHAM LFPG EKCH EBBR EDDF LFMN EDDL EDDT LOWW LROP EPWA LLBG EDDM LKPR 
  23   21   20   20   19   18   18   18   17   17   17   16   15   15   15   15   15   15   15   15 
LSZH LHBP ESSA EDDH LBSF LSGG LEMG EGLL 
  14   14   14   13   13   13   13   13 
> Ap <- MN$nodes$airA$long[CC[[1]]]

> w1 <- CC$airA; w2 <- CC$airB
> Score <- extract(MN,c("airA","airB"),c("w1","w2"))
> act <- as.integer(names(table(Score$links$line)))
> Rcore <- extract(Score,"line","act")
> str(Rcore)
List of 6
 $ format: chr "MWnets"
 $ info  :List of 8
  ..$ network: chr "AirEu2013"
  ..$ title  : chr "Air Transportation Multiplex"
  ..$ by     : chr "Cardillo A. et al."
  ..$ ref    : chr "Cardillo A. et al. Emergence of network features from multiplexity, Scientific Reports 3, 1344 (2013)"
  ..$ href   : chr "http://complex.unizar.es/~atnmultiplex/"
  ..$ creator: chr "V. Batagelj"
  ..$ date   : chr "Sun Nov 27 16:47:26 2022"
  ..$ trace  :List of 2
  .. ..$ :List of 3
  .. .. ..$ op  : chr "extract"
  .. .. ..$ P   : chr "airA/w1,airB/w2"
  .. .. ..$ date: chr "Fri Feb 17 17:24:37 2023"
  .. ..$ :List of 3
  .. .. ..$ op  : chr "extract"
  .. .. ..$ P   : chr "line/act"
  .. .. ..$ date: chr "Fri Feb 17 17:25:26 2023"
 $ ways  :List of 3
  ..$ airA: chr "first airport"
  ..$ airB: chr "second airport"
  ..$ line: chr "airline"
 $ nodes :List of 3
  ..$ airA:'data.frame':        28 obs. of  7 variables:
  .. ..$ ID     : chr [1:28] "EDDF" "LFPG" "LGAV" "EHAM" ...
  .. ..$ lon    : num [1:28] 8.57 2.55 23.94 4.76 4.48 ...
  .. ..$ lat    : num [1:28] 50 49 37.9 52.3 50.9 ...
  .. ..$ iata   : chr [1:28] "FRA" "CDG" "ATH" "AMS" ...
  .. ..$ long   : chr [1:28] "Frankfurt Airport" "Charles de Gaulle Airport (Roissy Airport)"  ...
  .. ..$ region : chr [1:28] "Hessen" "Ile-de-France" "Attiki" "Noord-Holland" ...
  .. ..$ country: chr [1:28] "DE" "FR" "GR" "NL" ...
  ..$ airB:'data.frame':        28 obs. of  2 variables:
  .. ..$ ID  : chr [1:28] "EDDF" "LFPG" "LGAV" "EHAM" ...
  .. ..$ long: chr [1:28] "Frankfurt Airport" "Charles de Gaulle Airport (Roissy Airport)"  ...
  ..$ line:'data.frame':        27 obs. of  1 variable:
  .. ..$ ID: chr [1:27] "Lufthansa" "Ryanair" "Easyjet" "British A" ...
 $ links :'data.frame': 1098 obs. of  4 variables:
  ..$ airA: int [1:1098] 1 1 1 1 1 1 1 1 1 1 ...
  ..$ airB: int [1:1098] 2 3 4 5 6 7 8 9 10 11 ...
  ..$ line: int [1:1098] 1 1 1 1 1 1 1 1 1 1 ...
  ..$ w   : int [1:1098] 1 1 1 1 1 1 1 1 1 1 ...
 $ data  :List of 1
  ..$ Eu:'data.frame':  40 obs. of  6 variables:
  .. ..$ alpha2   : chr [1:40] "AT" "BA" "BE" "BG" ...
  .. ..$ alpha3   : chr [1:40] "AUT" "BIH" "BEL" "BGR" ...
  .. ..$ Ccode    : int [1:40] 40 70 56 100 756 196 203 276 208 233 ...
  .. ..$ long     : chr [1:40] "Austria" "Bosnia and Herzegovina" "Belgium" "Bulgaria" ...
  .. ..$ region   : chr [1:40] "Europe" "Europe" "Europe" "Europe" ...
  .. ..$ subregion: chr [1:40] "Western Europe" "Southern Europe" "Western Europe" "Eastern Europe" ...
> c27 <- glasbey.colors(27); CC <- col2rgb(c27)/255
> Col <- cbind(CC[1,Rcore$links$line],CC[2,Rcore$links$line],CC[3,Rcore$links$line])
> ts <- c(1,20,10,26,27,19,24,9,7,8,21,13,18,4,2,15,11,23,6,22,5,16,3,12,14,17,25,28)
> t <- inv(ts)
> qs <- c(1,5,10,19,3,7,12,4,16,13,21,8,20,6,11,18,17,2,23,9,15,24,25,14,22,27,26)
> qq <- inv(qs)
> mwnX3D(Rcore,"airA","airB","line","w",pu=t,pv=t,pz=qq,lu="long",lv="long",maxsize=0.85,col=Col,file="EuAirCore13.x3d")

> percents(MN,Rcore,"airA","airB","line","w")
weights:  1098 / 7176 = 0.15301 
links:  1098 / 7176 = 0.15301 
space: ( 28 * 28 * 27 )/( 450 * 450 * 37 ) = 0.002825225  
vlado/work/2m/mwn/x3d/airmw.txt · Last modified: 2023/04/08 13:45 by vlado
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki