1

I am beginner in ModelBuilder, so I have some trouble with it. I have feature class, which contains forest stands (polygons) and table with data about age of their etages. For example, one forest stand can have the first etage (50 years) and the second etage (100 years) - relation 1:n. How can I join this table and FC ? I have to create tool, which select forest stands according to age (for example, I want to select all stands, which have 100 years etages) but I am not sure how to create it.

Tool in ModelBuilder with "add join". It works uncorrectly. JPRL=shape with stands, vek=table with ages.

enter image description here

Shape "jprl" with stands (polygons).

enter image description here

Table "vek" with ages (column "vek") and etages (column "ET").

enter image description here

ID field is IDPS.

  • You can use the Join tool to transfer the forests age information from the table based on the common field (forest area id or similar). Look here: http://resources.arcgis.com/en/help/main/10.2/index.html#//005s0000002q000000. After you joined the data, it is just about doing the Select By Attribute specifying what value you want to have in a certain column. – Alex Tereshenkov Mar 09 '15 at 09:45
  • @AlexTereshenkov I think the issue is that it's a one-to-many join, which won't work. It would be possible to use a method that would duplicate each stands' polygon n times to match up to each row in the table, but then you've got stacked polygons. You could also use a Relate, which would let you click on a polygon and see all table rows related to it, but that's not a selectable thing as far as I know. The other option is to reformat the data - see my answer at http://gis.stackexchange.com/questions/115634/ Without seeing a sample row from the table I can't really offer specific suggestions. – Chris W Mar 09 '15 at 18:33
  • @AlexTereshenkov I really appreciate your advice. Tool with "add join" works uncorrectly, because it works only in relation 1:1. And I can't find any "relate" tool. – Martin Zápotocký Mar 09 '15 at 21:22
  • @ChrisW I read your answer about reformating the data, but I'm not sure how it works. I update my question, there are some pictures. – Martin Zápotocký Mar 09 '15 at 21:23
  • I've never done a Relate within ModelBuilder, but we have a few questions on the topic and I noted Google results for "ArcGIS modelbuilder relate". As for reformatting, in looking at table vek you'd need to make it so you have one row per IDPS with as many columns as needed to cover any duplicate rows. This could be columns ET0, ET1, ET2 with the appropriate VEK value in each column. There's a couple of ways to do that, but it gets a little convoluted to do completely within ModelBuilder. Is that needed, or could you preformat? – Chris W Mar 09 '15 at 21:47
  • @ChrisW I try to create something like this this example 2. When I use "Make query table" I gain correct table, but this table is only temporary. When I use "copy features" like in example, I haven't a possibility to choose this correct table in menu, becuause it is not features (it's only table but I need polygons (stands) with correct table to select stands by age).Is it possible to create from correct table from "Make query table" some feature class? (Sorry for my English, I am not native English speaker ...) – Martin Zápotocký Mar 10 '15 at 20:30
  • If you don't specify fields to include with the Make Query Table tool in the in_field parameter, it should include all fields by default. If you do specify any fields, you need to make sure to include the Shape field from the polygon table in order to create a layer (features) rather than just a table view. Be aware, as I pointed out earlier, that in using this method the resulting feature class will have multiple copies of the same forest stand stacked on top of each other, each with different attributes. – Chris W Mar 10 '15 at 20:44
  • I think the key to this, which is what I think @AlexTereshenkov may have had in mind, is to still use Add Join but to reverse the order of your join and target tables so that you can work with a many-to-one (which it does support) instead of a one-to-many. – PolyGeo Mar 14 '15 at 10:10
  • @PolyGeo Unfortunately that won't work in this case - see similar question http://gis.stackexchange.com/questions/92694/ where the goal is joining tabular data to points. While the join will work that way, with reversing the direction as you suggest, it doesn't carry over the geometry in such a join - the result is a geometry-less table. – Chris W Mar 15 '15 at 20:47

0 Answers0