The recent explosion in the amount of spatial data calls for specialized systems to handle big spatial data. In this survey, we summarize the state-of-the-art work in the area of big spatial data. We categorize the existing work in this area according to six different angles, namely, approach, architecture, language, indexing, querying, and visualization. (1) The approaches used to implement spatial query processing can be categorized as on-top, from-scratch and built-in approaches. (2) The existing works follow different architectures based on the underlying system they extend such as MapReduce, key-value stores, or parallel DBMS. (3) The high-level language of the system is the main interface that hides the complexity of the system and makes it usable for non-technical users. (4) The spatial indexing is the key feature of many systems which allows them to achieve orders of magnitude performance speedup by carefully laying out data in the distributed storage. (5) The query processing is at the heart of all the surveyed systems as it defines the types of queries supported by the system and how efficiently they are implemented. (6) The visualization of big spatial data is how the system is capable of generating images that describe terabytes of data to help users explore them. This survey describes each of these components, in detail, and gives examples of how they are implemented in existing systems. At the end, we give case studies of real applications that make use of these systems to provide services for end users.