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
  • 1
    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.



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


I have discovered an awesome way in ArcGIS 10.4 to create rectangular buffer around your points! enter image description here

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!

enter image description here

More info and credits: https://support.esri.com/en/technical-article/000012502

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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