# Need to convert points to polygons of a specific size, using the point as the center of the polygon

I have a large collection of aerial photos with no georeferencing other than the Lat/Long location of the camera. Georeferencing them invididually is not an option (too much time, too many photos, some are oblique, some vertical). I need to automatically generate some kind of approximate polygonal footprint of each photo. I was thinking there must be some way to auto-generate a rectangle from a point layer using the point as the center and using numbers in the attribute fields as the dimensions. Or, barring that, just generating a circle at each point using an attribute as the diameter.

I'm using Arcview 9.3.1.

• I can think of some ways to do this in autocad map. – Brad Nesom Jul 21 '11 at 16:32

## 4 Answers

1. Import your photo points to a shapefile (Make XY Event Layer).
2. Buffer the points to the appropriate size of your photos.
3. Install the bounding containers toolbox and run the extent tool. This will create a north orientated square around the buffer.

Alternatively look at building a raster catalog. This may not be suitable if you have a lot of overlap, but will let you display the images without individual georeferencing.

• Thanks! Step 3 is what I was missing. What we're trying to determine (very roughly) is how much coverage we have with these photos, creating squares around the buffer circles should do the trick. – Dan C Jul 21 '11 at 21:25
• I don't think this tool will work with 10.2.2. Is there an alternative? – MjonesGEO Oct 8 '14 at 16:45

If you just have an approximate point of the center of each photo, just run the XY command with that input that then buffer the features.

Cheers

I think all you have to do is use the Lat/Lon; as you know it is the centroid, simply calculate the min/max x/y for your box, create a points list, and then Create the polygon.

X/Y is 341.5,61.5 So you could create a square of [343,60],[340,60],[340,63],[343,63]

So now you have a point list

``````point = arcpy.Point()
pointGeometryList = arcpy.Array()

linedata = [[343,60],[340,60],[340,63],[343,63]]

for coords in linedata:
point.X = coords
point.Y = coords
pointGeometryList.add(point)

pointGeometryList.add(pointGeometryList.getObject(0))
polygon = arcpy.Polygon(pointGeometryList)
outFtrClass = r"C:\Dev\Scratch.gdb\MyPoly"
arcpy.CopyFeatures_management(polygon , outFtrClass)
``````

So all you have to do, is add logic to suck out your point values and create the linedata, and a new fc everytime.

Good luck

I have discovered an awesome way in ArcGIS 10.4 to create rectangular buffer around your points! Following this picture, the length a of the polygon equals to 2-times the radius (a = 2*r) of the buffer. Therefore, if you need a final rectangle of 1x1 km, the radius of the buffer is 500m.

Steps to follow:

1. create a Buffer (Buffer tool) of your desired size around your points
2. run Minimum bounding geometry Tool using "ENVELOPE" as desired geometry type
3. Voila you are all set! More info and credits: https://support.esri.com/en/technical-article/000012502