I have a large number of lat/long positions at sea for a geographical area (stored as CSV). This geographical area also contains lots of land area. I want to divide the sea area into a grid (f.ex down to four decimals degrees lat/long), and check each cell in that grid if there is a lat/long position present. Is this possible to do in an easy way?

Tools: ArcGIS (never used before), any other free GIS programs, python

2 Answers 2


Yes, this is possible.

  1. Make your grid. Fishnet.
  2. Filter out the "sea area" in some way. Perhaps, Select Layer By Location, HAVE_THEIR_CENTER_IN, NEW_SELECTION (against a "sea" layer)
  3. Select the grid cells that contain a point. Select Layer By Location, CONTAINS, SUBSET SELECTION
  1. Use the Create Fishnet tool to create a grid of polygons the required size, and covering the area of ocean.
  2. Use the Erase tool to remove the areas of land from the fishnet you have created. If you have a dataset representing the ocean, you can simply clip the fishnet to the ocean.
  3. From here you can use your choice of several tools to examine the incidence of points within the squares of the fishnet. A spatial join or intersect could both be used depending on how you wish to use the data. To simply get the grid squares which contain points (without regard for how many) use spatial join. If you want to know which points lie in which grid square, use intersect.

The Erase tool requires an Advanced licence. Achieving the same outcome as the Erase tool with a Basic or Standard licence might be another question.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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