  Very large volumes of spatial data increasingly become available and demand
effective management. While there has been decades of research on spatial data
management, few works consider the current state of commodity hardware, having
relatively large memory and the ability of parallel multi-core processing. In
this work, we re-consider the design of spatial indexing under this new
reality. Specifically, we propose a main-memory indexing approach for objects
with spatial extent, which is based on a classic regular space partitioning
into disjoint tiles. The novelty of our index is that the contents of each tile
are further partitioned into four classes. This second-level partitioning not
only reduces the number of comparisons required to compute the results, but
also avoids the generation and elimination of duplicate results, which is an
inherent problem of spatial indexes based on disjoint space partitioning. The
spatial partitions defined by our indexing scheme are totally independent,
facilitating effortless parallel evaluation, as no synchronization or
communication between the partitions is necessary. We show how our index can be
used to efficiently process spatial range queries and drastically reduce the
cost of the refinement step of the queries. In addition, we study the efficient
processing of numerous range queries in batch and in parallel. Extensive
experiments on real datasets confirm the efficiency of our approaches.
