References

  1. https://www.htmlwidgets.org/index.html
  2. The threejs package: three.js widgets for R https://bwlewis.github.io/rthreejs/

htmlwidgets usage

htmlwidgets creates, well, widgets, that can visualize data in many ways. HTML widgets work just like R plots except they produce interactive web visualizations. These can be used in RMarkdown, in flexdashboards, and in shiny apps.

All the possible widgets ( 127 of them on CRAN ) are listed here: https://gallery.htmlwidgets.org/

Some packages that offer widgets for use in htmlwidgets:

  1. networkD3:
  • Force directed networks with simpleNetwork and forceNetwork
  • Sankey diagrams with sankeyNetwork
  • Radial networks with radialNetwork
  • Dendro networks with dendroNetwork

Using networkD3

library(networkD3)
data("karate")

# Make separate data frames for edges and nodes
# networkD3 needs indices starting from 1
karate_edges <- karate %>% 
  as_tbl_graph() %>% 
  tidygraph::activate(edges) %>% 
  as.data.frame() %>% 
  dplyr::mutate(source = from - 1, target = to - 1) %>% 
  rename(value = weight) %>% 
  select(source, target, value)
karate_edges %>% head() %>% knitr::kable()
source target value
0 1 4
0 2 5
0 3 3
0 4 3
0 5 3
0 6 3
karate_nodes <- karate %>% 
  as_tbl_graph() %>% 
  tidygraph::activate(nodes) %>% 
  as.data.frame() %>% 
  dplyr::mutate(group = as.character(Faction)) %>% 
  select(name, label, group, color)
karate_nodes %>% head() %>% knitr::kable()
name label group color
Mr Hi H 1 1
Actor 2 2 1 1
Actor 3 3 1 1
Actor 4 4 1 1
Actor 5 5 1 1
Actor 6 6 1 1
simpleNetwork(karate_edges, charge = -50, 
              fontSize = 12, zoom = FALSE, fontFamily = "serif")
forceNetwork(Links = karate_edges, 
             Nodes = karate_nodes, 
             Value = "value", # width of edges, dbl
             NodeID = "name", # chr
             Group = "group", # Node group, chr
             # Nodesize = "label" # chr !!!
             # linkColour = "value"
             )

Creating a Sankey Diagram.

UCB_graph <-
  UCBAdmissions %>% 
  as.data.frame() %>% 
  select(Gender, Admit, Dept, Freq) %>% 
  as_tbl_graph()
UCB_graph
## # A tbl_graph: 4 nodes and 24 edges
## #
## # A directed acyclic multigraph with 1 component
## #
## # Node Data: 4 × 1 (active)
##   name    
##   <chr>   
## 1 Male    
## 2 Female  
## 3 Admitted
## 4 Rejected
## #
## # Edge Data: 24 × 4
##    from    to Dept   Freq
##   <int> <int> <chr> <dbl>
## 1     1     3 A       512
## 2     1     4 A       313
## 3     2     3 A        89
## # … with 21 more rows
UCB_nodes <- UCB_graph %>% activate(nodes) %>% as_tibble()
UCB_nodes
## # A tibble: 4 × 1
##   name    
##   <chr>   
## 1 Male    
## 2 Female  
## 3 Admitted
## 4 Rejected
UCB_links <- UCB_graph %>% 
  activate(edges) %>% 
  as_tibble() %>%
  dplyr::mutate(from = from - 1, to = to - 1)
UCB_links
## # A tibble: 24 × 4
##     from    to Dept   Freq
##    <dbl> <dbl> <chr> <dbl>
##  1     0     2 A       512
##  2     0     3 A       313
##  3     1     2 A        89
##  4     1     3 A        19
##  5     0     2 B       353
##  6     0     3 B       207
##  7     1     2 B        17
##  8     1     3 B         8
##  9     0     2 C       120
## 10     0     3 C       205
## # … with 14 more rows
sankeyNetwork(
  Links = UCB_links,
  Nodes = UCB_nodes,
  Source = "from",
  Target = "to",
  Value = "Freq",
  LinkGroup = "Dept",
  fontSize = 20,
  fontFamily = "Arial"
)
## Links is a tbl_df. Converting to a plain data frame.
## Nodes is a tbl_df. Converting to a plain data frame.

simpleNetwork, forceNetwork and sankeyNetwork use a similar node and link data structure, organized as two data frames (not tibbles)

chordNetwork uses an association matrix type of matrix or a data frame organized in the same way, where entry (n,m) represents the strength of the link from group n to group m. Matrix needs to be square !! “Column names” and “Row names” need to be the same if the data is a data.frame.

data <- matrix(rpois(n = 16, lambda = 50), nrow = 4, ncol = 4)
chordNetwork(data,
             labels = c("A", "B", "C", "D"))

Using threejs

  1. https://bwlewis.github.io/rthreejs/
  2. https://bwlewis.github.io/rthreejs/crosstalk.html

graphjs usage

data("LeMis") # igraph object
LeMis
## IGRAPH b7852d9 U--- 77 254 -- 
## + attr: label (v/c), color (v/c), size (v/n)
## + edges from b7852d9:
##   [1]  1-- 2  1-- 3  1-- 4  3-- 4  1-- 5  1-- 6  1-- 7  1-- 8  1-- 9  1--10 11--12  4--12  3--12  1--12 12--13 12--14 12--15
##  [18] 12--16 17--18 17--19 18--19 17--20 18--20 19--20 17--21 18--21 19--21 20--21 17--22 18--22 19--22 20--22 21--22 17--23
##  [35] 18--23 19--23 20--23 21--23 22--23 17--24 18--24 19--24 20--24 21--24 22--24 23--24 13--24 12--24 24--25 12--25 25--26
##  [52] 24--26 12--26 25--27 12--27 17--27 26--27 12--28 24--28 26--28 25--28 27--28 12--29 28--29 24--30 28--30 12--30 24--31
##  [69] 31--32 12--32 24--32 28--32 12--33 12--34 28--34 12--35 30--35 12--36 35--36 30--36 35--37 36--37 12--37 30--37 35--38
##  [86] 36--38 37--38 12--38 30--38 35--39 36--39 37--39 38--39 12--39 30--39 26--40 26--41 25--42 26--42 42--43 26--43 25--43
## [103] 12--44 27--44 28--44 29--45 12--45 29--46 47--48 48--49 26--49 28--49 12--49 27--50 12--50 50--51 25--51 50--52 27--52
## [120] 12--52 52--53 40--53 52--54 52--55 50--55 27--55 52--56 50--56 40--56 55--56 27--56 12--56 17--56 26--56 42--56 49--56
## + ... omitted several edges
V(LeMis)$label
##  [1] "Myriel"            "Napoleon"          "Mlle.Baptistine"   "Mme.Magloire"      "CountessdeLo"      "Geborand"         
##  [7] "Champtercier"      "Cravatte"          "Count"             "OldMan"            "Labarre"           "Valjean"          
## [13] "Marguerite"        "Mme.deR"           "Isabeau"           "Gervais"           "Tholomyes"         "Listolier"        
## [19] "Fameuil"           "Blacheville"       "Favourite"         "Dahlia"            "Zephine"           "Fantine"          
## [25] "Mme.Thenardier"    "Thenardier"        "Cosette"           "Javert"            "Fauchelevent"      "Bamatabois"       
## [31] "Perpetue"          "Simplice"          "Scaufflaire"       "Woman1"            "Judge"             "Champmathieu"     
## [37] "Brevet"            "Chenildieu"        "Cochepaille"       "Pontmercy"         "Boulatruelle"      "Eponine"          
## [43] "Anzelma"           "Woman2"            "MotherInnocent"    "Gribier"           "Jondrette"         "Mme.Burgon"       
## [49] "Gavroche"          "Gillenormand"      "Magnon"            "Mlle.Gillenormand" "Mme.Pontmercy"     "Mlle.Vaubois"     
## [55] "Lt.Gillenormand"   "Marius"            "BaronessT"         "Mabeuf"            "Enjolras"          "Combeferre"       
## [61] "Prouvaire"         "Feuilly"           "Courfeyrac"        "Bahorel"           "Bossuet"           "Joly"             
## [67] "Grantaire"         "MotherPlutarch"    "Gueulemer"         "Babet"             "Claquesous"        "Montparnasse"     
## [73] "Toussaint"         "Child1"            "Child2"            "Brujon"            "Mme.Hucheloup"
V(LeMis)$color
##  [1] "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#00B3A3" "#777788" "#777788"
## [13] "#00008A" "#777788" "#777788" "#777788" "#00008A" "#00008A" "#00008A" "#00008A" "#00008A" "#00008A" "#00008A" "#00008A"
## [25] "#48D0CB" "#48D0CB" "#1A80B3" "#48D0CB" "#ED7942" "#777788" "#00008A" "#777788" "#777788" "#777788" "#777788" "#777788"
## [37] "#777788" "#777788" "#777788" "#48D0CB" "#191970" "#48D0CB" "#48D0CB" "#1A80B3" "#ED7942" "#ED7942" "#8A5A2B" "#8A5A2B"
## [49] "#8A2252" "#1A80B3" "#1A80B3" "#1A80B3" "#1A80B3" "#1A80B3" "#1A80B3" "#8A2252" "#1A80B3" "#8A2252" "#8A2252" "#8A2252"
## [61] "#8A2252" "#8A2252" "#8A2252" "#8A2252" "#8A2252" "#8A2252" "#8A2252" "#7EBFED" "#48D0CB" "#48D0CB" "#48D0CB" "#48D0CB"
## [73] "#1A80B3" "#6B8D23" "#6B8D23" "#48D0CB" "#8A2252"
graphjs(LeMis,
    layout=list( # animates between a list of layouts
      # layouts need to be 3D layouts
      # Or each can be a 3 column matrix with n(rows) = n(vertices)
    #layout_randomly(LeMis, dim=3),
    #layout_on_sphere(LeMis),
    layout_with_drl(LeMis, dim=3)  # note! somewhat slow...
    #layout_with_fr(LeMis, dim=3, niter=30)
    ),
  main=list("random layout", "sphere layout", "drl layout", "fr layout"),
  fpl=300)

globejs usage

Plot points, arcs and images on a globe in 3D using Three.js. The globe can be rotated and and zoomed. Great Circles and historical routes are a good idea for this perhaps.

Refer to this page for more ideas http://bwlewis.github.io/rthreejs/globejs.html

# Random Lats and Longs
lat <- rpois(10, 60) + rnorm(10, 80)
long <- rpois(10, 60) + rnorm(10, 10)

# Random "Spike" heights for each location. Population? Tourists? GDP?
value <- rpois(10, lambda = 80)
 
globejs(lat = lat, long = long)
globejs(
  lat = lat,
  long = long,
  
  # random heights of the Spikes (!!) at lat-long combo
  value = value,
  color = "red",
  # Zoom factor, default is 35
  fov = 50
)
globejs(
  lat = lat,
  long = long,
  value = value,
  color = "red",
  pointsize = 4, # width of the columns
  # Zoom position
  fov = 35,
  # initial position of the globe
  rotationlat = 0.6, #  in RADIANS !!! Good Heavens!!
  rotationlong = 0.2 #  in RADIANS !!! Good Heavens!!
)
globejs(
  lat = lat,
  long = long,
  value = value,
  color = "red",
  pointsize = 4,
  fov = 35,
  rotationlat = 0.6,
  rotationlong = 0.2,
  lightcolor = "#aaeeff",
  emissive = "#0000ee",
  bodycolor = "#ffffff",
  bg = "grey"
)
# Plotting arcs on the globe
# Requires 4 column data frame for start and end lat and long

arcs <- data.frame(start_lat = runif(10, min = -20, max = 20), 
                   start_lon = runif(10, min = -20, max = 20), 
                   end_lat = runif(10, min = -20, max = 20),
                   end_lon = runif(10, min = -20, max = 20) + 60)
arcs
##     start_lat  start_lon    end_lat  end_lon
## 1    3.016680  -4.365567   5.594315 50.93338
## 2   12.973797 -13.898790  -9.179053 60.55823
## 3  -16.753981 -10.928736 -16.393892 61.63982
## 4    4.439878  -6.566553 -13.951586 41.89942
## 5   13.821826   3.438644  -9.075859 51.73242
## 6    9.800831 -11.682768   0.625092 51.51758
## 7  -15.636946  18.756391 -15.350314 76.87565
## 8   -2.574580  14.323621  -5.192717 69.46181
## 9   16.352673  11.959831  14.161968 45.53559
## 10 -13.011114   9.082078 -19.184064 56.66528
globejs(arcs = arcs,
        arcsColor = "gold",
        arcsLwd = 4,
        arcsHeight = 0.6,
        rotationlat = 0,
        rotationlong = -2.2)

threejs contains a dataset called flights obtained from Callum Prentice’s FlightStream page: < http://callumprentice.github.io/apps/flight_stream/index.html>

data("flights",package = "threejs")
flights %>% head()
##   origin_lat origin_long dest_lat dest_long
## 1   43.44993    39.95659 55.60619  49.27873
## 2   46.28333    48.00628 55.60619  49.27873
## 3   46.28333    48.00628 44.22507  43.08189
## 4   55.30584    61.50333 55.60619  49.27873
## 5   55.30584    61.50333 55.01262  82.65066
## 6   55.40861    37.90611 55.60619  49.27873
# Example Code
# dest   <- factor(sprintf("%.2f:%.2f",flights[,3], flights[,4]))
# dest
# freq <- sort(table(dest), decreasing=TRUE)
# freq
frequent_destinations <-
  flights %>% group_by(dest_lat, dest_long) %>% 
  count(sort = TRUE) %>% 
  ungroup() %>% 
  slice_max(n = 10, order_by = n)
frequent_destinations
## # A tibble: 10 × 3
##    dest_lat dest_long     n
##       <dbl>     <dbl> <int>
##  1    42.0    -87.9     366
##  2    40.1    117.      349
##  3     1.35   104.      342
##  4    43.7    -79.6     314
##  5    51.5     -0.461   299
##  6    31.1    122.      291
##  7    48.1     16.6     287
##  8    34.4    109.      251
##  9    47.5      8.55    243
## 10    25.1    121.      234
# idx <- dest %in% frequent_destinations
# frequent_flights <- flights[idx, ]
# ll <- unique(frequent_flights[,3:4])
frequent_flights <- flights %>% 
  semi_join(frequent_destinations,by = c("dest_lat" = "dest_lat", "dest_long" = "dest_long")) %>% unique() 

