Visibility Graph Analysis (VGA) is a key space syntax method for understanding how spatial configuration shapes human movement, but its reliance on all-pairs BFS computation limits practical application to small study areas. We present a system that combines three techniques to scale VGA to city-scale problems: (i) delta-compressed CSR storage using LEB128 varint encoding, which achieves ~4x compression and enables memory-mapped graphs exceeding available RAM; (ii) HyperBall, a probabilistic distance estimator based on HyperLogLog counter propagation, applied here for the first time to visibility graphs, reducing BFS complexity from O(N|E|) to O(D|E|2^p); and (iii) GPU-accelerated CUDA kernels with a fused decode-union kernel that streams the compressed graph via PCIe and performs LEB128 decoding entirely in shared memory. HyperBall's iteration count equals the topological depth limit, so the radius-n analysis that practitioners already use as standard translates directly into proportional speedup -- unlike depthmapX, whose BFS time is invariant to depth setting due to the small diameter of visibility graphs. Using depthmapX's own visibility algorithm (sparkSieve2) to ensure identical edge sets, our tool achieves a 239x end-to-end speedup at 42,705 cells and scales to 236,000 cells (4.8 billion edges) in 137 seconds -- problem sizes far beyond depthmapX's practical limit. At p=10, Visual Mean Depth achieves Pearson r=0.999 with 1.7% median relative error across 20 matched configurations.
翻译:可见性图分析(VGA)是空间句法中理解空间构型如何影响人类移动的关键方法,但其对全对BFS计算的依赖限制了该方法仅适用于小尺度研究区域。本文提出结合三项技术的系统,将VGA扩展至城市尺度问题:(i) 采用LEB128变长编码的增量压缩CSR存储,实现约4倍压缩率,并支持超出现有内存容量的内存映射图;(ii) 基于HyperLogLog计数器传播的概率距离估计器HyperBall,首次应用于可见性图,将BFS复杂度从O(N|E|)降至O(D|E|2^p);(iii) 采用融合解码-合并核的GPU加速CUDA内核,通过PCIe流式传输压缩图并在共享内存中完成LEB128解码。HyperBall的迭代次数等于拓扑深度限制,因此从业者标准使用的半径-n分析可直接转化为比例加速——与depthmapX不同,由于可见性图直径较小,其BFS时间不受深度设置影响。采用depthmapX自身的可见性算法(sparkSieve2)确保边集一致,本工具在42,705个单元上实现239倍端到端加速,并在137秒内扩展至236,000个单元(48亿条边)——远超depthmapX实际限制的规模。当p=10时,视觉平均深度在20组匹配构型中的皮尔逊相关系数r=0.999,中位相对误差1.7%。