I have a dataset that contains more than 10,000 polygon features. I also have a point layer with 300 points, some of which intersect the polygon features. I want to make a query and create a dataset of those polygons which contain at least one point. How can I do this?

  • 1
    Can you clarify whether you are trying to do this programmatically, and if so, which API and language are you using? Also, considering this is a frequently asked question, have you tried searching? – blah238 Jan 1 '13 at 17:14
  • No I am not doing this using any programming. I dont know any programming :( . I wanted to know if there any geoprocessing tool or toolbox to do so. You have edited my question. But I do not want to select the points. I want to select polygon based on point. – Devils Dream Jan 1 '13 at 17:21
  • If you are interested in the count/number of points contained by a polygon have a look at this answer – blah238 Jan 1 '13 at 18:08

You can accomplish this using the 'Select by Location' tool, in the selection menu.

Just set the polygons as the target layer, the points as the collection layer. There are a variety of options that would probably work for you for the'Spatial selection method'. 'Intersect' is the default and will work but it will also return points that occur on the border of the polygon.

If you only want points that are fully contained by the polygon then choose 'Completely Contain the Source Layer Feature'

That's it, quick and easy, no programming necessary!


To build on the great answer by @KevinV, the attached image shows the result of Select Layer by Location in ArcGIS 10.1. The polygons that intersect the points are highlighted in blue. To create a new feature class from the selected polygons, right click on the polygon layer in the table of contents: Data -> Export Data (Selected Features).

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.