Software-oriented architecture (SOA) is a promising paradigm for efficiently leveraging the functionality of individual IoT devices to build IoT applications. However, deploying SOA for IoT data-gathering applications requires spatial context-awareness and the ability to aggregate similar available services, which presents a challenge. To address this challenge, this paper proposes a formulation for spatial context-aware service composition with a novel quantitative model for spatial context. We demonstrate that incorporating spatial context into service composition is an NP-Hard problem and model it as an integer linear program. We propose two heuristic approaches capable of producing near-optimal solutions in real-time. We implement a simulation of the composition problem to study the performance of our approaches. Our experimental results show that the proposed methods are scalable compared to the branch-and-cut algorithm. These results set a precedent against which future work on solutions to this problem can be compared.