1. A method performed by data processing apparatus, the method comprising: identifying, in search log data, a resource presented in response to users queries, locations associated with the users queries, and information indicating whether the users interacted with the resource when presented; determining, via one or more processors, a catchment area for the resource based on the search log data, the catchment area specifying a geographic region that includes locations associated with users queries for which the resource was presented and selected; indexing the resource according to its catchment area; receiving a search query that is associated with a particular query location from a client device; identifying a set of search results responsive to the search query, each search result in the set of search results referencing a resource having a catchment area that includes the particular query location; and providing the set of search results to the client device, wherein determining the catchment area further comprises: determining a distance between a location-associated with the resource and a location associated with a first user query for which the resource was presented and selected; and using the distance to define the catchment area for the resource; and excluding a location associated with a second user query for which the resource was presented and selected, wherein excluding the location associated with the second user query comprises: identifying, using obstacle data specifying the geographic areas of one or more obstacles, an obstacle that is located between the location associated with the resource and the location associated with the second user query; and excluding the location associated with the second user from the catchment area for the resource.