Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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.

share|improve this question
    
I can think of some ways to do this in autocad map. –  Brad Nesom Jul 21 '11 at 16:32
add comment

3 Answers 3

up vote 1 down vote accepted
  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.

share|improve this answer
    
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
add comment

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]
    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

share|improve this answer
add comment

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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