Authors: Varun Pandey, Alexander van Renen, Andreas Kipf and Alfons Kemper
Abstract: Today, many applications like Uber, Yelp, Tinder etc. rely on spatial data or locations from its users. These applications and services either build their own spatial data management systems or rely on existing solutions. JTS Topology Suite (JTS), its C++ port GEOS, Google S2, ESRI Geometry API, and Java Spatial Index (JSI) are some of the spatial processing libraries that these systems build upon. These applications and services depend on indexing capabilities available in these libraries for high-performance spatial query processing. However, there is a lack of prior work that empirically compares these libraries. In this work we compare these libraries qualitatively and quantitatively based on four popular spatial queries and using two real-world datasets. We also compare a lesser known library (jvptree) which utilizes Vantage Point Trees. In addition to the performance evaluation, we also analyze the construction time, the space overhead, and identify the strengths and weaknesses of the libraries and their underlying index structures. Our experiments show that there are vast differences in space consumption (up to 9.8 x), construction time (up to 5 x), and query runtime (up to 54 x).