====== Medieval Russia trade network ====== May 2018 {{pajek:data:zip:pitts.zip}} * ''pitts.net'' - Pajek network file, undirected, simple, n=39, m=55 * ''pittsGeo.net'' - ''pitts.net'' with (Lon, Lat) as coordinates * ''pittsCyr.net'' - ''pitts.net'' with labels in Cyrillic * ''pitts.nam'' - names of places in Cyrillic * ''pitts.csv'' - merged tables from the paper (see [[#combining_tables_in_r|Combining tables in R]]) * ''pits2.csv'' - ''pitts.csv'' extended with names in Cyrillic and geographical coordinates * ''pittsMat.dat'' - R assignment with adjacency data * ''pittsGeo.dat'' - nodes with coordinates (Lon, Lat) ===== Source ===== In the paper ([[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.586.4388|1]], [[http://eclectic.ss.uci.edu/~drwhite/pw/SNA/pitts_russia.pdf|2]], [[http://www.analytictech.com/networks/pitts.htm|3]]) Forrest R. Pitts: The Medieval River Trade Network of Russia Revisited. Social Networks, 1 (1978/179) 285-292 the medieval river trade network of Russia was presented and analyzed {{pajek:data:pics:pitts1.png?600}} {{pajek:data:pics:pitts2.png?600}} explaining the rise of Moscow {{pajek:data:pics:pitts3.png?600}} See also Forrest R. Pitts: A GRAPH THEORETIC APPROACH TO HISTORICAL GEOGRAPHY. The Professional Geographer. Volume 17, Issue 5 September 1965 Pages 15-20 [[https://doi.org/10.1111/j.0033-0124.1965.015_m.x|DOI]] ===== Pajek data ===== On the [[https://icon.colorado.edu/#!/networks|Icon network index]] I found a version of [[http://tuvalu.santafe.edu/~aaronc/data/russiantrade.zip|Pitts data]]. I decided to complete it with labels and tables from the paper. It turned out that in a given list of edges the edges (28:29) and (26:39) are missing. ==== Combining tables in R ==== > getwd() [1] "C:/Users/batagelj/Documents/papers/2018/moskva/NetR/nets/padgett" > t1 <- read.csv2("../rivers/table1.csv",skip=2) > t2 <- read.csv2("../rivers/table2.csv",skip=2) > pitts <- cbind(t1,t2) > head(pitts) Connection pConnection Place ShortPath Rank n place INOR ASPdist pINOR pASPdist 1 2652 0.51 Novgorod 176 35 1 Novgorod 0 7179 0.00 4.11 2 3574 0.68 Vitebsk 172 32 2 Vitebsk 11 5647 0.22 3.23 3 9521 1.82 Smolensk 148 17.50 3 Smolensk 119 4247 2.39 2.43 4 5303 1.01 Kiev 173 33 4 Kiev 0 7704 0.00 4.41 5 8691 1.66 Chernikov 181 36 5 Chernikov 30 6244 0.60 3.57 6 10181 1.95 Novgorod Severskiy 162 28 6 Novgorod_Severskiy 96 5052 1.93 2.89 > rivers <- pitts[,c(6,1,4,5,8,9)] > rivers$Rank <- as.numeric(as.character(pitts$Rank)) > head(rivers) n Connection ShortPath Rank INOR ASPdist 1 1 2652 176 35.0 0 7179 2 2 3574 172 32.0 11 5647 3 3 9521 148 17.5 119 4247 4 4 5303 173 33.0 0 7704 5 5 8691 181 36.0 30 6244 6 6 10181 162 28.0 96 5052 > write.csv2(rivers,"../rivers/pitts.csv",row.names=t2$place) > pitts <- read.csv2("../rivers/pitts.csv",row.names=1,skip=2) > head(pitts) n Connection ShortPath Rank INOR ASPdist Novgorod 1 2652 176 35.0 0 7179 Vitebsk 2 3574 172 32.0 11 5647 Smolensk 3 9521 148 17.5 119 4247 Kiev 4 5303 173 33.0 0 7704 Chernikov 5 8691 181 36.0 30 6244 Novgorod_Severskiy 6 10181 162 28.0 96 5052 > plot(pitts$INOR,pitts$ASPdist,pch=16,col="red",xlim=c(-50,600)) > text(pitts$INOR,pitts$ASPdist,row.names(pitts),cex=0.6) I collected also the data about the Cyrillic version of the names of towns and their geographical coordinates ([[https://www.latlong.net/|1]], [[https://simplemaps.com/data/world-cities|2]]). It turned out that there are many mistakes in spelling of the names. I corrected them and replaced in the Pajek data set. Adding new data to tables: > t3 <- read.csv2("../rivers/geonames.csv",header=TRUE,skip=1) > t <- read.csv2("../rivers/pitts.csv",row.names=1,skip=2) > t$cyrillic <- t3$cyrillic > t$lat <- as.numeric(as.character(t3$lat)) > t$lon <- as.numeric(as.character(t3$lon)) > head(t) n Connection ShortPath Rank INOR ASPdist cyrillic lat lon Novgorod 1 2652 176 35.0 0 7179 Новгород 58.55000 31.26667 Vitebsk 2 3574 172 32.0 11 5647 Витебск 55.19167 30.20556 Smolensk 3 9521 148 17.5 119 4247 Смоленск 54.78278 32.04528 Kiev 4 5303 173 33.0 0 7704 Киев 50.45000 30.52333 Chernikov 5 8691 181 36.0 30 6244 Черни́гов 51.50000 31.30000 Novgorod_Severskiy 6 10181 162 28.0 96 5052 Новгород-Северский 51.98333 33.26667 > row.names(t) <- t3$place > write.csv2(t,"../rivers/pitts2.csv",row.names=t3$place) > nam <- as.vector(t3$cyrillic) > Encoding(nam) <- "UTF-8" > plot(pitts$INOR,pitts$ASPdist,pch=16,col="red",xlim=c(-50,600)) > text(pitts$INOR,pitts$ASPdist,nam,cex=0.6) > svg(filename="../rivers/INORdist.svg",width=10,height=8,pointsize=12) > plot(pitts$INOR,pitts$ASPdist,pch=16,col="red",xlim=c(-50,600),main="Pitts") > text(pitts$INOR,pitts$ASPdist,nam,cex=0.6) > dev.off() {{pajek:data:pics:pittscyr.jpg?700}} **Notes:** Ksnyatin -> Sknyatino ([[https://en.wikipedia.org/wiki/Sknyatino|WP]]); Pereslavl -> Ryazan ([[https://en.wikipedia.org/wiki/Ryazan|WP]]) C Yuryev-Polsky 56.5 39.683333 B Pereslavl-Zalessky Переславль-Залесский 56.733333 38.85 ===== BiBTeX ===== @article{PITTS1978285, title = "The medieval river trade network of Russia revisited", journal = "Social Networks", volume = "1", number = "3", pages = "285 - 292", year = "1978", issn = "0378-8733", doi = "https://doi.org/10.1016/0378-8733(78)90025-4", url = "http://www.sciencedirect.com/science/article/pii/0378873378900254", author = "Forrest R. Pitts" } ===== To do ===== Add geographical coordinates of towns and their names in Cyrillic. (done May 12, 2018) Compute the distance matrix based on geographical coordinates and use it in centrality measures (done May 2018; betweenness and closeness based on real distances put Moscow in the first position).