[GIS] How to draw a polygon between a number of polygons automatically

arcgis-desktopeditingpolygon-creation

The weight “empty” area which is bounded by the orange boundary should represent a land use “Roads” so I should fill it with polygons. Now my question is how to fill these empty areas with polygons automatically?

enter image description here

I could use Autocomplete Polygons to fill the gaps, but it’s time consuming since I have more than 150 Urban master plans! Is there any method to do this more quickly and more precisely?

enter image description here

enter image description here

Best Answer

There are several ways to accomplish this depending on specific needs and available license level.

First step for all methods is to create a new feature class/layer for the gap areas. Even if you want to have them on the same layer in the end, working with two layers makes things much easier for editing purposes.

Next, draw a generalized polygon on this new temp layer that covers all the areas you wish to fill in. Depending on the method used in the next steps, there are some considerations on how you draw this polygon.

  • You could just make a giant polygon that completely surrounds your existing ones. With this approach you'll have to do some cutting at the end to split your desired areas from the extra surrounding leftover (think of cutting out a desired piece from the middle of flattened dough).
  • You can snap to the vertices where your road meets the outer boundary and then use more general, quick placed points within your existing polygons to create a generalized shape that covers the roads but doesn't go further than the current outer boundary (so if you have existing ordered above temp in the ToC, only the pieces of temp you want are visible).
  • You can use Aggregate Polygons (requires Advanced License) to create polygons that are the same as the outer boundary of your existing polygons (see linked help file for graphic example).

With the temp polygon created, now you need to cut away the parts you don't want using the existing polygons.

  • The easiest way is to use the Erase tool with temp as the input and existing polys as the erase feature, which will eliminate all areas in temp covered by existing. However this tool requires an Advanced license.
  • With only those two layers visible/editable, select all of the existing polygons and on the Editor dropdown button choose Clip with a distance of 0 and discard area of intersect. Notes/warnings: This clip is not the same as the Clip geoprocessing tool. Use assumes there is no overlap within the existing polygons and no other editable layers are present. This method will cut any and all visible and editable layers using the selected existing polygon outlines.

At this point you should have the road polygons that you want. You may need to use the Cut Polygon tool to trim off excess around the outside depending on how you created the temp polygons, or use the Aggregate Polygons method to create a boundary you can use to clip with. Which of all these variations is fastest depends on your needs and workflow.

Once you have the desired polygons, you can copy and paste, append, or whatever other method you like to get them into your existing polygon layer.