ACM Books
Editors in Chief
Sanjiva Prasad, Indian Institute of Technology (IIT) Delhi, India
Marta Kwiatkowska, University of Oxford, UK
ACM Books is a new series of high-quality books for the computer science community, published by ACM. ACM Books publications are widely distributed in both print and digital formats through booksellers and to libraries (and library consortia) and individual ACM members via the ACM Digital Library platform.
From Algorithms to Thinking Machines: The New Digital Power
Domenico Talia, University of Calabria 2023
The Societal Impacts of Algorithmic Decision-Making
Manish Raghavan, Massachusetts Institute of Technology, Sloan School of Management and Department of Electrical Engineering and Computer Science 2023
Geospatial Data Science: A Hands-on Approach for Building
Geospatial Applications Using Linked Data Technologies
Editor: Manolis Koubarakis, National and Kapodistrian University of Athens, Greece 2023
Linking the World’s Information: Essays on Tim Berners-Lee’s Invention of the World Wide Web
Editors: Oshani Seneviratne, Rensselaer Polytechnic Institute
James Hendler, Rensselaer Polytechnic Institute 2023
Logic, Automata, and Computational Complexity: The Works of Stephen A. Cook
Editor: Bruce M. Kapron, University of Victoria 2023
Effective Theories in Programming Practice
Jayadev Misra, The University of Texas at Austin, TX, US 2023
Prophets of Computing: Visions of Society Transformed by Computing
Editor: Dick van Lente, Erasmus University Rotterdam 2022
On Monotonicity Testing and the 2-to-2 Games Conjecture
Dor Minzer, Tel Aviv University 2022
The Handbook on Socially Interactive Agents: 20 years of Research on Embodied Conversational Agents, Intelligent Virtual Agents, and Social Robotics Volume 2: Interactivity, Platforms, Application
Editors: Birgit Lugrin, Julius-Maximilians-Universität of Würzburg
Catherine Pelachaud, CNRS-ISIR, Sorbonne Université
David Traum, University of Southern California 2022
Spatial Gems, Volume 1
Editors: John Krumm, Microsoft Research, Microsoft Corporation, Redmond, WA, USA
Andreas Züfle, Geography and Geoinformation Science Department, George Mason University, Fairfax, VA, USA
Cyrus Shahabi, Computer Science Department, University of Southern California, Los Angeles, CA, USA 2022
Edsger Wybe Dijkstra: His Life, Work, and Legacy
Editors: Krzysztof R. Apt, CWI, Amsterdam and University of Warsaw
Tony Hoare, University of Cambridge and Microsoft Research Ltd 2022
Weaving Fire into Form: Aspirations for Tangible and Embodied Interaction
Brygg Ullmer, Clemson University
Orit Shaer, Wellesley College
Ali Mazalek, Toronto Metropolitan University
Caroline Hummels, Eindhoven University of Technology 2022
Linking the World’s Information: A Collection of Essays on the Work of Sir Tim Berners-Lee
Oshani Seneviratne, Rensselaer Polytechnic Institute
James A. Hendler, Rensselaer Polytechnic Institute 2022
Democratizing Cryptography: The Work of Whitfield Diffie and Martin Hellman
Editor: Rebecca Slayton, Cornell University 2022
Applied Affective Computing
Leimin Tian, Monash University
Sharon Oviatt, Monash University
Michal Muszynski, Carnegie Mellon University and University of Geneva
Brent C. Chamberlain, Utah State University
Jennifer Healey, Adobe Research, San Jose
Akane Sano, Rice University 2022
Circuits, Packets, and Protocols: Entrepreneurs and Computer Communications, 1968–1988
James L. Pelkey
Andrew L. Russell, SUNY Polytechnic Institute, New York
Loring G. Robbins 2022
Theories of Programming: The Life and Works of Tony Hoare
Editors: Cliff B. Jones, Newcastle University, UK
Jayadev Misra, The University of Texas at Austin, US 2021
Software: A Technical History
Kim W. Tracy, Rose-Hulman Institute of Technology, IN, USA 2021
The Handbook on Socially Interactive Agents: 20 years of Research on Embodied Conversational Agents, Intelligent Virtual Agents, and Social Robotics Volume 1: Methods, Behavior, Cognition
Editors: Birgit Lugrin, Julius-Maximilians-Universität of Würzburg
Catherine Pelachaud, CNRS-ISIR, Sorbonne Université
David Traum, University of Southern California 2021
Probabilistic and Causal Inference: The Works of Judea Pearl
Editors: Hector Geffner, ICREA and Universitat Pompeu Fabra
Rina Dechter, University of California, Irvine
Joseph Y. Halpern, Cornell University
Event Mining for Explanatory
Modeling
Laleh Jalali, University of California, Irvine (UCI), Hitachi America Ltd.
Ramesh Jain, University of California, Irvine (UCI) 2021
Intelligent Computing for Interactive System Design: Statistics, Digital Signal Processing, and Machine Learning in Practice
Editors: Parisa Eslambolchilar, Cardiff University, Wales, UK
Andreas Komninos, University of Patras, Greece
Mark Dunlop, Strathclyde University, Scotland, UK 2021
Semantic Web for the Working Ontologist: Effective Modeling for Linked Data, RDFS, and OWL, Third Edition
Dean Allemang, Working Ontologist LLC
Jim Hendler, Rensselaer Polytechnic Institute
Fabien Gandon, INRIA 2020
Code Nation: Personal Computing and the Learn to Program Movement in America
Michael J. Halvorson, Pacific Lutheran University 2020
Computing and the National Science Foundation, 1950–2016:
Building a Foundation for Modern Computing
Peter A. Freeman, Georgia Institute of Technology
W. Richards Adrion, University of Massachusetts Amherst
William Aspray, University of Colorado Boulder 2019
Providing Sound Foundations for Cryptography: On the work of Shafi Goldwasser and Silvio Micali
Oded Goldreich, Weizmann Institute of Science 2019
Concurrency: The Works of Leslie Lamport
Dahlia Malkhi, VMware Research and Calibra 2019
The Essentials of Modern Software Engineering: Free the Practices from the Method Prisons!
Ivar Jacobson, Ivar Jacobson International
Harold “Bud” Lawson, Lawson Konsult AB (deceased)
Pan-Wei Ng, DBS Singapore
Paul E. McMahon, PEM Systems
Michael Goedicke, Universität Duisburg–Essen 2019
Data Cleaning
Ihab F. Ilyas, University of Waterloo
Xu Chu, Georgia Institute of Technology 2019
Conversational UX Design: A Practitioner’s Guide to the Natural Conversation Framework
Robert J. Moore, IBM Research–Almaden
Raphael Arar, IBM Research–Almaden 2019
Heterogeneous Computing: Hardware and Software Perspectives
Mohamed Zahran, New York University 2019
Hardness of Approximation Between P and NP
Aviad Rubinstein, Stanford University 2019
The Handbook of Multimodal-Multisensor Interfaces, Volume 3: Language Processing, Software, Commercialization, and Emerging Directions
Editors: Sharon Oviatt, Monash University
Björn Schuller, Imperial College London and University of Augsburg
Philip R. Cohen, Monash University
Daniel Sonntag, German Research Center for Artificial Intelligence (DFKI)
Gerasimos Potamianos, University of Thessaly
Antonio Kruger, Saarland University and German Research Center for Artificial Intelligence (DFKI) 2019
Making Databases Work: The Pragmatic Wisdom of Michael Stonebraker
Editor: Michael L. Brodie, Massachusetts Institute of Technology 2018
The Handbook of Multimodal-Multisensor Interfaces, Volume 2: Signal Processing, Architectures, and Detection of Emotion and
Cognition
Editors: Sharon Oviatt, Monash University
Björn Schuller, University of Augsburg and Imperial College London
Philip R. Cohen, Monash University
Daniel Sonntag, German Research Center for Artificial Intelligence (DFKI)
Gerasimos Potamianos, University of Thessaly
Antonio Kru¨ ger, Saarland University and German Research Center for Artificial Intelligence (DFKI) 2018
Declarative Logic Programming: Theory, Systems, and Applications
Editors: Michael Kifer, Stony Brook University
Yanhong Annie Liu, Stony Brook University 2018
The Sparse Fourier Transform: Theory and Practice
Haitham Hassanieh, University of Illinois at Urbana-Champaign 2018
The Continuing Arms Race: Code-Reuse Attacks and Defenses
Editors: Per Larsen, Immunant, Inc.
Ahmad-Reza Sadeghi, Technische Universität Darmstadt 2018
Frontiers of Multimedia Research
Editor: Shih-Fu Chang, Columbia University 2018
Shared-Memory Parallelism Can Be Simple, Fast, and Scalable
Julian Shun, University of California, Berkeley 2017
Computational Prediction of Protein Complexes from Protein Interaction Networks
Sriganesh Srihari, The University of Queensland Institute for Molecular Bioscience
Chern Han Yong, Duke-National University of Singapore Medical School
Limsoon Wong, National University of Singapore 2017
The Handbook of Multimodal-Multisensor Interfaces, Volume 1: Foundations, User Modeling, and Common Modality Combinations
Editors: Sharon Oviatt, Incaa Designs
Björn Schuller, University of Passau and Imperial College London
Philip R. Cohen, Voicebox Technologies
Daniel Sonntag, German Research Center for Artificial Intelligence (DFKI)
Gerasimos Potamianos, University of Thessaly
Antonio Kruger, Saarland University and German Research Center for Artificial Intelligence (DFKI)
2017
Communities of Computing: Computer Science and Society in the ACM
Thomas J. Misa, Editor, University of Minnesota
2017
Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Mining
ChengXiang Zhai, University of Illinois at Urbana–Champaign
Sean Massung, University of Illinois at Urbana–Champaign 2016
An Architecture for Fast and General Data Processing on Large Clusters
Matei Zaharia, Stanford University 2016
Reactive Internet Programming: State Chart XML in Action
Franck Barbier, University of Pau, France 2016
Verified Functional Programming in Agda
Aaron Stump, The University of Iowa 2016
The VR Book: Human-Centered Design for Virtual Reality
Jason Jerald, NextGen Interactions 2016
Ada’s Legacy: Cultures of Computing from the Victorian to the Digital Age
Robin Hammerman, Stevens Institute of Technology
Andrew L. Russell, Stevens Institute of Technology 2016
Edmund Berkeley and the Social Responsibility of Computer Professionals
Bernadette Longo, New Jersey Institute of Technology 2015
Candidate Multilinear Maps
Sanjam Garg, University of California, Berkeley 2015
Smarter Than Their Machines: Oral Histories of Pioneers in Interactive Computing
John Cullinane, Northeastern University; Mossavar-Rahmani Center for Business and Government, John F. Kennedy School of Government, Harvard University 2015
A Framework for Scientific Discovery through Video Games
Seth Cooper, University of Washington 2014
Trust Extension as a Mechanism for Secure Code Execution on Commodity Computers
Bryan Jeffrey Parno, Microsoft Research 2014
Embracing Interference in Wireless Systems
Shyamnath Gollakota, University of Washington 2014
Spatial Gems, Volume 2
John
Krumm, editor
Viterbi School of Engineering, University of Southern California, Los Angeles, CA, USA
Andreas Züfle, editor
Emory University, Atlanta, GA, USA
Cyrus Shahabi,editor
Computer Science Department, University of Southern California, Los Angeles, CA, USA
ACM Books #55
Copyright © 2024 by Association for Computing Machinery
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, mechanical, photocopy, recording, or any other except for brief quotations in printed reviews—without the prior permission of the publisher
Designations used by companies to distinguish their products are often claimed as trademarks or registered trademarks. In all instances in which the Association of Computing Machinery is aware of a claim, the product names appear in initial capital or all capital letters. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration.
Spatial Gems, Volume 2
John Krumm, Andreas Züfle, Cyrus Shahabi, Editors
books.acm.org http://books.acm.org
ISBN: 979-8-4007-0936-4 hardcover
ISBN: 979-8-4007-0934-0 paperback
ISBN: 979-8-4007-0935-7 EPUB
ISBN: 979-8-4007-0937-1 eBook
Series ISSN: 2374-6769 print 2374-6777 electronic
DOIs:
10.1145/3617291 Book
10.1145/3617291.3617292 Preface
10.1145/3617291.3617293 Chapter 1
10.1145/3617291.3617294 Chapter 2
10.1145/3617291.3617295 Chapter 3
10.1145/3617291.3617296 Chapter 4
10.1145/3617291.3617297 Chapter 5
A publication in the ACM Books series, #55
10.1145/3617291.3617298 Chapter 6
10.1145/3617291.3617299 Chapter 7
10.1145/3617291.3617300 Chapter 8
10.1145/3617291.3617301 Chapter 9
10.1145/3617291.3617302 Chapter 10
10.1145/3617291.3617303 Bios/Index
Editors in Chief: Sanjiva Prasad, Indian Institute of Technology (IIT) Delhi, India
Marta Kwiatkowska, University of Oxford, UK
Area Editor: Mohamed Mokbel, University of Minnesota, USA
This book was typeset in Arnhem Pro 10/14 and Flama using LuaTEX.
First Edition
10 9 8 7 6 5 4 3 2 1
Contents
Preface Introduction Acknowledgments
Chapter 1 Graph Sampling for Map Comparison
Jordi Aguilar, Kevin Buchin, Maike Buchin, Erfan
Hosseini Sereshgi, Rodrigo I. Silveira, and Carola Wenk
1.1 Introduction
1.2 Graph Sampling Methods
1.3 Discussion/Conclusion References
Chapter 2 Fast 3D Euclidean Connected Components
W. Randolph Franklin, Salles Viana Gomes de Magalhães, and Eric N. Landis
2.1 Introduction
2.2 A Better Data Structure for the Euclidean Case
2.3 Connected Component Algorithm
2.4 Implementation
2.5 Examples
2.6 Comparison to Matlab
2.7 Summary and Future References
Chapter 3 Multiscale Aggregation Over Sliding Windows
Anne M. Denton
3.1 Introduction
3.2 Concepts
3.3 Evaluation
3.4 Summary
Acknowledgments
References
Chapter 4 Gaussian Process for Trajectories
Kien Nguyen, John Krumm, and Cyrus Shahabi
4.1 Introduction
4.2 Gaussian Process
4.3 Gaussian Process Elements
4.4 Gaussian Process Example
4.5 Discussion
References
Chapter 5 Mean Chord Length of a Square
John Krumm
5.1 Introduction
5.2 Derivation of Mean Chord Length
5.3 Summary
Reference
Chapter 6 Object Delineation in Satellite Images
Zhuocheng Shang and Ahmed Eldawy
6.1 Introduction
6.2 Extracting Objects
6.3 Experimental Result
References
Chapter 7 Implementing Simulation of Simplicity for Geometric Degeneracies
W. Randolph Franklin and Salles Viana Gomes de Magalhães
Chapter 8
7.1 Introduction
7.2 Infinitesimals
7.3 Simulation of Simplicity
7.4 Examples of SoS in Use
7.5 Summary and Acknowledgments
References
Probabilistic Counting in Uncertain Spatial Databases Using Generating Functions
Andreas Züfle
8.1 Introduction
8.2 Generating Functions for Probabilistic Counting
8.3 Complexity Analysis
8.4 Implementation
8.5 Variants, Extensions, and Improvements References
Chapter 9 Statistics for All Walks on a Lattice Graph
John Krumm
9.1 Introduction
9.2 Computing All Walks
9.3 Statistics
9.4 Summary
References
Chapter 10 Online Heatmap Generation with Both High and Low Weights
Yan Y. Liu and Melissa R. Allen-Dumas
10.1 Introduction
10.2 Algorithms
10.3 Hilomap
10.4 Discussion
Acknowledgments
Appendix: Hilomap Code Access
References
Authors’ Biographies
Index
Preface
We developed this book as a way to share fundamental, new techniques for understanding and processing spatial data. Each of these techniques, which we call “spatial gems,” falls in the gap between something commonly found in textbooks and something that is the focus of a research paper. While a gem may have already been published as a small part of a paper, extracting it into a gem makes it much more likely to be found and used by others. We were inspired by the series of Graphics Gems books started in 1990 by Andrew Glassner.
Where appropriate, a good gem will include numerical examples so programmers can verify their implementations, but it should not be a research result with multiple test cases. Rather, a spatial gem should teach how to do something useful. Spatial gems should be reproducible and usable. Thus, we encouraged chapter authors to provide implementation details and code whenever possible. Different from a research paper, a spatial gem should not focus on describing “Look at what I can do!” but rather should instead say: “Look at what you can do!”
While this book is not a traditional research workshop proceedings, we developed an annual workshop to select and refine the chapters. The workshop is part of the Association of Computing Machines (ACM) conference International Conference on Advances in Geographic Information Systems, the world’s premiere research conference on geospatial data processing. For this book, potential chapter authors submitted their chapters to a review committee of senior researchers in the field. Authors of accepted chapters were invited to attend the workshop, where we worked to refine each chapter. Authors traded their chapters among each other and then exchanged ideas for improvements. This volume of the book represents chapters gathered over two years of the workshop. It is the second volume in the series.
Introduction
Here are short summaries of each spatial gem.
(1) Graph Sampling for Map Comparison—Comparing two road maps is a basic operation that arises in a variety of situations. A map comparison method that is commonly used, mainly in the context of comparing reconstructed maps to ground truth maps, is based on graph sampling. The essential idea is to first compute a set of point samples on each map, and then to match pairs of samples—one from each map—in a one-to-one fashion. For deciding whether two samples can be matched, different criteria can be used. The total number of matched pairs gives a measure of how similar the maps are.
Since the work of Biagioni and Eriksson in 2012, graph sampling methods have become widely used. However, there are different ways to implement each of the steps, which can lead to significant differences in the results. This means that conclusions drawn from different studies that seemingly use the same comparison method cannot necessarily be compared.
In this chapter, we present a unified approach to graph sampling for map comparison. In particular, we point out the importance of the sampling method (GEO vs. TOPO) and that of the matching definition, discussing the main options used precisely and proposing better alternatives for both key steps in detail. Furthermore, we provide a code base and an interactive visualization tool to set a standard for future evaluations in the field of map construction and map comparison.
(2) Fast 3D Euclidean Connected Components—We present an efficient algorithm and implementation for computing the connected components within a 3D cube of voxels, also known as the Euclidean union–find problem. There may be over 109 voxels. The components may be 8-connected or 26-connected. Computing connected components has applications ranging from material failure in concrete under increasing stress to electrical conductivity in complex metal objects to elasticity in 3D printed parts. One key
to efficiency is representing voxels by 1D runs of adjacent voxels. We also compute each component’s surface area. As a special case, 2D connected components of images may easily be computed.
(3) Multi scale Aggregation Over Sliding Windows—Aggregates over sliding windows are an important part of many analyses over raster images, including computation of basic statistic quantities, regression analysis, fractal dimensions, and topographic analysis. For those analyses, the most appropriate window size is not always obvious a priori, and the window sizes may be very large. An algorithm is presented for aggregating windows iteratively with a performance that is logarithmic in the window size. The main limitations of the algorithm are that aggregation functions must be additive, in the sense that performing aggregations based on prior aggregates must be possible, and that window sizes are powers of two. When those assumptions can be met, the algorithm can be used in a variety of contexts that would otherwise either require a substantial reduction of resolution or take excessive computation time.
(4) Gaussian Process for Trajectories—The Gaussian process is a powerful and flexible technique for interpolating spatiotemporal data, especially with its ability to capture complex trends and uncertainty from the input signal. This chapter describes Gaussian processes as an interpolation technique for geospatial trajectories. A Gaussian process models measurements of a trajectory as coming from a multidimensional Gaussian, and it produces for each timestamp a Gaussian distribution as a prediction. We discuss elements that need to be considered when applying Gaussian processes to trajectories and the common choices for those elements, and provide a concrete example for implementing a Gaussian process.
(5) Mean Chord Length of a Square—This chapter derives the mean chord length of a square. For a circle, a chord is a straight-line segment connecting any two points on the perimeter. The same is true for a square. The chapter shows that for a square of dimensions l × l, the mean chord length is ρl, where ρ ≈ 0.7098, assuming a certain reasonable distribution of chords. The mean
chord length is useful for choosing the dimensions of cells in a square grid for discretizing spatial trajectories.
(6) Object Delineation in Satellite Images—Machine learning is being widely applied to analyze satellite data with problems such as classification and feature detection. Unlike traditional image processing algorithms, geospatial applications need to convert the detected objects from a raster form to a geospatial vector form to further analyze it. This gem delivers a simple and lightweight algorithm for delineating the pixels that are marked by machine learning algorithms to extract geospatial objects from satellite images. The proposed algorithm is exact, and users can further apply simplification and approximation based on application needs.
(7) Implementing Simulation of Simplicity for Geometric Degeneracies—We describe how to implement Simulation of Simplicity (SoS). SoS removes geometric degeneracies in point-inpolygon queries, polyhedron intersection, map overlay, and other 2D and 3D geometric and spatial algorithms by determining the effect of adding non-Archimedean infinitesimals of different orders to the coordinates. It then modifies the geometric predicates to emulate that, and evaluates them in the usual arithmetic.
A geometric degeneracy is a coincidence, such as a vertex of one polygon on the edge of another polygon, that would have probability approaching zero if the objects were distributed i.i.d. uniformly. However, in real data, they can occur often. Especially in 3D, there are too many types of degeneracies to reliably enumerate. But, if they are not handled, then predicates evaluate incorrectly, and the output topology may be wrong.
We describe the theory of SoS and how several algorithms and programs were successfully modified, including volume of the union of many cubes, point location in a 3D mesh, and intersecting 3D meshes.
(8) Probabilistic Counting in Uncertain Spatial Databases Using Generating Functions—Many applications using spatial data require counting the number of spatial objects within a region. In
cases where the locations of objects are uncertain, this count becomes a random variable. This spatial gem gives an efficient solution for computing the probability mass function of this random variable, that is, computing for each integer n the probability of having exactly n objects within the region.
(9) Statistics for All Walks on a Lattice Graph—Trajectory data from a moving entity may be handicapped by the temporal gaps between location measurements. We can make inferences about the locations visited during the gaps by postulating all possible paths between pairs of temporally adjacent measurements. These paths are modeled as walks on a spatially discrete grid, represented as a lattice graph. From the collection of possible walks, we can compute statistics about the possible location visits between the measurements, including the probabilities of visiting discrete grid cells and for how long. The chapter shows how to compute these statistics.
(10) Online Heatmap Generation with Both High and Low Weights— Heatmap is a common geovisualization method that interpolates and visualizes a set of point observations on a map surface. Most online web mapping libraries implement a one-pass heatmap algorithm using HTML5 canvas or WebGL for efficient heatmap generation. However, such an implementation applies additive operations that accumulate the rendering of point weights on the map surface grid, making it inappropriate for visualizations that require the highlighting of both low and high weights. We introduce hilomap, an online heatmap algorithm that highlights surface areas where points with both low and high trends are located. An HTML5 canvas-based reference implementation on OpenLayers is presented and evaluated.
Acknowledgments
We thank our expert reviewers for carefully reading and generously commenting on these chapters and others submitted for this book. In alphabetical order, they are
• Mohamed Ali—University of Washington, Tacoma
• Ahmed Eldawy—University of California, Riverside
• W. Randolph Franklin—Rensselaer Polytechnic Institute
• Kuldeep Kurte—Reliance Jio
• Carola Wenk—Tulane University
Thank you to Mohamed Mokbel of the University of Minnesota for advocating for our book in his role on the editorial board for ACM Books in the area of spatial and geographic information systems. We are also grateful to the numerous organizers of the ACM International Conference on Advances in Geographic Information Systems (ACM SIGSPTIAL) who helped host our workshops where these chapters were developed.