I am trying to create a grid road map with an index table for street look up.

I am using this tutorial by ESRI: http://blogs.esri.com/esri/arcgis/2007/11/08/creating-street-name-indexes/

I am at the step whereby I am supposed to spatially join a point file (centroid point for each label) to a grid (which has the grid ID):

The next step is to use the Spatial Join tool (one to many is the join option) and join the annotation to each grid cell they fall within. However, you will likely not want to work directly with the annotation because the spatial join options for “contains” or “within” will not include any annotation that overlaps more than one grid cell. Further, the “intersects” option will create duplicate entries in the same circumstances. To get around that convert the annotation to point features using the Feature to Point tool (Important note: I had to delete the Element field; the type is blob, the field isn’t needed, but if it’s there, the tool won’t run).

It seems to be telling me to spatially join the points to the grid in order to match up each label point with its grid ID value. However, whenever I spatially join, the output table is empty.

Any advice? I simply need to find a way to extract the grid ID of where the points falls within the grid.

I've included a photo of the spatial join parameters. After the process runs, it simply spits out a new shapefile with no features and an empty attribute table.

enter image description here

  • have you checked that the coordinate systems are defined ?
    – radouxju
    Commented Sep 19, 2014 at 19:06
  • I've edited your question to include the details of the step that I think you are having problems with. Would you be able to include a graphic of the settings you are using on the Spatial Join tool - that way we will be able to request clarifications directly related to what you are using.
    – PolyGeo
    Commented Sep 19, 2014 at 22:53
  • Both layers have the coordinate systems defined properly.
    – rspencer38
    Commented Sep 22, 2014 at 10:44
  • What results do you get with Intersect join (the default for this tool). Commented Sep 22, 2014 at 17:39
  • Your goal is to end up with a polygon feature class that contains a duplicate grid polygon for every point that falls within that grid? Did you delete the Element field? AnnoLocation_Layer looks like an annotation layer, which will not work with 'Contains' or 'Within' match options. Just checking because you haven't described what you have done. Also, I'm not sure why you wouldn't have the points as the target features and do a one to one relationship.
    – jbalk
    Commented Sep 6, 2017 at 5:59

1 Answer 1


Run the spatial join tool again, but this time use the points as the target feature. Set the match option to Intersect. Set the Join Operation to One to One.

This will join the attributes of the grid to the point that it intersects. This will give you an output feature class that contains a grid reference for each point, which is what you stated as your desired output.

This is a more efficient solution than pushing the point attributes to the grids. You will still end up with a grid reference for each point, and you can run statistics/queries to view all the points that fall in a certain grid.

Your Answer

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

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