frequent_flights %>% 
  kableExtra::kbl() %>%
  kableExtra::kable_paper(full_width = TRUE) %>%
  kableExtra::kable_styling(bootstrap_options = c("striped", "condensed", "responsive")) %>%
  kableExtra::scroll_box(width = "700px", height = "500px")
origin_lat origin_long dest_lat dest_long
1 40.657633 17.947033 47.464722 8.549167
2 44.828335 -0.715556 47.464722 8.549167
3 51.382669 -2.719089 47.464722 8.549167
4 34.875117 33.624850 47.464722 8.549167
5 27.931886 -15.386586 47.464722 8.549167
6 25.557111 34.583711 47.464722 8.549167
7 40.783200 -91.125500 41.978603 -87.904842
8 39.834564 -88.865689 41.978603 -87.904842
9 13.681108 100.747283 1.350189 103.994433
10 -12.408333 130.872660 1.350189 103.994433
11 19.934856 110.458961 1.350189 103.994433
12 30.229503 120.434453 1.350189 103.994433
13 22.308919 113.914603 1.350189 103.994433
14 8.113200 98.316872 1.350189 103.994433
15 34.434722 135.244167 25.077731 121.232822
16 2.745578 101.709917 1.350189 103.994433
17 14.508647 121.019581 1.350189 103.994433
18 5.297139 100.276864 1.350189 103.994433
19 -31.940278 115.966944 1.350189 103.994433
20 11.546556 104.844139 1.350189 103.994433
21 13.410666 103.812840 1.350189 103.994433
22 16.907305 96.133222 1.350189 103.994433
23 10.818797 106.651856 1.350189 103.994433
24 1.350189 103.994433 25.077731 121.232822
25 51.132767 13.767161 47.464722 8.549167
26 42.760277 10.239445 47.464722 8.549167
27 46.991067 15.439628 47.464722 8.549167
28 47.793304 13.004333 47.464722 8.549167
29 21.539400 109.294000 34.447119 108.751592
30 29.719217 106.641678 40.080111 116.584556
31 29.719217 106.641678 31.143378 121.805214
32 29.719217 106.641678 34.447119 108.751592
33 30.578528 103.947086 40.080111 116.584556
34 30.578528 103.947086 31.143378 121.805214
35 30.578528 103.947086 34.447119 108.751592
36 25.935064 119.663272 34.447119 108.751592
37 34.490900 102.371900 34.447119 108.751592
38 45.623403 126.250328 34.447119 108.751592
39 24.992364 102.743536 25.077731 121.232822
40 24.992364 102.743536 34.447119 108.751592
41 29.297778 90.911944 34.447119 108.751592
42 35.046100 118.412000 34.447119 108.751592
43 36.857214 117.215992 34.447119 108.751592
44 43.907106 87.474244 34.447119 108.751592
45 38.269200 109.731000 34.447119 108.751592
46 36.898731 30.800461 47.464722 8.549167
47 27.178317 33.799436 47.464722 8.549167
48 42.572778 21.035833 47.464722 8.549167
50 41.961622 21.621381 47.464722 8.549167
51 50.865917 7.142744 51.477500 -0.461389
52 50.865917 7.142744 48.110278 16.569722
53 50.865917 7.142744 47.464722 8.549167
54 52.461056 9.685078 48.110278 16.569722
55 53.630389 9.988228 51.477500 -0.461389
56 53.630389 9.988228 48.110278 16.569722
57 53.630389 9.988228 47.464722 8.549167
58 48.689878 9.221964 48.110278 16.569722
59 52.559686 13.287711 48.110278 16.569722
60 10.307542 123.979439 1.350189 103.994433
61 15.185833 120.560278 1.350189 103.994433
62 10.713044 122.545297 1.350189 103.994433
63 14.508647 121.019581 40.080111 116.584556
64 14.508647 121.019581 31.143378 121.805214
66 14.508647 121.019581 25.077731 121.232822
67 12.994414 80.180517 1.350189 103.994433
68 40.560000 109.997000 34.447119 108.751592
69 31.780019 117.298436 31.143378 121.805214
70 24.992364 102.743536 40.080111 116.584556
71 24.992364 102.743536 31.143378 121.805214
73 26.538522 106.800703 1.350189 103.994433
74 26.883333 100.233330 34.447119 108.751592
75 24.401100 98.531700 40.080111 116.584556
77 5.937208 116.051181 31.143378 121.805214
78 13.681108 100.747283 31.143378 121.805214
79 43.541200 125.120100 31.143378 121.805214
80 33.511306 126.493028 31.143378 121.805214
82 18.766847 98.962644 31.143378 121.805214
83 38.965667 121.538600 31.143378 121.805214
84 29.102800 110.443000 31.143378 121.805214
85 22.308919 113.914603 31.143378 121.805214
86 8.113200 98.316872 31.143378 121.805214
87 45.623403 126.250328 31.143378 121.805214
88 33.149700 130.302000 31.143378 121.805214
89 36.181083 140.415444 31.143378 121.805214
90 22.577094 120.350006 31.143378 121.805214
91 34.434722 135.244167 31.143378 121.805214
93 25.218106 110.039197 31.143378 121.805214
94 36.117000 103.617000 31.143378 121.805214
95 22.149556 113.591558 31.143378 121.805214
96 31.143378 121.805214 1.350189 103.994433
97 31.143378 121.805214 25.077731 121.232822
98 31.197875 121.336319 34.447119 108.751592
99 41.382400 123.290100 34.447119 108.751592
100 38.280686 114.697300 25.077731 121.232822
102 22.006400 113.376000 31.143378 121.805214
103 19.088686 72.867919 51.477500 -0.461389
104 19.088686 72.867919 1.350189 103.994433
105 50.901389 4.484444 43.677223 -79.630556
106 28.566500 77.103088 51.477500 -0.461389
107 28.566500 77.103088 1.350189 103.994433
109 37.936358 23.944467 51.477500 -0.461389
110 37.936358 23.944467 48.110278 16.569722
111 35.339719 25.180297 48.110278 16.569722
112 41.669167 44.954722 48.110278 16.569722
113 35.040222 -106.609194 41.978603 -87.904842
114 57.201944 -2.197778 51.477500 -0.461389
115 5.605186 -0.166786 51.477500 -0.461389
116 36.674900 -4.499106 51.477500 -0.461389
117 42.557100 -92.400300 41.978603 -87.904842
118 31.722556 35.993214 41.978603 -87.904842
119 52.308613 4.763889 51.477500 -0.461389
120 59.651944 17.918611 51.477500 -0.461389
121 43.991922 -76.021739 41.978603 -87.904842
123 33.636719 -84.428067 51.477500 -0.461389
124 33.636719 -84.428067 41.978603 -87.904842
125 24.432972 54.651138 51.477500 -0.461389
126 24.432972 54.651138 41.978603 -87.904842
127 30.194528 -97.669889 51.477500 -0.461389
128 30.194528 -97.669889 41.978603 -87.904842
129 42.234875 -85.552058 41.978603 -87.904842
130 26.270834 50.633610 51.477500 -0.461389
131 41.297078 2.078464 51.477500 -0.461389
132 41.938889 -72.683222 41.978603 -87.904842
133 60.293386 5.218142 51.477500 -0.461389
134 54.618056 -5.872500 51.477500 -0.461389
135 44.535444 11.288667 51.477500 -0.461389
136 12.949986 77.668206 51.477500 -0.461389
137 40.477111 -88.915917 41.978603 -87.904842
138 36.124472 -86.678194 41.978603 -87.904842
140 42.364347 -71.005181 51.477500 -0.461389
141 42.364347 -71.005181 41.978603 -87.904842
142 50.901389 4.484444 51.477500 -0.461389
143 47.590000 7.529167 51.477500 -0.461389
144 47.436933 19.255592 51.477500 -0.461389
145 42.940525 -78.732167 41.978603 -87.904842
146 39.175361 -76.668333 51.477500 -0.461389
147 39.175361 -76.668333 41.978603 -87.904842
148 49.012779 2.550000 51.477500 -0.461389
149 49.012779 2.550000 41.978603 -87.904842
150 35.035278 -85.203808 41.978603 -87.904842
151 38.138639 -78.452861 41.978603 -87.904842
152 41.884694 -91.710806 41.978603 -87.904842
153 41.411689 -81.849794 41.978603 -87.904842
154 35.214000 -80.943139 51.477500 -0.461389
155 35.214000 -80.943139 41.978603 -87.904842
156 35.214000 -80.943139 43.677223 -79.630556
157 39.997972 -82.891889 41.978603 -87.904842
158 40.039250 -88.278056 41.978603 -87.904842
159 38.818094 -92.219631 41.978603 -87.904842
160 55.617917 12.655972 51.477500 -0.461389
161 -33.964806 18.601667 51.477500 -0.461389
162 21.036528 -86.877083 41.978603 -87.904842
163 39.048836 -84.667822 41.978603 -87.904842
164 44.772726 -89.646635 41.978603 -87.904842
165 39.902375 -84.219375 41.978603 -87.904842
166 42.402000 -90.709472 41.978603 -87.904842
167 38.852083 -77.037722 41.978603 -87.904842
168 38.852083 -77.037722 43.677223 -79.630556
170 39.861656 -104.673178 51.477500 -0.461389
171 39.861656 -104.673178 41.978603 -87.904842
172 32.896828 -97.037997 51.477500 -0.461389
173 32.896828 -97.037997 41.978603 -87.904842
174 32.896828 -97.037997 43.677223 -79.630556
175 25.261125 51.565056 41.978603 -87.904842
176 41.533972 -93.663083 41.978603 -87.904842
177 42.212444 -83.353389 41.978603 -87.904842
178 53.421333 -6.270075 51.477500 -0.461389
179 53.421333 -6.270075 41.978603 -87.904842
180 51.289453 6.766775 51.477500 -0.461389
181 51.289453 6.766775 41.978603 -87.904842
182 25.252778 55.364444 51.477500 -0.461389
183 0.042386 32.443503 51.477500 -0.461389
184 55.950000 -3.372500 51.477500 -0.461389
185 31.807250 -106.377583 41.978603 -87.904842
186 38.036997 -87.532364 41.978603 -87.904842
187 40.692500 -74.168667 51.477500 -0.461389
188 40.692500 -74.168667 41.978603 -87.904842
189 46.920650 -96.815764 41.978603 -87.904842
190 41.804475 12.250797 51.477500 -0.461389
191 41.804475 12.250797 41.978603 -87.904842
192 26.072583 -80.152750 41.978603 -87.904842
193 42.965424 -83.743629 41.978603 -87.904842
194 50.026421 8.543125 51.477500 -0.461389
195 43.582014 -96.741914 41.978603 -87.904842
196 40.978472 -85.195139 41.978603 -87.904842
197 36.151219 -5.349664 51.477500 -0.461389
198 55.871944 -4.433056 51.477500 -0.461389
199 57.662836 12.279819 51.477500 -0.461389
200 44.485072 -88.129589 41.978603 -87.904842
201 42.880833 -85.522806 41.978603 -87.904842
202 46.238064 6.108950 51.477500 -0.461389
203 52.461056 9.685078 51.477500 -0.461389
205 60.317222 24.963333 51.477500 -0.461389
206 22.308919 113.914603 41.978603 -87.904842
207 41.066959 -73.707575 41.978603 -87.904842
208 34.637194 -86.775056 41.978603 -87.904842
209 17.453117 78.467586 51.477500 -0.461389
210 38.944533 -77.455811 51.477500 -0.461389
211 29.984433 -95.341442 51.477500 -0.461389
212 29.984433 -95.341442 41.978603 -87.904842
213 37.649944 -97.433056 41.978603 -87.904842
214 39.717331 -86.294383 41.978603 -87.904842
215 40.976922 28.814606 51.477500 -0.461389
216 30.494056 -81.687861 41.978603 -87.904842
217 40.639751 -73.778925 51.477500 -0.461389
218 40.639751 -73.778925 41.978603 -87.904842
219 40.639751 -73.778925 43.677223 -79.630556
220 40.639751 -73.778925 47.464722 8.549167
221 -26.139166 28.246000 51.477500 -0.461389
222 2.745578 101.709917 51.477500 -0.461389
224 29.226567 47.968928 51.477500 -0.461389
225 36.080056 -115.152250 51.477500 -0.461389
226 36.080056 -115.152250 41.978603 -87.904842
227 36.080056 -115.152250 43.677223 -79.630556
228 33.942536 -118.408075 51.477500 -0.461389
229 33.942536 -118.408075 41.978603 -87.904842
230 33.942536 -118.408075 31.143378 121.805214
231 33.942536 -118.408075 43.677223 -79.630556
232 53.865897 -1.660569 51.477500 -0.461389
233 34.875117 33.624850 51.477500 -0.461389
234 38.036500 -84.605889 41.978603 -87.904842
235 40.777245 -73.872608 41.978603 -87.904842
236 40.777245 -73.872608 43.677223 -79.630556
237 51.477500 -0.461389 41.978603 -87.904842
238 51.477500 -0.461389 48.110278 16.569722
239 51.477500 -0.461389 43.677223 -79.630556
240 51.477500 -0.461389 47.464722 8.549167
241 34.729444 -92.224306 41.978603 -87.904842
242 43.878986 -91.256711 41.978603 -87.904842
243 40.493556 -3.566764 41.978603 -87.904842
244 53.353744 -2.274950 41.978603 -87.904842
245 18.503717 -77.913358 41.978603 -87.904842
246 39.297606 -94.713905 41.978603 -87.904842
247 28.429394 -81.308994 41.978603 -87.904842
248 28.429394 -81.308994 43.677223 -79.630556
249 40.193494 -76.763403 41.978603 -87.904842
250 35.042417 -89.976667 41.978603 -87.904842
251 19.436303 -99.072097 41.978603 -87.904842
252 39.140972 -96.670833 41.978603 -87.904842
253 25.793250 -80.290556 41.978603 -87.904842
254 25.793250 -80.290556 43.677223 -79.630556
255 42.947222 -87.896583 41.978603 -87.904842
256 41.448528 -90.507539 41.978603 -87.904842
257 46.353611 -87.395278 41.978603 -87.904842
258 43.139858 -89.337514 41.978603 -87.904842
259 44.881956 -93.221767 41.978603 -87.904842
260 29.993389 -90.258028 41.978603 -87.904842
261 35.764722 140.386389 41.978603 -87.904842
262 35.764722 140.386389 1.350189 103.994433
263 35.764722 140.386389 25.077731 121.232822
264 35.393089 -97.600733 41.978603 -87.904842
265 41.303167 -95.894069 41.978603 -87.904842
266 41.978603 -87.904842 40.080111 116.584556
267 41.978603 -87.904842 31.143378 121.805214
268 41.978603 -87.904842 43.677223 -79.630556
269 39.871944 -75.241139 43.677223 -79.630556
270 39.871944 -75.241139 47.464722 8.549167
271 28.945464 -13.605225 47.464722 8.549167
272 36.674900 -4.499106 48.110278 16.569722
273 38.282169 -0.558156 47.464722 8.549167
274 31.722556 35.993214 48.110278 16.569722
275 59.651944 17.918611 48.110278 16.569722
276 24.432972 54.651138 40.080111 116.584556
277 24.432972 54.651138 1.350189 103.994433
278 41.297078 2.078464 48.110278 16.569722
280 -27.384167 153.117500 1.350189 103.994433
282 49.012779 2.550000 48.110278 16.569722
283 39.601944 19.911667 48.110278 16.569722
284 35.531747 24.149678 48.110278 16.569722
285 55.617917 12.655972 48.110278 16.569722
286 37.466781 15.066400 47.464722 8.549167
288 51.289453 6.766775 48.110278 16.569722
289 51.289453 6.766775 47.464722 8.549167
290 41.804475 12.250797 48.110278 16.569722
291 43.809953 11.205100 48.110278 16.569722
292 32.697889 -16.774453 48.110278 16.569722
293 32.697889 -16.774453 47.464722 8.549167
295 50.026421 8.543125 48.110278 16.569722
296 28.452717 -13.863761 48.110278 16.569722
297 28.452717 -13.863761 47.464722 8.549167
298 54.913250 8.340472 47.464722 8.549167
303 60.317222 24.963333 48.110278 16.569722
304 60.317222 24.963333 47.464722 8.549167
306 35.339719 25.180297 47.464722 8.549167
307 38.872858 1.373117 47.464722 8.549167
308 37.435128 25.348103 48.110278 16.569722
309 36.399169 25.479333 48.110278 16.569722
310 37.068319 22.025525 48.110278 16.569722
311 34.875117 33.624850 48.110278 16.569722
312 51.505278 0.055278 47.464722 8.549167
315 27.931886 -15.386586 48.110278 16.569722
317 40.493556 -3.566764 48.110278 16.569722
318 40.493556 -3.566764 47.464722 8.549167
319 35.857497 14.477500 48.110278 16.569722
320 48.353783 11.786086 48.110278 16.569722
321 45.630606 8.728111 48.110278 16.569722
322 40.886033 14.290781 47.464722 8.549167
323 43.658411 7.215872 48.110278 16.569722
324 49.498700 11.066897 48.110278 16.569722
325 40.898661 9.517628 48.110278 16.569722
326 40.898661 9.517628 47.464722 8.549167
327 39.553610 2.727778 48.110278 16.569722
328 39.553610 2.727778 47.464722 8.549167
329 38.925467 20.765311 48.110278 16.569722
330 36.405419 28.086192 48.110278 16.569722
331 40.519725 22.970950 48.110278 16.569722
332 38.905394 16.242269 47.464722 8.549167
333 47.793304 13.004333 48.110278 16.569722
334 28.044475 -16.572489 48.110278 16.569722
335 28.044475 -16.572489 47.464722 8.549167
337 52.559686 13.287711 47.464722 8.549167
338 48.110278 16.569722 47.464722 8.549167
339 17.136749 -61.792667 43.677223 -79.630556
340 33.636719 -84.428067 43.677223 -79.630556
341 12.501389 -70.015221 43.677223 -79.630556
342 24.432972 54.651138 43.677223 -79.630556
343 19.267000 -69.742000 43.677223 -79.630556
344 41.297078 2.078464 43.677223 -79.630556
345 32.364042 -64.678703 43.677223 -79.630556
346 41.938889 -72.683222 43.677223 -79.630556
347 13.074603 -59.492456 43.677223 -79.630556
348 36.124472 -86.678194 43.677223 -79.630556
349 4.701594 -74.146947 43.677223 -79.630556
350 42.364347 -71.005181 43.677223 -79.630556
352 39.175361 -76.668333 43.677223 -79.630556
353 22.513200 -78.511000 43.677223 -79.630556
354 49.012779 2.550000 43.677223 -79.630556
355 41.411689 -81.849794 43.677223 -79.630556
357 39.997972 -82.891889 43.677223 -79.630556
358 55.617917 12.655972 43.677223 -79.630556
359 21.036528 -86.877083 43.677223 -79.630556
360 39.048836 -84.667822 43.677223 -79.630556
362 39.861656 -104.673178 43.677223 -79.630556
364 42.212444 -83.353389 43.677223 -79.630556
365 53.421333 -6.270075 43.677223 -79.630556
366 40.692500 -74.168667 43.677223 -79.630556
367 41.804475 12.250797 43.677223 -79.630556
368 26.072583 -80.152750 43.677223 -79.630556
369 50.026421 8.543125 43.677223 -79.630556
370 19.292778 -81.357750 43.677223 -79.630556
371 23.562631 -75.877958 43.677223 -79.630556
372 12.004247 -61.786192 43.677223 -79.630556
373 -23.432075 -46.469511 43.677223 -79.630556
374 22.989153 -82.409086 43.677223 -79.630556
375 22.308919 113.914603 43.677223 -79.630556
376 20.785589 -76.315108 43.677223 -79.630556
377 38.944533 -77.455811 43.677223 -79.630556
378 29.984433 -95.341442 43.677223 -79.630556
379 39.717331 -86.294383 43.677223 -79.630556
380 40.976922 28.814606 43.677223 -79.630556
382 17.935667 -76.787500 43.677223 -79.630556
387 -12.021889 -77.114319 43.677223 -79.630556
388 10.593289 -85.544408 43.677223 -79.630556
389 18.503717 -77.913358 43.677223 -79.630556
390 39.297606 -94.713905 43.677223 -79.630556
392 40.193494 -76.763403 43.677223 -79.630556
393 19.436303 -99.072097 43.677223 -79.630556
395 42.947222 -87.896583 43.677223 -79.630556
396 44.881956 -93.221767 43.677223 -79.630556
398 29.993389 -90.258028 43.677223 -79.630556
399 48.353783 11.786086 43.677223 -79.630556
400 25.038958 -77.466231 43.677223 -79.630556
401 35.764722 140.386389 43.677223 -79.630556
403 40.080111 116.584556 43.677223 -79.630556
405 33.434278 -112.011583 43.677223 -79.630556
406 40.491467 -80.232872 43.677223 -79.630556
407 21.773625 -72.265886 43.677223 -79.630556
408 19.757900 -70.570033 43.677223 -79.630556
409 18.567367 -68.363431 43.677223 -79.630556
410 31.143378 121.805214 43.677223 -79.630556
411 35.877639 -78.787472 43.677223 -79.630556
412 43.118866 -77.672389 43.677223 -79.630556
413 26.536167 -81.755167 43.677223 -79.630556
414 32.733556 -117.189667 43.677223 -79.630556
415 -33.392975 -70.785803 43.677223 -79.630556
416 47.449000 -122.309306 43.677223 -79.630556
417 37.618972 -122.374889 43.677223 -79.630556
418 9.993861 -84.208806 43.677223 -79.630556
419 22.492192 -79.943611 43.677223 -79.630556
420 38.748697 -90.370028 43.677223 -79.630556
421 43.111187 -76.106311 43.677223 -79.630556
422 32.011389 34.886667 43.677223 -79.630556
423 27.975472 -82.533250 43.677223 -79.630556
424 13.733194 -60.952597 43.677223 -79.630556
425 48.110278 16.569722 43.677223 -79.630556
426 23.034445 -81.435278 43.677223 -79.630556
427 52.165750 20.967122 43.677223 -79.630556
428 46.485001 -84.509445 43.677223 -79.630556
429 49.210833 -57.391388 43.677223 -79.630556
430 53.309723 -113.579722 43.677223 -79.630556
431 45.868889 -66.537222 43.677223 -79.630556
432 44.225277 -76.596944 43.677223 -79.630556
433 44.880833 -63.508610 43.677223 -79.630556
434 56.653333 -111.221944 43.677223 -79.630556
435 45.322500 -75.669167 43.677223 -79.630556
436 46.791111 -71.393333 43.677223 -79.630556
437 42.275556 -82.955556 43.677223 -79.630556
438 46.112221 -64.678611 43.677223 -79.630556
439 50.431944 -104.665833 43.677223 -79.630556
440 48.371944 -89.323889 43.677223 -79.630556
441 46.161388 -60.047779 43.677223 -79.630556
442 46.625000 -80.798889 43.677223 -79.630556
443 45.316111 -65.890278 43.677223 -79.630556
444 48.569721 -81.376667 43.677223 -79.630556
445 45.470556 -73.740833 43.677223 -79.630556
446 45.470556 -73.740833 47.464722 8.549167
447 49.193889 -123.184444 43.677223 -79.630556
448 49.910036 -97.239886 43.677223 -79.630556
449 52.170834 -106.699722 43.677223 -79.630556
450 43.033056 -81.151111 43.677223 -79.630556
451 46.363611 -79.422778 43.677223 -79.630556
452 51.113888 -114.020278 43.677223 -79.630556
453 46.290001 -63.121111 43.677223 -79.630556
454 48.646944 -123.425833 43.677223 -79.630556
455 47.618610 -52.751945 43.677223 -79.630556
456 43.677223 -79.630556 47.464722 8.549167
457 34.519672 113.840889 25.077731 121.232822
458 28.189158 113.219633 25.077731 121.232822
459 26.883333 100.233330 25.077731 121.232822
460 29.826683 121.461906 25.077731 121.232822
461 31.742042 118.862025 25.077731 121.232822
462 41.382400 123.290100 25.077731 121.232822
463 52.308613 4.763889 25.077731 121.232822
468 23.392436 113.298786 1.350189 103.994433
471 49.012779 2.550000 40.080111 116.584556
472 49.012779 2.550000 31.143378 121.805214
473 49.012779 2.550000 1.350189 103.994433
476 49.012779 2.550000 47.464722 8.549167
477 42.212444 -83.353389 51.477500 -0.461389
479 45.726387 5.090833 48.110278 16.569722
481 36.691014 3.215408 51.477500 -0.461389
482 36.691014 3.215408 40.080111 116.584556
483 36.691014 3.215408 48.110278 16.569722
486 19.088686 72.867919 47.464722 8.549167
487 22.654739 88.446722 1.350189 103.994433
489 28.566500 77.103088 41.978603 -87.904842
490 28.566500 77.103088 31.143378 121.805214
492 28.566500 77.103088 48.110278 16.569722
493 28.566500 77.103088 47.464722 8.549167
495 37.469075 126.450517 1.350189 103.994433
500 5.937208 116.051181 1.350189 103.994433
501 5.937208 116.051181 25.077731 121.232822
502 6.166850 102.293014 1.350189 103.994433
503 1.484697 110.346933 1.350189 103.994433
505 6.329728 99.728667 1.350189 103.994433
506 4.322014 113.986806 1.350189 103.994433
508 20.521800 -103.311167 41.978603 -87.904842
510 37.466781 15.066400 48.110278 16.569722
511 61.174361 -149.996361 41.978603 -87.904842
514 33.367467 -7.589967 51.477500 -0.461389
515 33.367467 -7.589967 47.464722 8.549167
518 13.440947 -89.055728 43.677223 -79.630556
535 60.317222 24.963333 40.080111 116.584556
536 60.317222 24.963333 31.143378 121.805214
537 60.317222 24.963333 1.350189 103.994433
539 60.317222 24.963333 34.447119 108.751592
551 41.248055 -8.681389 47.464722 8.549167
557 28.566500 77.103088 25.077731 121.232822
560 41.804475 12.250797 31.143378 121.805214
563 41.804475 12.250797 47.464722 8.549167
565 45.445103 9.276739 48.110278 16.569722
566 53.882469 28.030731 48.110278 16.569722
569 29.719217 106.641678 25.077731 121.232822
570 38.965667 121.538600 25.077731 121.232822
571 25.935064 119.663272 25.077731 121.232822
575 22.639258 113.810664 25.077731 121.232822
576 36.266108 120.374436 25.077731 121.232822
577 25.077731 121.232822 34.447119 108.751592
578 9.006792 7.263172 51.477500 -0.461389
582 43.352072 77.040508 51.477500 -0.461389
583 31.722556 35.993214 51.477500 -0.461389
593 33.820931 35.488389 51.477500 -0.461389
596 13.681108 100.747283 51.477500 -0.461389
597 55.740322 9.151778 47.464722 8.549167
606 30.121944 31.405556 51.477500 -0.461389
611 30.578528 103.947086 51.477500 -0.461389
615 55.408611 37.906111 51.477500 -0.461389
624 -34.822222 -58.535833 51.477500 -0.461389
625 37.014425 -7.965911 51.477500 -0.461389
628 8.616444 -13.195489 51.477500 -0.461389
631 -22.808903 -43.243647 51.477500 -0.461389
634 -23.432075 -46.469511 51.477500 -0.461389
636 40.467500 50.046667 51.477500 -0.461389
640 22.308919 113.914603 51.477500 -0.461389
641 35.552258 139.779694 51.477500 -0.461389
645 38.872858 1.373117 51.477500 -0.461389
646 37.469075 126.450517 51.477500 -0.461389
648 21.679564 39.156536 51.477500 -0.461389
650 37.435128 25.348103 51.477500 -0.461389
652 36.399169 25.479333 51.477500 -0.461389
653 50.345000 30.894722 51.477500 -0.461389
655 -8.858375 13.231178 51.477500 -0.461389
661 59.800292 30.262503 51.477500 -0.461389
663 51.477500 -0.461389 40.080111 116.584556
664 51.477500 -0.461389 31.143378 121.805214
665 51.477500 -0.461389 1.350189 103.994433
672 23.843333 90.397781 51.477500 -0.461389
673 23.843333 90.397781 1.350189 103.994433
674 4.944200 114.928353 31.143378 121.805214
675 4.944200 114.928353 1.350189 103.994433
676 24.550560 55.103174 51.477500 -0.461389
677 28.189158 113.219633 34.447119 108.751592
678 22.608267 108.172442 34.447119 108.751592
679 39.124353 117.346183 34.447119 108.751592
681 43.670833 142.447500 25.077731 121.232822
683 13.681108 100.747283 25.077731 121.232822
684 13.681108 100.747283 48.110278 16.569722
685 -27.384167 153.117500 25.077731 121.232822
686 23.392436 113.298786 25.077731 121.232822
687 49.012779 2.550000 25.077731 121.232822
688 -6.125567 106.655897 25.077731 121.232822
690 42.775200 141.692283 25.077731 121.232822
691 30.578528 103.947086 25.077731 121.232822
692 -8.748169 115.167172 25.077731 121.232822
693 33.585942 130.450686 25.077731 121.232822
694 13.483450 144.795983 25.077731 121.232822
695 21.221192 105.807178 25.077731 121.232822
696 40.851422 111.824103 25.077731 121.232822
697 30.229503 120.434453 25.077731 121.232822
698 41.770000 140.821944 25.077731 121.232822
699 22.308919 113.914603 25.077731 121.232822
700 45.623403 126.250328 25.077731 121.232822
701 37.469075 126.450517 25.077731 121.232822
702 40.639751 -73.778925 25.077731 121.232822
705 36.394611 136.406544 25.077731 121.232822
706 2.745578 101.709917 25.077731 121.232822
707 25.218106 110.039197 25.077731 121.232822
708 33.942536 -118.408075 25.077731 121.232822
709 22.149556 113.591558 25.077731 121.232822
712 34.756944 133.855278 25.077731 121.232822
713 40.080111 116.584556 25.077731 121.232822
714 11.546556 104.844139 25.077731 121.232822
716 38.139722 140.916944 25.077731 121.232822
717 47.449000 -122.309306 25.077731 121.232822
718 37.618972 -122.374889 25.077731 121.232822
719 10.818797 106.651856 25.077731 121.232822
721 -7.379831 112.786858 25.077731 121.232822
722 36.857214 117.215992 25.077731 121.232822
723 25.077731 121.232822 43.677223 -79.630556
724 56.923611 23.971111 48.110278 16.569722
725 56.923611 23.971111 47.464722 8.549167
726 6.498553 -58.254119 43.677223 -79.630556
729 10.595369 -61.337242 43.677223 -79.630556
730 35.179528 128.938222 25.077731 121.232822
731 35.179528 128.938222 34.447119 108.751592
732 8.977889 38.799319 40.080111 116.584556
733 -37.008056 174.791667 31.143378 121.805214
734 59.651944 17.918611 40.080111 116.584556
735 40.560000 109.997000 40.080111 116.584556
737 21.539400 109.294000 40.080111 116.584556
738 13.681108 100.747283 40.080111 116.584556
739 30.121944 31.405556 40.080111 116.584556
740 23.392436 113.298786 40.080111 116.584556
741 23.392436 113.298786 31.143378 121.805214
742 23.392436 113.298786 34.447119 108.751592
745 34.519672 113.840889 40.080111 116.584556
746 43.541200 125.120100 40.080111 116.584556
747 41.538100 120.435000 40.080111 116.584556
748 42.235000 118.908000 40.080111 116.584556
749 36.716600 127.499119 40.080111 116.584556
754 18.766847 98.962644 40.080111 116.584556
755 55.617917 12.655972 40.080111 116.584556
756 28.189158 113.219633 40.080111 116.584556
757 42.775200 141.692283 40.080111 116.584556
760 30.578528 103.947086 1.350189 103.994433
763 31.941667 119.711667 40.080111 116.584556
764 40.060300 113.482000 40.080111 116.584556
765 31.300000 107.500000 40.080111 116.584556
766 40.025500 124.286600 40.080111 116.584556
767 28.566500 77.103088 40.080111 116.584556
768 38.965667 121.538600 40.080111 116.584556
770 38.965667 121.538600 34.447119 108.751592
771 39.850000 110.033000 40.080111 116.584556
772 51.289453 6.766775 40.080111 116.584556
773 25.252778 55.364444 40.080111 116.584556
774 29.102800 110.443000 40.080111 116.584556
775 40.692500 -74.168667 40.080111 116.584556
776 40.692500 -74.168667 31.143378 121.805214
777 41.804475 12.250797 40.080111 116.584556
778 39.224061 125.670150 40.080111 116.584556
779 25.935064 119.663272 40.080111 116.584556
780 50.026421 8.543125 40.080111 116.584556
781 50.026421 8.543125 31.143378 121.805214
782 32.900000 115.816667 40.080111 116.584556
783 33.585942 130.450686 31.143378 121.805214
784 37.558311 126.790586 40.080111 116.584556
785 46.238064 6.108950 40.080111 116.584556
786 32.391100 105.702000 40.080111 116.584556
787 19.934856 110.458961 40.080111 116.584556
790 40.851422 111.824103 40.080111 116.584556
791 40.851422 111.824103 31.143378 121.805214
793 31.780019 117.298436 40.080111 116.584556
794 30.229503 120.434453 40.080111 116.584556
796 30.229503 120.434453 34.447119 108.751592
797 22.308919 113.914603 40.080111 116.584556
798 8.113200 98.316872 40.080111 116.584556
799 49.204997 119.825000 40.080111 116.584556
800 46.083000 122.017000 40.080111 116.584556
801 42.841400 93.669200 40.080111 116.584556
802 35.552258 139.779694 40.080111 116.584556
803 21.318681 -157.922428 40.080111 116.584556
804 45.623403 126.250328 40.080111 116.584556
806 28.562200 121.429000 40.080111 116.584556
807 38.944533 -77.455811 40.080111 116.584556
808 29.984433 -95.341442 40.080111 116.584556
809 37.469075 126.450517 40.080111 116.584556
810 38.481944 106.009167 40.080111 116.584556
811 38.481944 106.009167 31.143378 121.805214
812 38.481944 106.009167 34.447119 108.751592
813 40.976922 28.814606 40.080111 116.584556
814 40.976922 28.814606 31.143378 121.805214
815 29.338600 117.176000 40.080111 116.584556
816 29.338600 117.176000 34.447119 108.751592
817 40.639751 -73.778925 40.080111 116.584556
818 26.899700 114.737500 40.080111 116.584556
819 29.733000 115.983000 40.080111 116.584556
820 24.796400 118.590000 31.143378 121.805214
821 46.843394 130.465389 40.080111 116.584556
822 32.857000 103.683000 31.143378 121.805214
823 28.865000 115.900000 40.080111 116.584556
824 28.865000 115.900000 31.143378 121.805214
825 34.434722 135.244167 40.080111 116.584556
829 25.825800 114.912000 40.080111 116.584556
830 26.538522 106.800703 40.080111 116.584556
831 26.538522 106.800703 31.143378 121.805214
832 26.538522 106.800703 34.447119 108.751592
833 25.218106 110.039197 40.080111 116.584556
835 25.218106 110.039197 34.447119 108.751592
836 33.942536 -118.408075 40.080111 116.584556
838 51.148056 -0.190278 40.080111 116.584556
841 36.117000 103.617000 40.080111 116.584556
842 36.117000 103.617000 34.447119 108.751592
843 26.883333 100.233330 40.080111 116.584556
844 29.297778 90.911944 40.080111 116.584556
845 24.207500 109.391000 40.080111 116.584556
846 40.493556 -3.566764 40.080111 116.584556
847 44.523889 129.568889 40.080111 116.584556
848 -37.673333 144.843333 31.143378 121.805214
849 22.149556 113.591558 40.080111 116.584556
851 31.428100 104.741000 40.080111 116.584556
853 48.353783 11.786086 40.080111 116.584556
854 48.353783 11.786086 31.143378 121.805214
855 34.991389 126.382778 40.080111 116.584556
856 45.630606 8.728111 40.080111 116.584556
857 45.630606 8.728111 31.143378 121.805214
858 47.239628 123.918131 40.080111 116.584556
859 29.826683 121.461906 40.080111 116.584556
860 34.858414 136.805408 31.143378 121.805214
861 31.742042 118.862025 40.080111 116.584556
862 31.742042 118.862025 34.447119 108.751592
863 22.608267 108.172442 40.080111 116.584556
865 35.764722 140.386389 40.080111 116.584556
866 35.764722 140.386389 31.143378 121.805214
867 32.070800 120.976000 40.080111 116.584556
868 26.195814 127.645869 40.080111 116.584556
871 40.080111 116.584556 31.143378 121.805214
872 40.080111 116.584556 1.350189 103.994433
874 40.080111 116.584556 48.110278 16.569722
875 40.080111 116.584556 34.447119 108.751592
878 31.143378 121.805214 34.447119 108.751592
881 22.639258 113.810664 34.447119 108.751592
882 36.266108 120.374436 34.447119 108.751592
886 27.912200 120.852000 34.447119 108.751592
887 31.494400 120.429000 34.447119 108.751592
898 50.026421 8.543125 25.077731 121.232822
899 34.796111 138.189444 25.077731 121.232822
902 19.934856 110.458961 25.077731 121.232822
904 34.436111 132.919444 25.077731 121.232822
906 21.318681 -157.922428 25.077731 121.232822
908 24.344525 124.186983 25.077731 121.232822
909 22.577094 120.350006 40.080111 116.584556
911 22.577094 120.350006 1.350189 103.994433
912 28.865000 115.900000 25.077731 121.232822
914 31.877222 131.448611 25.077731 121.232822
915 31.803397 130.719408 25.077731 121.232822
919 34.858414 136.805408 25.077731 121.232822
921 26.195814 127.645869 25.077731 121.232822
923 5.297139 100.276864 25.077731 121.232822
927 16.907305 96.133222 25.077731 121.232822
928 7.367303 134.544278 25.077731 121.232822
932 -33.946111 151.177222 25.077731 121.232822
933 18.302897 109.412272 25.077731 121.232822
935 34.214167 134.015556 25.077731 121.232822
937 36.648333 137.187500 25.077731 121.232822
938 25.077731 121.232822 48.110278 16.569722
940 9.071364 -79.383453 43.677223 -79.630556
946 21.420428 -77.847433 43.677223 -79.630556
950 7.180756 79.884117 1.350189 103.994433
958 22.308919 113.914603 34.447119 108.751592
966 52.308613 4.763889 40.080111 116.584556
967 52.308613 4.763889 31.143378 121.805214
968 23.392436 113.298786 51.477500 -0.461389
974 28.918900 111.640000 40.080111 116.584556
976 34.519672 113.840889 31.143378 121.805214
980 43.541200 125.120100 25.077731 121.232822
981 36.247500 113.126000 40.080111 116.584556
985 28.189158 113.219633 31.143378 121.805214
990 40.025500 124.286600 31.143378 121.805214
995 40.094000 94.481800 34.447119 108.751592
996 42.212444 -83.353389 40.080111 116.584556
997 42.212444 -83.353389 31.143378 121.805214
999 29.102800 110.443000 25.077731 121.232822
1001 25.935064 119.663272 1.350189 103.994433
1005 19.934856 110.458961 31.143378 121.805214
1006 21.221192 105.807178 40.080111 116.584556
1007 31.780019 117.298436 34.447119 108.751592
1015 29.934200 122.362000 40.080111 116.584556
1017 37.469075 126.450517 31.143378 121.805214
1020 33.616653 73.099233 40.080111 116.584556
1021 24.796400 118.590000 40.080111 116.584556
1022 46.843394 130.465389 31.143378 121.805214
1023 28.865000 115.900000 34.447119 108.751592
1027 2.745578 101.709917 31.143378 121.805214
1030 26.538522 106.800703 25.077731 121.232822
1037 44.523889 129.568889 31.143378 121.805214
1038 30.754000 106.062000 40.080111 116.584556
1039 42.088056 127.548889 40.080111 116.584556
1040 47.239628 123.918131 31.143378 121.805214
1045 22.608267 108.172442 25.077731 121.232822
1054 18.302897 109.412272 34.447119 108.751592
1060 37.746897 112.628428 34.447119 108.751592
1064 30.783758 114.208100 34.447119 108.751592
1065 30.836100 108.406000 34.447119 108.751592
1067 2.745578 101.709917 40.080111 116.584556
1071 11.679431 122.376294 1.350189 103.994433
1072 52.308613 4.763889 41.978603 -87.904842
1073 52.308613 4.763889 43.677223 -79.630556
1077 33.636719 -84.428067 47.464722 8.549167
1094 37.469075 126.450517 41.978603 -87.904842
1097 40.639751 -73.778925 31.143378 121.805214
1115 -8.858375 13.231178 40.080111 116.584556
1116 60.193917 11.100361 48.110278 16.569722
1121 53.421333 -6.270075 48.110278 16.569722
1123 53.421333 -6.270075 47.464722 8.549167
1128 25.252778 55.364444 31.143378 121.805214
1129 25.252778 55.364444 1.350189 103.994433
1130 25.252778 55.364444 25.077731 121.232822
1131 25.252778 55.364444 48.110278 16.569722
1132 25.252778 55.364444 43.677223 -79.630556
1133 25.252778 55.364444 47.464722 8.549167
1134 -37.673333 144.843333 1.350189 103.994433
1136 8.977889 38.799319 51.477500 -0.461389
1138 8.977889 38.799319 31.143378 121.805214
1139 -34.945000 138.530556 1.350189 103.994433
1140 -37.008056 174.791667 1.350189 103.994433
1143 -43.489358 172.532225 1.350189 103.994433
1146 50.026421 8.543125 47.464722 8.549167
1157 24.432972 54.651138 31.143378 121.805214
1160 44.818444 20.309139 51.477500 -0.461389
1165 43.809953 11.205100 47.464722 8.549167
1166 46.238064 6.108950 47.464722 8.549167
1167 51.432447 12.241633 47.464722 8.549167
1168 45.200761 7.649631 47.464722 8.549167
1170 42.695194 23.406167 48.110278 16.569722
1171 42.695194 23.406167 47.464722 8.549167
1172 13.912583 100.606750 1.350189 103.994433
1173 13.912583 100.606750 34.447119 108.751592
1175 8.095969 98.988764 1.350189 103.994433
1176 31.780019 117.298436 25.077731 121.232822
1177 38.481944 106.009167 25.077731 121.232822
1180 63.985000 -22.605556 51.477500 -0.461389
1181 63.985000 -22.605556 43.677223 -79.630556
1182 63.985000 -22.605556 47.464722 8.549167
1189 39.850000 110.033000 34.447119 108.751592
1198 41.101400 121.062000 31.143378 121.805214
1203 31.428100 104.741000 31.143378 121.805214
1204 35.179528 128.938222 31.143378 121.805214
1208 4.567972 101.092194 1.350189 103.994433
1209 3.775389 103.209056 1.350189 103.994433
1210 35.417000 116.533000 34.447119 108.751592
1211 -6.900625 107.576294 1.350189 103.994433
1213 -1.268272 116.894478 1.350189 103.994433
1214 -6.125567 106.655897 40.080111 116.584556
1215 -6.125567 106.655897 31.143378 121.805214
1216 -6.125567 106.655897 1.350189 103.994433
1219 -8.748169 115.167172 1.350189 103.994433
1221 40.976922 28.814606 1.350189 103.994433
1222 -7.788181 110.431758 1.350189 103.994433
1223 -8.757322 116.276675 1.350189 103.994433
1225 1.549447 124.925878 1.350189 103.994433
1226 0.460786 101.444539 1.350189 103.994433
1227 -2.898250 104.699903 1.350189 103.994433
1231 33.511306 126.493028 25.077731 121.232822
1232 18.766847 98.962644 25.077731 121.232822
1239 43.041000 144.193000 25.077731 121.232822
1244 13.410666 103.812840 25.077731 121.232822
1247 30.582200 117.050200 40.080111 116.584556
1249 28.918900 111.640000 34.447119 108.751592
1252 40.060300 113.482000 34.447119 108.751592
1254 32.900000 115.816667 34.447119 108.751592
1255 40.851422 111.824103 34.447119 108.751592
1257 33.777200 119.147800 34.447119 108.751592
1258 42.841400 93.669200 34.447119 108.751592
1259 35.799700 107.603000 34.447119 108.751592
1264 28.852200 105.393000 34.447119 108.751592
1265 30.754000 106.062000 34.447119 108.751592
1267 40.926389 107.738889 34.447119 108.751592
1274 36.898731 30.800461 48.110278 16.569722
1280 55.408611 37.906111 48.110278 16.569722
1287 27.178317 33.799436 48.110278 16.569722
1302 25.557111 34.583711 48.110278 16.569722
1306 32.011389 34.886667 48.110278 16.569722
1308 40.560000 109.997000 31.143378 121.805214
1309 21.539400 109.294000 31.143378 121.805214
1318 37.271600 118.281900 31.143378 121.805214
1319 25.935064 119.663272 31.143378 121.805214
1329 26.195814 127.645869 31.143378 121.805214
1334 43.352072 77.040508 40.080111 116.584556
1339 50.901389 4.484444 40.080111 116.584556
1354 37.271600 118.281900 40.080111 116.584556
1355 36.636900 109.554000 40.080111 116.584556
1374 48.528044 135.188361 40.080111 116.584556
1375 56.180000 92.475000 40.080111 116.584556
1381 59.800292 30.262503 40.080111 116.584556
1384 36.117000 103.617000 25.077731 121.232822
1387 4.191833 73.529128 40.080111 116.584556
1392 49.566667 117.329444 40.080111 116.584556
1395 55.012622 82.650656 40.080111 116.584556
1408 39.794444 106.799444 34.447119 108.751592
1410 51.956944 4.437222 48.110278 16.569722
1424 41.297078 2.078464 47.464722 8.549167
1426 43.301097 -2.910608 51.477500 -0.461389
1450 43.302061 -8.377256 51.477500 -0.461389
1467 35.416111 51.152222 51.477500 -0.461389
1468 35.416111 51.152222 40.080111 116.584556
1469 35.416111 51.152222 48.110278 16.569722
1471 40.467500 50.046667 40.080111 116.584556
1472 40.467500 50.046667 48.110278 16.569722
1473 5.765280 103.007000 1.350189 103.994433
1474 44.941444 17.297501 47.464722 8.549167
1476 29.102800 110.443000 34.447119 108.751592
1478 19.934856 110.458961 34.447119 108.751592
1484 45.306110 130.996670 40.080111 116.584556
1490 38.280686 114.697300 34.447119 108.751592
1495 29.733300 118.256000 34.447119 108.751592
1500 42.775200 141.692283 31.143378 121.805214
1501 34.796111 138.189444 31.143378 121.805214
1504 34.436111 132.919444 31.143378 121.805214
1508 35.552258 139.779694 1.350189 103.994433
1509 37.571100 139.064600 31.143378 121.805214
1513 36.394611 136.406544 31.143378 121.805214
1514 31.803397 130.719408 31.143378 121.805214
1515 33.827222 132.699722 31.143378 121.805214
1518 32.916944 129.913611 31.143378 121.805214
1525 34.756944 133.855278 31.143378 121.805214
1527 46.223686 14.457611 48.110278 16.569722
1528 46.223686 14.457611 47.464722 8.549167
1536 44.818444 20.309139 48.110278 16.569722
1537 44.818444 20.309139 47.464722 8.549167
1539 54.377569 18.466222 47.464722 8.549167
1540 50.077731 19.784836 47.464722 8.549167
1541 51.102683 16.885836 47.464722 8.549167
1542 11.546556 104.844139 31.143378 121.805214
1550 51.022222 71.466944 48.110278 16.569722
1551 33.511306 126.493028 40.080111 116.584556
1559 37.469075 126.450517 48.110278 16.569722
1560 37.469075 126.450517 34.447119 108.751592
1561 37.469075 126.450517 43.677223 -79.630556
1568 52.308613 4.763889 1.350189 103.994433
1570 52.308613 4.763889 48.110278 16.569722
1572 52.308613 4.763889 47.464722 8.549167
1588 35.857497 14.477500 47.464722 8.549167
1593 19.292778 -81.357750 41.978603 -87.904842
1597 49.626575 6.211517 48.110278 16.569722
1612 50.026421 8.543125 41.978603 -87.904842
1615 50.026421 8.543125 1.350189 103.994433
1619 52.461056 9.685078 47.464722 8.549167
1625 51.432447 12.241633 48.110278 16.569722
1628 48.353783 11.786086 41.978603 -87.904842
1633 48.353783 11.786086 47.464722 8.549167
1634 -1.319167 36.927500 47.464722 8.549167
1635 49.498700 11.066897 47.464722 8.549167
1637 48.689878 9.221964 47.464722 8.549167
1643 50.077731 19.784836 48.110278 16.569722
1645 52.165750 20.967122 47.464722 8.549167
1646 53.353744 -2.274950 48.110278 16.569722
1648 4.191833 73.529128 31.143378 121.805214
1650 36.674900 -4.499106 47.464722 8.549167
1652 59.651944 17.918611 47.464722 8.549167
1653 37.936358 23.944467 47.464722 8.549167
1657 52.453856 -1.748028 47.464722 8.549167
1658 13.681108 100.747283 47.464722 8.549167
1660 42.364347 -71.005181 47.464722 8.549167
1661 50.901389 4.484444 47.464722 8.549167
1662 47.590000 7.529167 48.110278 16.569722
1663 47.436933 19.255592 47.464722 8.549167
1664 30.121944 31.405556 47.464722 8.549167
1667 55.617917 12.655972 47.464722 8.549167
1669 42.561353 18.268244 47.464722 8.549167
1671 55.408611 37.906111 47.464722 8.549167
1675 40.692500 -74.168667 47.464722 8.549167
1681 -23.432075 -46.469511 47.464722 8.549167
1683 46.238064 6.108950 48.110278 16.569722
1687 22.989153 -82.409086 47.464722 8.549167
1689 22.308919 113.914603 47.464722 8.549167
1691 38.944533 -77.455811 47.464722 8.549167
1692 40.976922 28.814606 47.464722 8.549167
1694 -26.139166 28.246000 47.464722 8.549167
1695 50.345000 30.894722 47.464722 8.549167
1696 36.080056 -115.152250 47.464722 8.549167
1697 33.942536 -118.408075 47.464722 8.549167
1700 59.800292 30.262503 47.464722 8.549167
1704 46.004275 8.910578 47.464722 8.549167
1705 49.626575 6.211517 47.464722 8.549167
1706 45.726387 5.090833 47.464722 8.549167
1708 53.353744 -2.274950 47.464722 8.549167
1709 25.793250 -80.290556 47.464722 8.549167
1712 45.630606 8.728111 47.464722 8.549167
1714 43.658411 7.215872 47.464722 8.549167
1715 35.764722 140.386389 47.464722 8.549167
1718 41.978603 -87.904842 47.464722 8.549167
1719 60.193917 11.100361 47.464722 8.549167
1720 44.572161 26.102178 47.464722 8.549167
1721 40.080111 116.584556 47.464722 8.549167
1723 50.100833 14.260000 47.464722 8.549167
1725 18.567367 -68.363431 47.464722 8.549167
1726 31.143378 121.805214 47.464722 8.549167
1727 31.606886 -8.036300 47.464722 8.549167
1729 37.618972 -122.374889 47.464722 8.549167
1730 1.350189 103.994433 47.464722 8.549167
1732 43.538944 16.297964 47.464722 8.549167
1735 32.011389 34.886667 47.464722 8.549167
1736 27.975472 -82.533250 47.464722 8.549167
1738 45.505278 12.351944 47.464722 8.549167
1740 39.489314 -0.481625 47.464722 8.549167
1745 45.742931 16.068778 47.464722 8.549167
1766 24.796400 118.590000 25.077731 121.232822
1794 12.949986 77.668206 1.350189 103.994433
1798 11.030031 77.043383 1.350189 103.994433
1799 29.719217 106.641678 1.350189 103.994433
1800 18.766847 98.962644 1.350189 103.994433
1801 10.155556 76.391389 1.350189 103.994433
1802 28.189158 113.219633 1.350189 103.994433
1804 16.043917 108.199370 1.350189 103.994433
1805 -8.546553 125.524719 1.350189 103.994433
1807 7.125522 125.645778 1.350189 103.994433
1808 21.221192 105.807178 1.350189 103.994433
1810 17.453117 78.467586 1.350189 103.994433
1813 24.992364 102.743536 1.350189 103.994433
1814 27.696583 85.359100 1.350189 103.994433
1828 -20.430235 57.683600 40.080111 116.584556
1829 -20.430235 57.683600 31.143378 121.805214
1834 30.121944 31.405556 48.110278 16.569722
1835 30.121944 31.405556 43.677223 -79.630556
1838 25.088200 104.958700 31.143378 121.805214
1852 43.541200 125.120100 34.447119 108.751592
1864 31.941667 119.711667 34.447119 108.751592
1865 40.060300 113.482000 31.143378 121.805214
1866 31.300000 107.500000 31.143378 121.805214
1872 -8.748169 115.167172 31.143378 121.805214
1884 34.633000 98.867000 34.447119 108.751592
1886 21.221192 105.807178 31.143378 121.805214
1887 36.524000 114.430000 31.143378 121.805214
1895 33.777200 119.147800 40.080111 116.584556
1900 42.841400 93.669200 31.143378 121.805214
1902 21.318681 -157.922428 31.143378 121.805214
1906 29.934200 122.362000 31.143378 121.805214
1914 39.856900 98.341400 34.447119 108.751592
1915 26.899700 114.737500 34.447119 108.751592
1916 29.515000 108.830000 40.080111 116.584556
1917 35.417000 116.533000 40.080111 116.584556
1921 32.857000 103.683000 34.447119 108.751592
1922 39.542922 76.019956 34.447119 108.751592
1948 34.410000 112.280000 40.080111 116.584556
1949 34.550000 119.250000 40.080111 116.584556
1950 35.046100 118.412000 40.080111 116.584556
1951 35.046100 118.412000 31.143378 121.805214
1952 24.207500 109.391000 31.143378 121.805214
1953 28.852200 105.393000 40.080111 116.584556
1954 28.852200 105.393000 31.143378 121.805214
1960 34.991389 126.382778 31.143378 121.805214
1962 30.754000 106.062000 31.143378 121.805214
1965 29.826683 121.461906 34.447119 108.751592
1969 31.742042 118.862025 31.143378 121.805214
1972 22.608267 108.172442 1.350189 103.994433
2010 33.585942 130.450686 1.350189 103.994433
2018 34.434722 135.244167 1.350189 103.994433
2023 34.858414 136.805408 1.350189 103.994433
2029 35.764722 140.386389 48.110278 16.569722
2036 39.457583 -74.577167 41.978603 -87.904842
2047 33.679750 -78.928333 41.978603 -87.904842
2048 37.721278 -122.220722 41.978603 -87.904842
2050 31.428100 104.741000 34.447119 108.751592
2074 44.535444 11.288667 48.110278 16.569722
2075 50.901389 4.484444 48.110278 16.569722
2077 47.436933 19.255592 48.110278 16.569722
2082 46.785167 23.686167 48.110278 16.569722
2085 42.561353 18.268244 48.110278 16.569722
2087 36.713056 28.792500 48.110278 16.569722
2089 48.357222 35.100556 48.110278 16.569722
2092 36.237611 43.963158 48.110278 16.569722
2093 40.147275 44.395881 48.110278 16.569722
2098 46.991067 15.439628 48.110278 16.569722
2105 49.924786 36.289986 48.110278 16.569722
2106 38.944533 -77.455811 48.110278 16.569722
2107 47.178492 27.620631 48.110278 16.569722
2109 47.260219 11.343964 48.110278 16.569722
2110 40.976922 28.814606 48.110278 16.569722
2111 40.639751 -73.778925 48.110278 16.569722
2113 50.345000 30.894722 48.110278 16.569722
2114 46.927744 28.930978 48.110278 16.569722
2115 46.642514 14.337739 48.110278 16.569722
2117 45.034689 39.170539 48.110278 16.569722
2118 48.663055 21.241112 48.110278 16.569722
2120 59.800292 30.262503 48.110278 16.569722
2123 38.781311 -9.135919 48.110278 16.569722
2125 48.233219 14.187511 48.110278 16.569722
2128 49.812500 23.956111 48.110278 16.569722
2134 40.886033 14.290781 48.110278 16.569722
2137 46.426767 30.676464 48.110278 16.569722
2139 41.978603 -87.904842 48.110278 16.569722
2141 44.572161 26.102178 48.110278 16.569722
2144 38.175958 13.091019 48.110278 16.569722
2145 50.100833 14.260000 48.110278 16.569722
2146 42.572778 21.035833 48.110278 16.569722
2149 47.258208 39.818089 48.110278 16.569722
2150 45.785597 24.091342 48.110278 16.569722
2151 43.824583 18.331467 48.110278 16.569722
2153 41.961622 21.621381 48.110278 16.569722
2155 43.538944 16.297964 48.110278 16.569722
2157 38.905394 16.242269 48.110278 16.569722
2161 42.359392 19.251894 48.110278 16.569722
2162 41.414742 19.720561 48.110278 16.569722
2166 43.232072 27.825106 48.110278 16.569722
2167 45.505278 12.351944 48.110278 16.569722
2187 -26.139166 28.246000 1.350189 103.994433
2191 40.128082 32.995083 48.110278 16.569722
2192 40.898553 29.309219 48.110278 16.569722
2193 40.898553 29.309219 47.464722 8.549167
2194 47.485033 9.560775 48.110278 16.569722
2197 33.616653 73.099233 51.477500 -0.461389
2199 33.616653 73.099233 43.677223 -79.630556
2200 24.906547 67.160797 51.477500 -0.461389
2201 24.906547 67.160797 43.677223 -79.630556
2202 31.521564 74.403594 51.477500 -0.461389
2203 31.521564 74.403594 43.677223 -79.630556
2206 11.679431 122.376294 25.077731 121.232822
2217 -9.443383 147.220050 1.350189 103.994433
2232 25.261125 51.565056 51.477500 -0.461389
2234 25.261125 51.565056 40.080111 116.584556
2235 25.261125 51.565056 31.143378 121.805214
2236 25.261125 51.565056 1.350189 103.994433
2237 25.261125 51.565056 48.110278 16.569722
2238 25.261125 51.565056 47.464722 8.549167
2251 31.722556 35.993214 47.464722 8.549167
2262 38.781311 -9.135919 43.677223 -79.630556
2263 41.248055 -8.681389 43.677223 -79.630556
2264 37.741184 -25.697870 43.677223 -79.630556
2266 52.268028 104.388975 40.080111 116.584556
2283 27.701900 118.001000 34.447119 108.751592
2284 49.207947 -2.195508 47.464722 8.549167
2286 59.651944 17.918611 41.978603 -87.904842
2291 55.617917 12.655972 41.978603 -87.904842
2293 55.617917 12.655972 31.143378 121.805214
2294 55.617917 12.655972 1.350189 103.994433
2300 50.901389 4.484444 41.978603 -87.904842
2306 23.077242 72.634650 1.350189 103.994433
2308 41.297078 2.078464 1.350189 103.994433
2334 55.408611 37.906111 1.350189 103.994433
2339 41.804475 12.250797 1.350189 103.994433
2363 4.191833 73.529128 1.350189 103.994433
2365 48.353783 11.786086 1.350189 103.994433
2366 45.630606 8.728111 1.350189 103.994433
2378 24.957640 46.698776 1.350189 103.994433
2382 53.047500 8.786667 48.110278 16.569722
2385 55.972642 37.414589 48.110278 16.569722
2386 55.972642 37.414589 43.677223 -79.630556
2387 55.972642 37.414589 47.464722 8.549167
2389 21.679564 39.156536 1.350189 103.994433
2390 21.679564 39.156536 43.677223 -79.630556
2392 46.914100 7.497153 48.110278 16.569722
2393 37.986814 58.360967 51.477500 -0.461389
2408 40.976922 28.814606 41.978603 -87.904842
2436 6.933206 100.392975 1.350189 103.994433
2445 26.883333 100.233330 1.350189 103.994433
2447 22.149556 113.591558 1.350189 103.994433
2450 29.826683 121.461906 1.350189 103.994433
2458 37.936358 23.944467 43.677223 -79.630556
2465 55.871944 -4.433056 43.677223 -79.630556
2467 51.148056 -0.190278 43.677223 -79.630556
2469 53.353744 -2.274950 43.677223 -79.630556
2474 45.505278 12.351944 43.677223 -79.630556
2477 33.875031 10.775461 47.464722 8.549167
2478 36.075833 10.438611 47.464722 8.549167
2479 36.851033 10.227217 48.110278 16.569722
2480 36.851033 10.227217 47.464722 8.549167
2485 31.742042 118.862025 1.350189 103.994433
2487 -28.164444 153.504722 1.350189 103.994433
2490 51.148056 -0.190278 48.110278 16.569722
2491 51.148056 -0.190278 47.464722 8.549167
2492 51.874722 -0.368333 47.464722 8.549167
2493 40.652083 -75.440806 41.978603 -87.904842
2496 42.748267 -73.801692 41.978603 -87.904842
2501 44.257526 -88.507576 41.978603 -87.904842
2503 35.436194 -82.541806 41.978603 -87.904842
2504 41.338478 -75.723403 41.978603 -87.904842
2507 33.562942 -86.753550 41.978603 -87.904842
2509 43.564361 -116.222861 41.978603 -87.904842
2514 44.471861 -73.153278 41.978603 -87.904842
2517 45.777643 -111.160151 41.978603 -87.904842
2518 33.938833 -81.119528 41.978603 -87.904842
2519 40.916083 -81.442194 41.978603 -87.904842
2521 32.898647 -80.040528 41.978603 -87.904842
2528 47.168400 -88.489100 41.978603 -87.904842
2529 38.805805 -104.700778 41.978603 -87.904842
2539 46.842091 -92.193649 41.978603 -87.904842
2546 44.865800 -91.484300 41.978603 -87.904842
2547 42.159889 -76.891611 41.978603 -87.904842
2557 38.950944 -95.663611 41.978603 -87.904842
2563 -23.432075 -46.469511 41.978603 -87.904842
2564 36.097750 -79.937306 41.978603 -87.904842
2565 34.895556 -82.218889 41.978603 -87.904842
2568 21.318681 -157.922428 41.978603 -87.904842
2573 38.944533 -77.455811 41.978603 -87.904842
2584 32.311167 -90.075889 41.978603 -87.904842
2589 42.778700 -84.587357 41.978603 -87.904842
2603 40.850971 -96.759250 41.978603 -87.904842
2604 43.532913 -84.079647 41.978603 -87.904842
2610 42.932556 -71.435667 41.978603 -87.904842
2614 43.169500 -86.238200 41.978603 -87.904842
2616 30.691231 -88.242814 41.978603 -87.904842
2622 25.778489 -100.106878 41.978603 -87.904842
2625 25.038958 -77.466231 41.978603 -87.904842
2629 20.898650 -156.430458 41.978603 -87.904842
2644 7.180756 79.884117 51.477500 -0.461389
2645 7.180756 79.884117 40.080111 116.584556
2646 7.180756 79.884117 31.143378 121.805214
2648 6.284467 81.124128 40.080111 116.584556
2649 6.284467 81.124128 31.143378 121.805214
2650 23.593278 58.284444 47.464722 8.549167
2659 55.591531 37.261486 43.677223 -79.630556
2783 16.043917 108.199370 31.143378 121.805214
2817 53.047500 8.786667 47.464722 8.549167
2818 52.134642 7.684831 47.464722 8.549167
2819 35.416111 51.152222 31.143378 121.805214
2843 33.679750 -78.928333 43.677223 -79.630556
2851 18.439417 -66.001833 43.677223 -79.630556
2853 18.040953 -63.108900 43.677223 -79.630556
2860 49.956112 -119.377778 43.677223 -79.630556
2877 38.292392 27.156953 48.110278 16.569722
2878 38.292392 27.156953 47.464722 8.549167
2885 42.359392 19.251894 47.464722 8.549167
# globejs(lat=ll[, 1], long=ll[, 2], arcs=frequent_flights,
#         bodycolor="#aaaaff", arcsHeight=0.3, arcsLwd=2,
#         arcsColor="#ffff00", arcsOpacity=0.15,
#         atmosphere=TRUE, color="#00aaff", pointsize=0.5)

