Spatial data, ranging from various land information data to different types of environmental data, are typically collected and used by different custodians. The full benefits of using spatial data can be achieved by combining the data from different sources covering a common region. Due to organizational, political and technical reasons, it is unrealistic to physically integrate the vast amount of spatial data managed by different systems in different organizations. A practical approach is to provide interoperability to support multi-site data queries. In this paper, we study the performance aspect of complex spatial query processing. We propose a framework for processing queries with multiple spatial and aspatial predicates using data from multiple sites. Using a new concept called generalized filter, a query is processed in three steps. First, an aspatial filter that incorporates some conditions derived from spatial predicates is used to find a set of candidates, which is a superset of the final query results. Then, the candidates are manipulated and a refinement step is executed following an optimized candidate sequence. Finally, a post-processing step is used to handle spatial expressions in query results. The focus of this paper is to generate enhanced filters in order to minimize the need of transferring and processing complex spatial data.