Easiest way is probably to use Python:
- Open the Python window
- Copy and paste the script below
- Modify the layer and fields variables
- Run
- You may have to refresh the map to see the changes
# Name of the layer (if loaded in map) or path to the feature class / shape file
layer = "test"
# fields that are copied. First one has to be SHAPE@
fields = ["SHAPE@", "TextField"]
# read the original points
original_points = [row for row in arcpy.da.SearchCursor(layer, fields)]
with arcpy.da.InsertCursor(layer, fields) as cursor:
for point in original_points:
# create the 8 new coordinate pairs
coords = point[0].firstPoint
new_coords = [
[coords.X - 25, coords.Y],
[coords.X - 50, coords.Y],
[coords.X + 25, coords.Y],
[coords.X + 50, coords.Y],
[coords.X, coords.Y - 25],
[coords.X, coords.Y - 50],
[coords.X, coords.Y + 25],
[coords.X, coords.Y + 50],
]
for nc in new_coords:
# create a copy of the original point's attributes
new_point = list(point)
# change the copy's geometry
new_point[0] = arcpy.PointGeometry(arcpy.Point(nc[0], nc[1]))
# write copied point to shape file
cursor.insertRow(new_point)
Before
After (note that I only specified "TextField" to be copied)
Have a great day!
Johannes