Skip to main content
Solved

Rule based handling of Lists

  • November 27, 2017
  • 2 replies
  • 11 views

aron
Supporter
Forum|alt.badge.img+16
  • Supporter

Background:

I am maping a system of marked trails in a national park. There are dedicated trails for hiking, short walks, skiing, cycling, snow mobiles, snow shoes and what have you. In short it looks like someone droped a bowl of noodles over the place. In many places there are many uses for the same trail section, and it is these overlaping sections that I am trying to clean up.

 

Question:

I have used LineOnLineOverlayer to find the overlaping sections and have created a List over the attributes that identify the type of trail, but from there I have not found the tools to move on. What I would like to do next is to break appart the overlaping sections from their original longer lines and apply a number of sorting rules to the List. Some examples: Where hiking and skiing overlap I would like to delete all but one polyline and give this a new code. If there is a Nature trail I would like to delete everything else but that. If there is a cycling trail I would like to keep that for later regardles of what else there might be. And so on. Is there a transformer for Lists similar to TestFilter? If not, what would be an alternative method to accieve the above?

Lastly I would like to offset some of the trail types, eg cycling. I have not tried this yet but hope that

OffsetCurveGenerator will do the trick, if not I might have to pester you with more questions.

The final output will be output to a shape file for final styling in Illustrator.

Best answer by takashi

Hi @aron, if I understand your requirement correctly, you can concatenate the list elements containing identifiers of trails using ListConcatenator, and then filter the features with the TestFilter, using test clauses with "Contains" or "Contain Regex" operator.

View original
Did this help you find an answer to your question?

2 replies

jdh
Contributor
Forum|alt.badge.img+28
  • Contributor
  • November 27, 2017

The LineOnLineOverlayer will have already split your original lines at the overlaps. Ex. two lines that share a common segment will be split into three features.

 

You could use a combination of ListSearcher(s) (NatureTrail in _list) and/or ListSorter/ListIndexer/Tester to separate your data.

takashi
Contributor
Forum|alt.badge.img+19
  • Contributor
  • Best Answer
  • November 27, 2017

Hi @aron, if I understand your requirement correctly, you can concatenate the list elements containing identifiers of trails using ListConcatenator, and then filter the features with the TestFilter, using test clauses with "Contains" or "Contain Regex" operator.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings