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 rectangular raster image in ArcGIS. My question is: how can I produce a polygon which is just the extent of the raster image? That is, I want to have a polygon layer with a single quadrilateral which is the edge of the image.

I've tried simply doing a Raster->Polygon conversion, but this tries to use the data in the image to generate the outline - all I want is the outline of the edge of the image.

Any ideas?

share|improve this question
    
gis.stackexchange.com/a/26944/65 - this method will get you the boundary, but will also include nodata and zero cells as well, not sure if that's a deal breaker or not. –  Chad Cooper Jul 27 '12 at 14:29
    
Spatial domain method is not strict passing the outline of a raster. –  xzx Mar 11 '13 at 22:48
    
This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. –  Fezter Mar 12 '13 at 0:24

7 Answers 7

up vote 9 down vote accepted

If you have Spatial Analyst then you can:

  1. multiply the raster by 0 to create a constant value raster using Raster Calculator.
  2. convert result of step 1 to polygon using the Raster to Polygon tool.

Another solution:

If your have 3D Analyst license then you can use the Raster Domain tool under 3D Analyst>Conversion>from raster (however it does not have the smooth function)

share|improve this answer

You can use the Build Footprint tool in the Data management Toolbox. You have to create a Mosaic Dataset out of your raster.

Create a new Mosaic in a File Geodatabase , add your raster.

Open your Mosaic in ArcMap and Extract the Footprint.

That's what I would do.

share|improve this answer

What about simply digitizing it? Click-click-click-click done.

share|improve this answer
4  
Not really sure why this option has been down voted. You can find the coordinates of the extent corners and create vertices at those coordinates. It can even be used for analysis. If it's only for display, click-click-click-click works great. –  Baltok Mar 20 '12 at 19:26
2  
I'd say because the raster could be an irregular shape and, depending on the complexity, could result in a pretty tiresome digitising job –  Phil Mar 20 '12 at 21:57
2  
But the OP said it was rectangular. Seems like a pretty simple job to me. By zooming in and being accurate, the difference between the actual raster outline and the digitized outline would be negligible for any real world application. –  Matt Mar 21 '12 at 13:09

Use the "Raster to Polygon" tool in the conversion tools toolbox. Make sure to uncheck the simplify polygons box. This will create exactly what you want.

Hope This Helps,

Tyler

share|improve this answer
4  
Are you sure this doesn't just create a huge mess of polygons, one for each contiguous set of equal-value pixels in the original image? –  whuber Mar 21 '12 at 16:33

You can use the Raster Domain tool from 3D Analyst to create a polygon with the same extent as your raster data

share|improve this answer
    
Welcome to GIS SE! Could you please add references to your answer? That way it would be more solid. –  R.K. Nov 22 '12 at 14:22
    
Raster Domain tool did the job, perfectly! Creates an outline or boundary of the raster data. –  user27891 Mar 10 at 17:28

I know it's been a while but I personally think that reclassifying and converting the raster to polygon can be waaaaay too time consuming. In my opinion, the easiest way to do it is:

Get maxX, maxY, minX, minY (this can be done in Python with the describe command) Run Create Fishnet with the extent as above and number of rows/columns as 1

If you have lots of rasters, this should be done in Python and can create hundreds of footprints in a matter of seconds.

share|improve this answer

I use this simple python script, it create a polygon featureclass with the extent of all the raster present in a folder. To use it, you can create a tool in ArcToolbox or you simply change the InFolder and Dest (Destination) variables.

import arcpy,os

InFolder = arcpy.GetParameterAsText(0)
Dest=arcpy.GetParameterAsText(1)

arcpy.env.workspace=InFolder
#The raster datasets in the input workspace
in_raster_datasets = arcpy.ListRasters()

arcpy.CreateFeatureclass_management(os.path.dirname(Dest),
                                   os.path.basename(Dest),
                                   "POLYGON")
arcpy.AddField_management(Dest,"RasterName", "String","","",250)
arcpy.AddField_management(Dest,"RasterPath", "String","","",250)

cursor = arcpy.InsertCursor(Dest)
point = arcpy.Point()
array = arcpy.Array()
corners = ["lowerLeft", "lowerRight", "upperRight", "upperLeft"]
for Ras in in_raster_datasets:
    feat = cursor.newRow()  
    r = arcpy.Raster(Ras)
    for corner in corners:    
        point.X = getattr(r.extent, "%s" % corner).X
        point.Y = getattr(r.extent, "%s" % corner).Y
        array.add(point)
    array.add(array.getObject(0))
    polygon = arcpy.Polygon(array)
    feat.shape = polygon
    feat.setValue("RasterName", Ras)
    feat.setValue("RasterPath", InFolder + "\\" + Ras)
    cursor.insertRow(feat)
    array.removeAll()
del feat
del cursor  
share|improve this answer

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.