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 large number (approx. 1,100) polygon feature classes.

What I would like to do is to merge the attribute tables from each of these feature classes into a single table, in the simplest and fastest way possible.

This will be the first step in a script or model that then uses that table with all polygon values from all layers to perform some tabular joins and selections. Each time I run this script, I will want to re-do the table merge, as the underlying polygon feature classes may change. If it's possible to write the merged table into memory, for speed, that would be best.

I'm using ArcGIS 10.1. I think I can do this easily enough in VBA/, but it might be simplest to set it up as a ModelBuilder model, so that it's easy to share with colleagues.

share|improve this question
Python is a much better language to use for geoprocessing than VB.NET. ArcPy just provides a lot of useful stuff you don't get in other environments. – Curtis Price Apr 2 '13 at 1:10

I think I would personally have the model run the Merge tool to generate a merged feature class stored in the in_memory workspace, and then use the Make Table View tool with that merged feature class as an input to create an in-memory version of the attribute table.

The Make Table View tool also provides the flexibility to apply an SQL query to filter the table.

share|improve this answer
I started down this road. ArcMap bombs out on me when building the ModelBuilder model, let alone running it. The datasets are so large and numerous that the 32-bit memory limitations kick in. – user13706 Dec 21 '12 at 17:38
I wonder if reversing the order — creating two table views and then merging — would be any easier on your workstation? – nmpeterson Dec 24 '12 at 18:19

If you have a set of fields that are the only ones you want, Append_management will copy only the fields with a name match. It may be more memory-efficient than Merge. If memory is still killing you, you can use a ModelBuilder 10.x iterator to append them one at a time. If you're writing to in_memory and the table doesn't get too big, that should work well.

One other thing, if you truly need a table (and not a feature class output) you can probably cut way down on the memory needed by creating table views from your input and appending them - so you can skip the (perhaps large) shape fields.

share|improve this answer

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.