Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

I'm using ArcGIS Desktop 10.

share|improve this question - 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
@Fezter, this comment was migrated from answer to Q, Since it's no longer in context it doesn't make much sense. It's served it's purpose and can be removed now. ;-) – matt wilkie Jun 12 '15 at 16:00

10 Answers 10

up vote 20 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. (be sure to convert it to integer type or step 2 will not work)
  2. Convert the 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

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

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

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)

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

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
    polygon = arcpy.Polygon(array)
    feat.shape = polygon
    feat.setValue("RasterName", Ras)
    feat.setValue("RasterPath", InFolder + "\\" + Ras)
del feat
del cursor  
share|improve this answer
can tell us in details how to use this code. I wanna use it on .asc raster file. My images are different different sub folder.? – GIS Data Butcher Mar 23 '15 at 12:14
Answer from jeb has worked for me, don't have sufficient rep to up vote him. @GIS Data Butcher Save the complete source into a file and execute it from Python Window within ArcMap. You can use following command on Python Window to execute script from file. > execfile(r'd:\temp\') – Asad Mar 13 at 10:13

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 '14 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

Also, an easy way is to use Reclassify tool where you should click the button Classify and change the number of classes to 1. Click Ok. Now, the output raster can be easily converted using Raster to Polygon conversion Tool. ;)

share|improve this answer

If you are trying to get the outline of a DEM raster then you will need to do the following

If you have Spatial Analyst and 3d Analyst then you can:

1)multiply the raster by 0 to create a constant value raster using Raster Calculator.

2)Convert results of step 1 to a raster integer by using the "INT (Tool)". This is necessary for the next step.

3)convert result of step 2 to polygon using the Raster to Polygon tool (only works with raster integers).

share|improve this answer
Hi Seamster02, welcome to GIS Stack Exchange :) As written this is not appreciably different from the accepted answer, – matt wilkie Jun 12 '15 at 16:04

In ArcCatalog you can create a raster catalog in a .gdb (Data Management Tools->Raster). Unmanaged is fine. Then right click and load (if the rasters are just sitting in a folder then "load from workspace". If you load the raster catalog into ArcMap you can right click-> data-> export footprint, as a shape file or feature class. The shape file will have a 'name' field populated with the name of the raster.

The Raster Catalog will automatically display the extents but I needed to send the extents to someone who wasn't using ArcGIS.

share|improve this answer

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.

share|improve this answer
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 could always add a dissolve after this to get the extent poly. However, I bet the python solution listed by @jeb is faster. – GeoJohn Jun 4 '15 at 15:45

Your Answer


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.