I have a shapefile with lakes. I have another shapefile which is the same area as the other shapefile. I would like to use some sort of mask or extract, etc., tool to create a new shapefile which represents the land. The new shapefile will contain everything that is not in the lakes shapefile.
I've tried using Clip and Extract and Intersecting Layers and Symmetrical Differences tools but I was only able to get the "Islands" that are in the lakes shapefile. Can anyone recommend an ArcMap tool?
In the attached file, the blue represents the lakes. I am trying to create a shapefile that would contain all the white areas of the image.
Solved! Go to Solution.
RickCheney, You can use the union tool for this. Add an attribute column to each shapefile, and populate it with a unique attribute like "Water" for your water shapefile and "Background" for the other. Run the union and leave the "JoinAttributes" option as "ALL". Then use a definition query such as "(your column name)" <> 'Water'. This will give you your background with the water polygons punched out.
Regards
Thank You so much! I used the Union (Analysis) Tool. I added a column titled Land to the shapefile that is a solid background and a column titled Water to the shapefile of the Lakes. Then in Layer Properties of the newly created shapefile (the "union" shapefile), I used the Definition Query tab and Query Builder. At first it didn't work and then I realized that I had to populate the Attribute Table with something in the fields of the newly added column. There are thousands of rows in the lakes attribute table and I didn't know how to auto-add something to each field of the new column, so I found an existing column that had the same value in each field of a column that was unique to that attribute table and did not exist in the other attribute table, then it worked perfectly!!
Here's something to consider. Try creating a new polygon shapefile with a shape that exceeds all of your Lakes and exceeds the extent which your Land should cover. Use the Erase tool with the new shapefile as Input Features and the Lakes as Erase Features. This will create polygons covering the white (from your graphic). But you will still have to trim the land areas back to reality. I think you'll see what I mean after going through these steps.
Oh, the Erase tool requires the Advanced license level. If you don't have that, the Difference GP tool in QGIS should do the same thing.
RickCheney, You can use the union tool for this. Add an attribute column to each shapefile, and populate it with a unique attribute like "Water" for your water shapefile and "Background" for the other. Run the union and leave the "JoinAttributes" option as "ALL". Then use a definition query such as "(your column name)" <> 'Water'. This will give you your background with the water polygons punched out.
Regards
Thank You so much! I used the Union (Analysis) Tool. I added a column titled Land to the shapefile that is a solid background and a column titled Water to the shapefile of the Lakes. Then in Layer Properties of the newly created shapefile (the "union" shapefile), I used the Definition Query tab and Query Builder. At first it didn't work and then I realized that I had to populate the Attribute Table with something in the fields of the newly added column. There are thousands of rows in the lakes attribute table and I didn't know how to auto-add something to each field of the new column, so I found an existing column that had the same value in each field of a column that was unique to that attribute table and did not exist in the other attribute table, then it worked perfectly!!