# 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

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? – joebob Oct 8 '14 at 16:45

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[0]
point.Y = coords[1]

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

-

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

-