8

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/VB.net, but it might be simplest to set it up as a ModelBuilder model, so that it's easy to share with colleagues.

1
  • 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. Commented Apr 2, 2013 at 1:10

2 Answers 2

8

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.

2
  • 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. Commented Dec 21, 2012 at 17:38
  • I wonder if reversing the order — creating two table views and then merging — would be any easier on your workstation?
    – nmpeterson
    Commented Dec 24, 2012 at 18:19
1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.