1

I used vector output from modeling software as clip features for ecoregion input. I reclassified and dissolved the clipped layers into 3 subunits, and now would like to transpose those simplified values to the source ecoregion layer in areas of intersection, such that the same 3 field values from the clipped layers are mapped onto the source ecoregion layer.

I need to do this for about 200 pairs of shapefiles, and it seems like there must be some at least partially automated way to approach this.

Top Layer displayed 50% transparent by the field value I need to transpose to bottom layer

In the image below, I've symbolized the 3 field values semi-transparently over the source ecoregion layer. You can see that a single value polygon in the top layer overlaps multiple polygons in the source layer, but the outer boundaries of the individual polygons of the source layer exactly match the simplified polygons of the top layer.

Field values from top layer transposed to bottom layer

In this image, I've reclassified the source ecoregion layer to match the field values of the top layer, such that the field values from any polygons from the top layer that intersect with polygons in the source layer are copied to the attribute table of the source layer.

I've been doing this via manual selection and the attribute table field calculator, but this will take forever for 200 sets of vector data.

Anyone know of either a canned tool in arcGIS that could help with this, or python coding approach that could help speed this up?

Thanks in advance for your help!

EDIT in hopes of clarifying: For polygons in the reclassified Layer A and Layer B (ecoregions) that intersect, I'd like to populate the subunit field in Layer B with the same value as the subunit field in layer A.

This is the attribute table of the reclassified Layer A: Reclassified attribute table

This is the attribute table of the source ecoregion Layer B after I've manually populated the subunit fields based on intersection with Layer A: enter image description here

  • 1
    What is your workflow if you have more than one clipped features intersecting a source ecoregion feature? – artwork21 Jun 23 '14 at 16:47
  • I'm using modeling software that generates various polygon shapefiles based on 6 climate scenarios. These shapefiles represent the ranges of multiple species. I extracted ecoregion polygons from the source layer using these species range shapefiles. The reclassification of the ecoregion values within these ranges is somewhat subjective and different for each species, but I'd like to compare the areas of the simplified polygons within the range shapefiles to the areas of the aggregated ecoregions that intersect those simplified polygons in the source layer. – Vergentorix Jun 23 '14 at 16:57
  • I hope that was clear enough, & answered your question. – Vergentorix Jun 23 '14 at 16:57
  • 1
    This is an interesting question but as it stands I'm having a hard time trying to figure out your workflow or what exactly you're trying to do. It may be helpful to edit your question include screenshots of your attribute table and what your desired outcome is. Perhaps, if necessary simplifying it to something like: "I want to see if ecoregion A interesects with ecoregion B, and if they do populate a field1 in A with B's corresponding value (for field2)" – GISKid Jun 23 '14 at 17:05
  • 1
    Actually, you totally comprehended the question. I have a layer with simplified values, and if a polygon of that layer intersects with a polygon of the other layer, I want to assign the simplified polygon value from the top layer to the polygon in the other layer. I'll edit the question to try to make that more clear. – Vergentorix Jun 23 '14 at 17:10
3

The type of relationship between your two levels of polygons is not perfectly clear, but I think that you could do this in a few automated step in any cases.

Case 1 : Many to one relationship. In other word, the smallest polygons are never overlapped by more than one type of the larger polygons.

In this case, you can use "intersect" or "spatial join" that will create a new feature class where you will find the attributes of both layers. If, for some reason, you do not want to create a new feature class, you can also build the centroids of the small polygons (feature to point with the INSIDE option, spatial join with the large polygons, the table join to have the attribute in the attribute table of the small polygons).

Case 2 : Many to many relationship. In other words, one small polygons could overlap two or more regions. Then you need to concatenate the field information.

This case is more complex. You can first run "Tabulate Intersection" in order to have a table with all the overlap. You can directly create a relationship between this table and your small polygons, but this might not be exactly what you are looking for (you can see the information with the identify tool, but many tools will not be able to use a relationship directly). If you are sure that there is never more than two overlapping features (this is likely to be the case from what I see on your illustration), you can then use "summarize table" on the OID of the small polygons with first and last values of your field of the large polygons. Then you have one table with the OID of your small polygon, the first value of your larger polygon and the last value of the larger polygon. based on the field calculator, you can concatenate these values.

code block (Python)

def concat(first, last):
    if first == last:
        return first
    else:
        return (first + " / " + last)

in the calculator

concat(!first!, !last!)
  • Thanks very much for your help. After some experimenting, it actually looks like all I need is the spatial join tool. I can use the source shapefile (Layer B) as the Target Features, and the reclassified shapefile (Layer A) as the Join Features. Then I do a one to many join with the "Contains" match option. This seems to work so far. Thanks for getting me on the right track! – Vergentorix Jun 23 '14 at 18:14
  • be carefull that you will then create several overlapping polygons if your large polygons contain more than one small one. Make sure that this is exactly what you need. – radouxju Jun 23 '14 at 18:23
  • You're right... still working on this. – Vergentorix Jun 23 '14 at 18:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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