Visibility Graph Analysis
library(alcyon)
galleryMap <- st_read(
system.file(
"extdata", "testdata", "gallery",
"gallery_lines.mif",
package = "alcyon"
),
geometry_column = 1L, quiet = TRUE
)
pointMap <- makeVGAPointMap(
galleryMap,
fillX = 3.01,
fillY = 6.7,
gridSize = 0.06
)
plot(pointMap["Connectivity"])
linkedPointMap <- linkCoords(pointMap, 1.74, 6.7, 5.05, 5.24)
vgaMap <- allToAllTraverse(
pointMap,
traversalType = TraversalType$Metric,
radii = -1,
radiusTraversalType = TraversalType$None
)
plot(vgaMap["Metric Mean Shortest-Path Angle"])
vgaMap <- allToAllTraverse(
vgaMap,
traversalType = TraversalType$Angular,
radii = -1,
radiusTraversalType = TraversalType$None
)
plot(vgaMap["Angular Mean Depth"])
vgaMap <- allToAllTraverse(
vgaMap,
traversalType = TraversalType$Topological,
radii = -1,
radiusTraversalType = TraversalType$None
)
plot(vgaMap["Visual Integration [HH]"])
vgaMap <- vgaThroughVision(vgaMap)
plot(vgaMap["Through vision"])
vgaMap <- vgaVisualLocal(vgaMap, FALSE)
plot(vgaMap["Visual Control"])
boundaryMap <- as(galleryMap[, vector()], "ShapeMap")
vgaMap <- vgaIsovist(vgaMap, boundaryMap)
plot(vgaMap["Isovist Area"])
vgaMap <- oneToAllTraverse(
vgaMap,
traversalType = TraversalType$Metric,
fromX = 3.01,
fromY = 6.7
)
plot(vgaMap["Metric Step Shortest-Path Angle"])
vgaMap <- oneToAllTraverse(
vgaMap,
traversalType = TraversalType$Angular,
fromX = 3.01,
fromY = 6.7
)
plot(vgaMap["Angular Step Depth"])
vgaMap <- oneToAllTraverse(
vgaMap,
traversalType = TraversalType$Topological,
fromX = 3.01,
fromY = 6.7
)
plot(vgaMap["Visual Step Depth"])
vgaMap <- oneToOneTraverse(
vgaMap,
traversalType = TraversalType$Topological,
fromX = 4.86,
fromY = 5.25,
toX = 1.27,
toY = 7.60
)
nuv <- length(unique(unlist(vgaMap["Visual Shortest Path"])))
plot(vgaMap["Visual Shortest Path"],
breaks = "equal",
nbreaks = nuv,
col = c("lightgray", depthmap.axmanesque.colour(nuv - 2))
)
vgaMap <- oneToOneTraverse(
vgaMap,
traversalType = TraversalType$Topological,
fromX = 4.86,
fromY = 5.25,
toX = 1.27,
toY = 7.60
)
nuv <- length(unique(unlist(vgaMap["Visual Shortest Path Visual Zone"])))
plot(vgaMap["Visual Shortest Path Visual Zone"],
breaks = "equal",
nbreaks = nuv,
col = c("lightgray", depthmap.axmanesque.colour(nuv - 2))
)
vgaMap <- oneToOneTraverse(
vgaMap,
traversalType = TraversalType$Metric,
fromX = 4.86,
fromY = 5.25,
toX = 1.27,
toY = 7.60
)
nuv <- length(unique(unlist(vgaMap["Metric Shortest Path"])))
plot(vgaMap["Metric Shortest Path"],
breaks = "equal",
nbreaks = nuv,
col = c("lightgray", depthmap.axmanesque.colour(nuv - 2))
)
vgaMap <- oneToOneTraverse(
vgaMap,
traversalType = TraversalType$Angular,
fromX = 4.86,
fromY = 5.25,
toX = 1.27,
toY = 7.60
)
nuv <- length(unique(unlist(vgaMap["Angular Shortest Path"])))
plot(vgaMap["Angular Shortest Path"],
breaks = "equal",
nbreaks = nuv,
col = c("lightgray", depthmap.axmanesque.colour(nuv - 2))
)
vgaMap <- oneToOneTraverse(
vgaMap,
traversalType = TraversalType$Angular,
fromX = 4.86,
fromY = 5.25,
toX = 1.27,
toY = 7.60
)
nuv <- length(unique(unlist(vgaMap["Angular Shortest Path Metric Zone"])))
plot(vgaMap["Angular Shortest Path Metric Zone"],
breaks = "equal",
nbreaks = nuv,
col = c("lightgray", depthmap.classic.colour(nuv - 2))
)