BatchTransferAttributes

    Table of contents
    1. 1. What Doesn't Work
    2. 2. The Solution

    Version as of 01:34, 15 Jan 2012

    to this version.

    Return to Version archive.

    View current version

     

    In the late 1990's we received a large-scale update to all of our waterbodies and watercourses, covering some 55 NTS map sheets and an unremembered thousands number of features. We needed to keep the value added attributes of our old hydrology (lake names, surface elevation, etc.) and replace the geometry. The geometry of old and new were close enough that we could guarantee the centroids of each polygon would still be bounded by the new polygon boundaries. So:

    1. Data_Cov has the attributes we need in Arcinfo region subcoverages; the geometry is unwanted.
    2. 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

    • The geometry of Data_Cov is unwanted, so 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.

        Send feedback