# Get a nice image of the globe from NASA
earth <- "http://eoimages.gsfc.nasa.gov/images/imagerecords/73000/73909/world.topo.bathy.200412.3x5400x2700.jpg"

globejs(
  lat = frequent_flights$dest_lat,
  long = frequent_flights$dest_long,
  arcs = frequent_flights,
  #value = frequent_destinations$n,
  color = "red",
  #bodycolor = "#aaaaff",
  arcsHeight = 0.3,
  arcsLwd = 2,
  arcsColor = "#ffff00",
  arcsOpacity = 0.15,
  atmosphere = FALSE,
  #color="#00aaff",
  pointsize = 2,
  rotationlat = 0.6,
  rotationlong = 0.2,
  # lightcolor = "#aaeeff",
  # emissive = "#0000ee",
  # bodycolor = "#ffffff",
  bg = "grey"
        )

Using scatterplot3js and friends

3D scatter plots with points and lines can be achieved using scatterplot3js, points3D, and lines3D.

library(palmerpenguins)
penguins <- penguins %>% drop_na()
scatterplot3js(x = penguins$bill_length_mm, 
               y = penguins$flipper_length_mm, 
               z = penguins$body_mass_g)
library(palmerpenguins)
penguins <- penguins %>% drop_na()
scatterplot3js(x = penguins$bill_length_mm, 
               y = penguins$flipper_length_mm, 
               z = penguins$body_mass_g,
               cex.symbols = 0.2) # Smaller Points
