Batch Transfer Attributes

Scenario:

  • Data_Cov has the attributes we need in region subcoverages; the geometry is unwanted.
  • Geometry_Cov has the geometry we need, but no attribute data.

Isn’t there some way, for example, to copy the attributes of Data_Cov.region to Data_Cov.labelpoint and then do a point-in-polygon overlay with Geometry_Cov (aka IDENTITY)?

This should be an easy operation, but after days of experimenting and reading the docs the whole office (Gerry, Matt, Gary) was completely stumped.

What Doesn’t Work

  • because the geometry of Data_Cov is unwanted the Workstation commands UNION, INTERSECT, IDENTITY, INTERSECT will not work.
  • there are too many records to transfer for the Workstation ArcEdit TRANSFER commaned to be feasible
  • ArcMap ‘spatial join’ was initially promising, but it ignores polygons which have non-coincident geometry.
  • Using the ArcMap ‘spatial adjustment’ tool is not suitable as it is interactive. (See this ESRI Forum thread: transferring attributes from one feature to another)

The Solution

Instead of bringing the attributes to the geometry, bring the geometry to the attributes. Special thanks to the ESRI-L mailing list, again, and Andrew Makepeace, again:

  1. Transfer the wanted attributes from the region subcoverage to the polygons; REGIONPOLY
  2. Delete the data_cover arcs
  3. Put the geometry_cover arcs to the data_cover
  4. Save, clean, and rebuild the regions.
Arc: REGIONPOLY data_cov data_poly  regname
Arc: ARCEDIT
Arcedit: snapping off; nodesnap off; arcsnap off     #!IMPORTANT! [1]
Arcedit: EDITCOVER data_poly ARC
Arcedit: SELECT all
Arcedit: DELETE
Arcedit: GET geometry_cov
Arcedit: CLEAN 0.001
Arcedit: SAVE
Arcedit: QUIT
Arc: DROPITEM data_poly.pat data_poly.pat data_cov-id
Arc: POLYREGION data_poly data_poly regname

[1] Turning the snaps off is important to preserve the good geometry as-is-where-is.

Leave a Reply

Your email address will not be published. Required fields are marked *