library(palmerpenguins)
penguins <- penguins %>% drop_na()

scatterplot3js(x = penguins$bill_length_mm, 
               y = penguins$flipper_length_mm, 
               z = penguins$body_mass_g,
               cex.symbols = 0.2) %>%  # Smaller Points
lines3d(from = penguins$bill_length_mm, 
        to = penguins$flipper_length_mm, 
        color = "blue")

Using leaflet

leaflet allows one to create interactive maps with very simple and intuitive code. leaflet also includes access to many “base maps” that can change the look and feel of the map itself, which can be very useful ( e.g. night mode maps). Information on how to use leaflet is available at http://rstudio.github.io/leaflet/

leaflet() %>% 
  addTiles() %>% 
  setView(lng = 77, lat = 18, zoom = 4)
LS0tDQphdXRob3I6ICJBcnZpbmQgVmVua2F0YWRyaSINCmRhdGU6ICdgciBmb3JtYXQoU3lzLkRhdGUoKSlgJw0KdGl0bGU6IFVzaW5nIGh0bWx3aWRnZXRzLCBjcm9zc3RhbGssIGFuZCBlY2hhcnRzNHINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0aGVtZTogZmxhdGx5DQogICAgdG9jOiB0cnVlDQogICAgY29kZV9mb2xkaW5nOiBzaG93DQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIGhpZ2hsaWdodDogdGFuZ28NCmtleXdvcmRzOiBlY2hhcnRzNHINCnN1YmplY3Q6IGh0bWx3aWRnZXRzDQphYnN0cmFjdDogVXNpbmcgaHRtbHdpZGdldHMgcGFja2FnZSBhbmQgY2hlY2sgb3V0IGl0cyBjYXBhYmlsaXRpZXMsIGVzcGVjaWFsbHkgbWFwcy4gQWxzbyB3YW50IHRvIHVzZSBjcm9zc3RhbGsgdG8gbGluayBkaWZmZXJlbnQgdmlzdWFsaXphdGlvbnMgdG9nZXRoZXINCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZSA9IEZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KIyBEYXRhIG1hbmlwdWxhdGlvbiBhbmQgZGF0YSBzb3VyY2VzDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkodGlkeWdyYXBoKQ0KbGlicmFyeShpZ3JhcGgpDQpsaWJyYXJ5KHBhbG1lcnBlbmd1aW5zKQ0KbGlicmFyeShpZ3JhcGhkYXRhKQ0KDQojIGh0bWx3aWRnZXQgcmVsYXRlZCBsaWJyYXJpZXMNCmxpYnJhcnkoaHRtbHdpZGdldHMpDQpsaWJyYXJ5KGNyb3NzdGFsaykNCg0KIyBXaWRnZXQgTGlicmFyaWVzDQpsaWJyYXJ5KGxlYWZsZXQpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkoRFQpDQpsaWJyYXJ5KGVjaGFydHM0cikNCmxpYnJhcnkocmdsKQ0KbGlicmFyeShuZXR3b3JrRDMpDQpsaWJyYXJ5KHRocmVlanMpDQpsaWJyYXJ5KHNsaWNrUikNCiMgTGlua2FibGUgd2lkZ2V0cyBpbiBjcm9zc3RhbGsgLSBnaXRodWIgcmVwbyBvbmx5DQojZGV2dG9vbHM6Omluc3RhbGxfZ2l0aHViKCJrZW50Mzcvc3VtbWFyeXdpZGdldCIpDQpsaWJyYXJ5KHN1bW1hcnl3aWRnZXQpDQoNCmBgYA0KDQojIyBSZWZlcmVuY2VzDQoNCjEuIDxodHRwczovL3d3dy5odG1sd2lkZ2V0cy5vcmcvaW5kZXguaHRtbD4NCjIuIFRoZSB0aHJlZWpzIHBhY2thZ2U6IHRocmVlLmpzIHdpZGdldHMgZm9yIFIgPGh0dHBzOi8vYndsZXdpcy5naXRodWIuaW8vcnRocmVlanMvPg0KDQoNCiMjIGBodG1sd2lkZ2V0c2AgdXNhZ2UNCg0KYGh0bWx3aWRnZXRzYCBjcmVhdGVzLCB3ZWxsLCB3aWRnZXRzLCB0aGF0IGNhbiB2aXN1YWxpemUgZGF0YSBpbiBtYW55IHdheXMuIEhUTUwgd2lkZ2V0cyB3b3JrIGp1c3QgbGlrZSBSIHBsb3RzIGV4Y2VwdCB0aGV5IHByb2R1Y2UgaW50ZXJhY3RpdmUgd2ViIHZpc3VhbGl6YXRpb25zLiBUaGVzZSBjYW4gYmUgdXNlZCBpbiBgUk1hcmtkb3duYCwgaW4gYGZsZXhkYXNoYm9hcmRzYCwgYW5kIGluIGBzaGlueWAgYXBwcy4gDQoNCkFsbCB0aGUgcG9zc2libGUgd2lkZ2V0cyAoIDEyNyBvZiB0aGVtIG9uIENSQU4gKSBhcmUgbGlzdGVkIGhlcmU6IDxodHRwczovL2dhbGxlcnkuaHRtbHdpZGdldHMub3JnLz4NCg0KU29tZSBwYWNrYWdlcyB0aGF0IG9mZmVyIHdpZGdldHMgZm9yIHVzZSBpbiBgaHRtbHdpZGdldHNgOiAgDQoNCjEuIGBuZXR3b3JrRDNgOiANCiAgLSBGb3JjZSBkaXJlY3RlZCBuZXR3b3JrcyB3aXRoIGBzaW1wbGVOZXR3b3JrYCBhbmQgYGZvcmNlTmV0d29ya2ANCiAgLSBTYW5rZXkgZGlhZ3JhbXMgd2l0aCBgc2Fua2V5TmV0d29ya2ANCiAgLSBSYWRpYWwgbmV0d29ya3Mgd2l0aCBgcmFkaWFsTmV0d29ya2ANCiAgLSBEZW5kcm8gbmV0d29ya3Mgd2l0aCBgZGVuZHJvTmV0d29ya2ANCg0KIyMjIFVzaW5nIGBuZXR3b3JrRDNgDQoNCmBgYHtyIG5ldHdvcmtEM30NCmxpYnJhcnkobmV0d29ya0QzKQ0KZGF0YSgia2FyYXRlIikNCg0KIyBNYWtlIHNlcGFyYXRlIGRhdGEgZnJhbWVzIGZvciBlZGdlcyBhbmQgbm9kZXMNCiMgbmV0d29ya0QzIG5lZWRzIGluZGljZXMgc3RhcnRpbmcgZnJvbSAxDQprYXJhdGVfZWRnZXMgPC0ga2FyYXRlICU+JSANCiAgYXNfdGJsX2dyYXBoKCkgJT4lIA0KICB0aWR5Z3JhcGg6OmFjdGl2YXRlKGVkZ2VzKSAlPiUgDQogIGFzLmRhdGEuZnJhbWUoKSAlPiUgDQogIGRwbHlyOjptdXRhdGUoc291cmNlID0gZnJvbSAtIDEsIHRhcmdldCA9IHRvIC0gMSkgJT4lIA0KICByZW5hbWUodmFsdWUgPSB3ZWlnaHQpICU+JSANCiAgc2VsZWN0KHNvdXJjZSwgdGFyZ2V0LCB2YWx1ZSkNCmthcmF0ZV9lZGdlcyAlPiUgaGVhZCgpICU+JSBrbml0cjo6a2FibGUoKQ0KDQprYXJhdGVfbm9kZXMgPC0ga2FyYXRlICU+JSANCiAgYXNfdGJsX2dyYXBoKCkgJT4lIA0KICB0aWR5Z3JhcGg6OmFjdGl2YXRlKG5vZGVzKSAlPiUgDQogIGFzLmRhdGEuZnJhbWUoKSAlPiUgDQogIGRwbHlyOjptdXRhdGUoZ3JvdXAgPSBhcy5jaGFyYWN0ZXIoRmFjdGlvbikpICU+JSANCiAgc2VsZWN0KG5hbWUsIGxhYmVsLCBncm91cCwgY29sb3IpDQprYXJhdGVfbm9kZXMgJT4lIGhlYWQoKSAlPiUga25pdHI6OmthYmxlKCkNCg0Kc2ltcGxlTmV0d29yayhrYXJhdGVfZWRnZXMsIGNoYXJnZSA9IC01MCwgDQogICAgICAgICAgICAgIGZvbnRTaXplID0gMTIsIHpvb20gPSBGQUxTRSwgZm9udEZhbWlseSA9ICJzZXJpZiIpDQoNCmBgYA0KDQpgYGB7ciBmb3JjZU5ldHdvcmt9DQpmb3JjZU5ldHdvcmsoTGlua3MgPSBrYXJhdGVfZWRnZXMsIA0KICAgICAgICAgICAgIE5vZGVzID0ga2FyYXRlX25vZGVzLCANCiAgICAgICAgICAgICBWYWx1ZSA9ICJ2YWx1ZSIsICMgd2lkdGggb2YgZWRnZXMsIGRibA0KICAgICAgICAgICAgIE5vZGVJRCA9ICJuYW1lIiwgIyBjaHINCiAgICAgICAgICAgICBHcm91cCA9ICJncm91cCIsICMgTm9kZSBncm91cCwgY2hyDQogICAgICAgICAgICAgIyBOb2Rlc2l6ZSA9ICJsYWJlbCIgIyBjaHIgISEhDQogICAgICAgICAgICAgIyBsaW5rQ29sb3VyID0gInZhbHVlIg0KICAgICAgICAgICAgICkNCg0KDQoNCmBgYA0KDQoNCiMjIyBDcmVhdGluZyBhIFNhbmtleSBEaWFncmFtLiANCg0KDQpgYGB7ciBzYW5rZXlOZXR3b3JrfQ0KVUNCX2dyYXBoIDwtDQogIFVDQkFkbWlzc2lvbnMgJT4lIA0KICBhcy5kYXRhLmZyYW1lKCkgJT4lIA0KICBzZWxlY3QoR2VuZGVyLCBBZG1pdCwgRGVwdCwgRnJlcSkgJT4lIA0KICBhc190YmxfZ3JhcGgoKQ0KVUNCX2dyYXBoDQoNClVDQl9ub2RlcyA8LSBVQ0JfZ3JhcGggJT4lIGFjdGl2YXRlKG5vZGVzKSAlPiUgYXNfdGliYmxlKCkNClVDQl9ub2Rlcw0KDQpVQ0JfbGlua3MgPC0gVUNCX2dyYXBoICU+JSANCiAgYWN0aXZhdGUoZWRnZXMpICU+JSANCiAgYXNfdGliYmxlKCkgJT4lDQogIGRwbHlyOjptdXRhdGUoZnJvbSA9IGZyb20gLSAxLCB0byA9IHRvIC0gMSkNClVDQl9saW5rcw0KDQpzYW5rZXlOZXR3b3JrKA0KICBMaW5rcyA9IFVDQl9saW5rcywNCiAgTm9kZXMgPSBVQ0Jfbm9kZXMsDQogIFNvdXJjZSA9ICJmcm9tIiwNCiAgVGFyZ2V0ID0gInRvIiwNCiAgVmFsdWUgPSAiRnJlcSIsDQogIExpbmtHcm91cCA9ICJEZXB0IiwNCiAgZm9udFNpemUgPSAyMCwNCiAgZm9udEZhbWlseSA9ICJBcmlhbCINCikNCmBgYA0KDQpgc2ltcGxlTmV0d29ya2AsIGBmb3JjZU5ldHdvcmtgIGFuZCBgc2Fua2V5TmV0d29ya2AgdXNlIGEgc2ltaWxhciBgbm9kZWAgYW5kIGBsaW5rYCBkYXRhIHN0cnVjdHVyZSwgb3JnYW5pemVkIGFzIHR3byAqKmRhdGEgZnJhbWVzKiogKG5vdCB0aWJibGVzKQ0KDQpgIGNob3JkTmV0d29ya2AgdXNlcyBhbiAqYXNzb2NpYXRpb24gbWF0cml4KiB0eXBlIG9mIG1hdHJpeCBvciBhIGRhdGEgZnJhbWUgb3JnYW5pemVkIGluIHRoZSBzYW1lIHdheSwgd2hlcmUgZW50cnkgKG4sbSkgcmVwcmVzZW50cyB0aGUgc3RyZW5ndGggb2YgdGhlIGxpbmsgZnJvbSBncm91cCBuIHRvIGdyb3VwIG0uIE1hdHJpeCBuZWVkcyB0byBiZSAqKnNxdWFyZSoqICEhICJDb2x1bW4gbmFtZXMiIGFuZCAiUm93IG5hbWVzIiBuZWVkIHRvIGJlIHRoZSBzYW1lIGlmIHRoZSBkYXRhIGlzIGEgYGRhdGEuZnJhbWVgLg0KDQpgYGB7ciBjaG9yZE5ldHdvcmt9DQpkYXRhIDwtIG1hdHJpeChycG9pcyhuID0gMTYsIGxhbWJkYSA9IDUwKSwgbnJvdyA9IDQsIG5jb2wgPSA0KQ0KY2hvcmROZXR3b3JrKGRhdGEsDQogICAgICAgICAgICAgbGFiZWxzID0gYygiQSIsICJCIiwgIkMiLCAiRCIpKQ0KDQpgYGANCg0KDQoNCg0KIyMgVXNpbmcgdGhyZWVqcw0KDQoxLiA8aHR0cHM6Ly9id2xld2lzLmdpdGh1Yi5pby9ydGhyZWVqcy8+DQoyLiA8aHR0cHM6Ly9id2xld2lzLmdpdGh1Yi5pby9ydGhyZWVqcy9jcm9zc3RhbGsuaHRtbD4NCg0KIyMjIGBncmFwaGpzYCB1c2FnZQ0KDQpgYGB7cn0NCmRhdGEoIkxlTWlzIikgIyBpZ3JhcGggb2JqZWN0DQpMZU1pcw0KVihMZU1pcykkbGFiZWwNClYoTGVNaXMpJGNvbG9yDQpncmFwaGpzKExlTWlzLA0KICAgIGxheW91dD1saXN0KCAjIGFuaW1hdGVzIGJldHdlZW4gYSBsaXN0IG9mIGxheW91dHMNCiAgICAgICMgbGF5b3V0cyBuZWVkIHRvIGJlIDNEIGxheW91dHMNCiAgICAgICMgT3IgZWFjaCBjYW4gYmUgYSAzIGNvbHVtbiBtYXRyaXggd2l0aCBuKHJvd3MpID0gbih2ZXJ0aWNlcykNCiAgICAjbGF5b3V0X3JhbmRvbWx5KExlTWlzLCBkaW09MyksDQogICAgI2xheW91dF9vbl9zcGhlcmUoTGVNaXMpLA0KICAgIGxheW91dF93aXRoX2RybChMZU1pcywgZGltPTMpICAjIG5vdGUhIHNvbWV3aGF0IHNsb3cuLi4NCiAgICAjbGF5b3V0X3dpdGhfZnIoTGVNaXMsIGRpbT0zLCBuaXRlcj0zMCkNCiAgICApLA0KICBtYWluPWxpc3QoInJhbmRvbSBsYXlvdXQiLCAic3BoZXJlIGxheW91dCIsICJkcmwgbGF5b3V0IiwgImZyIGxheW91dCIpLA0KICBmcGw9MzAwKQ0KDQpgYGANCg0KDQojIyBgZ2xvYmVqc2AgdXNhZ2UNClBsb3QgcG9pbnRzLCBhcmNzIGFuZCBpbWFnZXMgb24gYSBnbG9iZSBpbiAzRCB1c2luZyBUaHJlZS5qcy4gVGhlIGdsb2JlIGNhbiBiZSByb3RhdGVkIGFuZCBhbmQgem9vbWVkLiBHcmVhdCBDaXJjbGVzIGFuZCBoaXN0b3JpY2FsIHJvdXRlcyBhcmUgYSBnb29kIGlkZWEgZm9yIHRoaXMgcGVyaGFwcy4NCg0KUmVmZXIgdG8gdGhpcyBwYWdlIGZvciBtb3JlIGlkZWFzIDxodHRwOi8vYndsZXdpcy5naXRodWIuaW8vcnRocmVlanMvZ2xvYmVqcy5odG1sPg0KDQpgYGB7cn0NCiMgUmFuZG9tIExhdHMgYW5kIExvbmdzDQpsYXQgPC0gcnBvaXMoMTAsIDYwKSArIHJub3JtKDEwLCA4MCkNCmxvbmcgPC0gcnBvaXMoMTAsIDYwKSArIHJub3JtKDEwLCAxMCkNCg0KIyBSYW5kb20gIlNwaWtlIiBoZWlnaHRzIGZvciBlYWNoIGxvY2F0aW9uLiBQb3B1bGF0aW9uPyBUb3VyaXN0cz8gR0RQPw0KdmFsdWUgPC0gcnBvaXMoMTAsIGxhbWJkYSA9IDgwKQ0KIA0KZ2xvYmVqcyhsYXQgPSBsYXQsIGxvbmcgPSBsb25nKQ0KDQpnbG9iZWpzKA0KICBsYXQgPSBsYXQsDQogIGxvbmcgPSBsb25nLA0KICANCiAgIyByYW5kb20gaGVpZ2h0cyBvZiB0aGUgU3Bpa2VzICghISkgYXQgbGF0LWxvbmcgY29tYm8NCiAgdmFsdWUgPSB2YWx1ZSwNCiAgY29sb3IgPSAicmVkIiwNCiAgIyBab29tIGZhY3RvciwgZGVmYXVsdCBpcyAzNQ0KICBmb3YgPSA1MA0KKQ0KDQpnbG9iZWpzKA0KICBsYXQgPSBsYXQsDQogIGxvbmcgPSBsb25nLA0KICB2YWx1ZSA9IHZhbHVlLA0KICBjb2xvciA9ICJyZWQiLA0KICBwb2ludHNpemUgPSA0LCAjIHdpZHRoIG9mIHRoZSBjb2x1bW5zDQogICMgWm9vbSBwb3NpdGlvbg0KICBmb3YgPSAzNSwNCiAgIyBpbml0aWFsIHBvc2l0aW9uIG9mIHRoZSBnbG9iZQ0KICByb3RhdGlvbmxhdCA9IDAuNiwgIyAgaW4gUkFESUFOUyAhISEgR29vZCBIZWF2ZW5zISENCiAgcm90YXRpb25sb25nID0gMC4yICMgIGluIFJBRElBTlMgISEhIEdvb2QgSGVhdmVucyEhDQopDQoNCmdsb2JlanMoDQogIGxhdCA9IGxhdCwNCiAgbG9uZyA9IGxvbmcsDQogIHZhbHVlID0gdmFsdWUsDQogIGNvbG9yID0gInJlZCIsDQogIHBvaW50c2l6ZSA9IDQsDQogIGZvdiA9IDM1LA0KICByb3RhdGlvbmxhdCA9IDAuNiwNCiAgcm90YXRpb25sb25nID0gMC4yLA0KICBsaWdodGNvbG9yID0gIiNhYWVlZmYiLA0KICBlbWlzc2l2ZSA9ICIjMDAwMGVlIiwNCiAgYm9keWNvbG9yID0gIiNmZmZmZmYiLA0KICBiZyA9ICJncmV5Ig0KKQ0KDQpgYGANCg0KDQpgYGB7cn0NCiMgUGxvdHRpbmcgYXJjcyBvbiB0aGUgZ2xvYmUNCiMgUmVxdWlyZXMgNCBjb2x1bW4gZGF0YSBmcmFtZSBmb3Igc3RhcnQgYW5kIGVuZCBsYXQgYW5kIGxvbmcNCg0KYXJjcyA8LSBkYXRhLmZyYW1lKHN0YXJ0X2xhdCA9IHJ1bmlmKDEwLCBtaW4gPSAtMjAsIG1heCA9IDIwKSwgDQogICAgICAgICAgICAgICAgICAgc3RhcnRfbG9uID0gcnVuaWYoMTAsIG1pbiA9IC0yMCwgbWF4ID0gMjApLCANCiAgICAgICAgICAgICAgICAgICBlbmRfbGF0ID0gcnVuaWYoMTAsIG1pbiA9IC0yMCwgbWF4ID0gMjApLA0KICAgICAgICAgICAgICAgICAgIGVuZF9sb24gPSBydW5pZigxMCwgbWluID0gLTIwLCBtYXggPSAyMCkgKyA2MCkNCmFyY3MNCg0KZ2xvYmVqcyhhcmNzID0gYXJjcywNCiAgICAgICAgYXJjc0NvbG9yID0gImdvbGQiLA0KICAgICAgICBhcmNzTHdkID0gNCwNCiAgICAgICAgYXJjc0hlaWdodCA9IDAuNiwNCiAgICAgICAgcm90YXRpb25sYXQgPSAwLA0KICAgICAgICByb3RhdGlvbmxvbmcgPSAtMi4yKQ0KYGBgDQoNCmB0aHJlZWpzYCBjb250YWlucyBhIGRhdGFzZXQgY2FsbGVkIGBmbGlnaHRzYCBvYnRhaW5lZCBmcm9tIENhbGx1bSBQcmVudGljZSdzIEZsaWdodFN0cmVhbSBwYWdlOg0KPCBodHRwOi8vY2FsbHVtcHJlbnRpY2UuZ2l0aHViLmlvL2FwcHMvZmxpZ2h0X3N0cmVhbS9pbmRleC5odG1sPiANCg0KYGBge3J9DQpkYXRhKCJmbGlnaHRzIixwYWNrYWdlID0gInRocmVlanMiKQ0KZmxpZ2h0cyAlPiUgaGVhZCgpDQoNCiMgRXhhbXBsZSBDb2RlDQojIGRlc3QgICA8LSBmYWN0b3Ioc3ByaW50ZigiJS4yZjolLjJmIixmbGlnaHRzWywzXSwgZmxpZ2h0c1ssNF0pKQ0KIyBkZXN0DQojIGZyZXEgPC0gc29ydCh0YWJsZShkZXN0KSwgZGVjcmVhc2luZz1UUlVFKQ0KIyBmcmVxDQpmcmVxdWVudF9kZXN0aW5hdGlvbnMgPC0NCiAgZmxpZ2h0cyAlPiUgZ3JvdXBfYnkoZGVzdF9sYXQsIGRlc3RfbG9uZykgJT4lIA0KICBjb3VudChzb3J0ID0gVFJVRSkgJT4lIA0KICB1bmdyb3VwKCkgJT4lIA0KICBzbGljZV9tYXgobiA9IDEwLCBvcmRlcl9ieSA9IG4pDQpmcmVxdWVudF9kZXN0aW5hdGlvbnMNCg0KIyBpZHggPC0gZGVzdCAlaW4lIGZyZXF1ZW50X2Rlc3RpbmF0aW9ucw0KIyBmcmVxdWVudF9mbGlnaHRzIDwtIGZsaWdodHNbaWR4LCBdDQojIGxsIDwtIHVuaXF1ZShmcmVxdWVudF9mbGlnaHRzWywzOjRdKQ0KZnJlcXVlbnRfZmxpZ2h0cyA8LSBmbGlnaHRzICU+JSANCiAgc2VtaV9qb2luKGZyZXF1ZW50X2Rlc3RpbmF0aW9ucyxieSA9IGMoImRlc3RfbGF0IiA9ICJkZXN0X2xhdCIsICJkZXN0X2xvbmciID0gImRlc3RfbG9uZyIpKSAlPiUgdW5pcXVlKCkgDQoNCmZyZXF1ZW50X2ZsaWdodHMgJT4lIA0KICBrYWJsZUV4dHJhOjprYmwoKSAlPiUNCiAga2FibGVFeHRyYTo6a2FibGVfcGFwZXIoZnVsbF93aWR0aCA9IFRSVUUpICU+JQ0KICBrYWJsZUV4dHJhOjprYWJsZV9zdHlsaW5nKGJvb3RzdHJhcF9vcHRpb25zID0gYygic3RyaXBlZCIsICJjb25kZW5zZWQiLCAicmVzcG9uc2l2ZSIpKSAlPiUNCiAga2FibGVFeHRyYTo6c2Nyb2xsX2JveCh3aWR0aCA9ICI3MDBweCIsIGhlaWdodCA9ICI1MDBweCIpDQoNCg0KIyBnbG9iZWpzKGxhdD1sbFssIDFdLCBsb25nPWxsWywgMl0sIGFyY3M9ZnJlcXVlbnRfZmxpZ2h0cywNCiMgICAgICAgICBib2R5Y29sb3I9IiNhYWFhZmYiLCBhcmNzSGVpZ2h0PTAuMywgYXJjc0x3ZD0yLA0KIyAgICAgICAgIGFyY3NDb2xvcj0iI2ZmZmYwMCIsIGFyY3NPcGFjaXR5PTAuMTUsDQojICAgICAgICAgYXRtb3NwaGVyZT1UUlVFLCBjb2xvcj0iIzAwYWFmZiIsIHBvaW50c2l6ZT0wLjUpDQoNCiMgR2V0IGEgbmljZSBpbWFnZSBvZiB0aGUgZ2xvYmUgZnJvbSBOQVNBDQplYXJ0aCA8LSAiaHR0cDovL2VvaW1hZ2VzLmdzZmMubmFzYS5nb3YvaW1hZ2VzL2ltYWdlcmVjb3Jkcy83MzAwMC83MzkwOS93b3JsZC50b3BvLmJhdGh5LjIwMDQxMi4zeDU0MDB4MjcwMC5qcGciDQoNCmdsb2JlanMoDQogIGxhdCA9IGZyZXF1ZW50X2ZsaWdodHMkZGVzdF9sYXQsDQogIGxvbmcgPSBmcmVxdWVudF9mbGlnaHRzJGRlc3RfbG9uZywNCiAgYXJjcyA9IGZyZXF1ZW50X2ZsaWdodHMsDQogICN2YWx1ZSA9IGZyZXF1ZW50X2Rlc3RpbmF0aW9ucyRuLA0KICBjb2xvciA9ICJyZWQiLA0KICAjYm9keWNvbG9yID0gIiNhYWFhZmYiLA0KICBhcmNzSGVpZ2h0ID0gMC4zLA0KICBhcmNzTHdkID0gMiwNCiAgYXJjc0NvbG9yID0gIiNmZmZmMDAiLA0KICBhcmNzT3BhY2l0eSA9IDAuMTUsDQogIGF0bW9zcGhlcmUgPSBGQUxTRSwNCiAgI2NvbG9yPSIjMDBhYWZmIiwNCiAgcG9pbnRzaXplID0gMiwNCiAgcm90YXRpb25sYXQgPSAwLjYsDQogIHJvdGF0aW9ubG9uZyA9IDAuMiwNCiAgIyBsaWdodGNvbG9yID0gIiNhYWVlZmYiLA0KICAjIGVtaXNzaXZlID0gIiMwMDAwZWUiLA0KICAjIGJvZHljb2xvciA9ICIjZmZmZmZmIiwNCiAgYmcgPSAiZ3JleSINCiAgICAgICAgKQ0KYGBgDQoNCiMjIFVzaW5nIGBzY2F0dGVycGxvdDNqc2AgYW5kIGZyaWVuZHMNCg0KM0Qgc2NhdHRlciBwbG90cyB3aXRoIHBvaW50cyBhbmQgbGluZXMgY2FuIGJlIGFjaGlldmVkIHVzaW5nIGBzY2F0dGVycGxvdDNqc2AsIGBwb2ludHMzRGAsIGFuZCBgbGluZXMzRGAuIA0KDQpgYGB7cn0NCmxpYnJhcnkocGFsbWVycGVuZ3VpbnMpDQpwZW5ndWlucyA8LSBwZW5ndWlucyAlPiUgZHJvcF9uYSgpDQpzY2F0dGVycGxvdDNqcyh4ID0gcGVuZ3VpbnMkYmlsbF9sZW5ndGhfbW0sIA0KICAgICAgICAgICAgICAgeSA9IHBlbmd1aW5zJGZsaXBwZXJfbGVuZ3RoX21tLCANCiAgICAgICAgICAgICAgIHogPSBwZW5ndWlucyRib2R5X21hc3NfZykNCg0KYGBgDQoNCg0KDQpgYGB7cn0NCmxpYnJhcnkocGFsbWVycGVuZ3VpbnMpDQpwZW5ndWlucyA8LSBwZW5ndWlucyAlPiUgZHJvcF9uYSgpDQpzY2F0dGVycGxvdDNqcyh4ID0gcGVuZ3VpbnMkYmlsbF9sZW5ndGhfbW0sIA0KICAgICAgICAgICAgICAgeSA9IHBlbmd1aW5zJGZsaXBwZXJfbGVuZ3RoX21tLCANCiAgICAgICAgICAgICAgIHogPSBwZW5ndWlucyRib2R5X21hc3NfZywNCiAgICAgICAgICAgICAgIGNleC5zeW1ib2xzID0gMC4yKSAjIFNtYWxsZXIgUG9pbnRzDQoNCmBgYA0KDQoNCg0KYGBge3J9DQpsaWJyYXJ5KHBhbG1lcnBlbmd1aW5zKQ0KcGVuZ3VpbnMgPC0gcGVuZ3VpbnMgJT4lIGRyb3BfbmEoKQ0KDQpzY2F0dGVycGxvdDNqcyh4ID0gcGVuZ3VpbnMkYmlsbF9sZW5ndGhfbW0sIA0KICAgICAgICAgICAgICAgeSA9IHBlbmd1aW5zJGZsaXBwZXJfbGVuZ3RoX21tLCANCiAgICAgICAgICAgICAgIHogPSBwZW5ndWlucyRib2R5X21hc3NfZywNCiAgICAgICAgICAgICAgIGNleC5zeW1ib2xzID0gMC4yKSAlPiUgICMgU21hbGxlciBQb2ludHMNCmxpbmVzM2QoZnJvbSA9IHBlbmd1aW5zJGJpbGxfbGVuZ3RoX21tLCANCiAgICAgICAgdG8gPSBwZW5ndWlucyRmbGlwcGVyX2xlbmd0aF9tbSwgDQogICAgICAgIGNvbG9yID0gImJsdWUiKQ0KDQpgYGANCg0KDQoNCiMgVXNpbmcgYGxlYWZsZXRgDQoNCmBsZWFmbGV0YCBhbGxvd3Mgb25lIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBtYXBzIHdpdGggdmVyeSBzaW1wbGUgYW5kIGludHVpdGl2ZSBjb2RlLiBgbGVhZmxldGAgYWxzbyBpbmNsdWRlcyBhY2Nlc3MgdG8gbWFueSAiYmFzZSBtYXBzIiB0aGF0IGNhbiBjaGFuZ2UgdGhlIGxvb2sgYW5kIGZlZWwgb2YgdGhlIG1hcCBpdHNlbGYsIHdoaWNoIGNhbiBiZSB2ZXJ5IHVzZWZ1bCAoIGUuZy4gbmlnaHQgbW9kZSBtYXBzKS4gSW5mb3JtYXRpb24gb24gaG93IHRvIHVzZSBgbGVhZmxldGAgaXMgYXZhaWxhYmxlIGF0IDxodHRwOi8vcnN0dWRpby5naXRodWIuaW8vbGVhZmxldC8+DQoNCmBgYHtyfQ0KbGVhZmxldCgpICU+JSANCiAgYWRkVGlsZXMoKSAlPiUgDQogIHNldFZpZXcobG5nID0gNzcsIGxhdCA9IDE4LCB6b29tID0gNCkNCmBgYA0KDQo=