Question

Merging atttributes

  • 5 December 2016
  • 4 replies
  • 1 view

Badge +3

I have a lake dataset which I have aggregated and dissolved which has almost given me the right results. However as you will see from the results I have Lake Okataina and Lake Okataina/Te Moana i kataina a Te Rangitakaroro. Lake Okataina is larger than Lake Okataina/Te Moana ... however once I aggregated and dissolved I get Lake Okataina. How do I merge the LakeName so that I keep the whole name and not just Lake Okataina. I've tried tweaking a few of the dissolver parameters but this doesn't seem to have given me the result I want.

Cheers,

Sarah


4 replies

Userlevel 2
Badge +17

Hi @gisgeek, if your requirement is to keep the longer name "Lake Okataina/Te Moana..." as "LakeName" value after aggregating or dissolving the two features (#392 and #393), try sorting the features by string length descending beforehand. You can use the StringLengthCalculator to get the lenght of a string (i.e. the number of characters).

If you don't want to change the original order of the lakes, get string length of each lake name as well, generate a list that stores input attributes when aggregating, sort the list by lake name length descending with the ListSorter, and then extract the first element of the list with the ListIndexer.

Badge +16

Optionaly after aggregation (with the list option),sort the list on the lake name and use conditional values in the attribute manager for the specific case of lake Okataina to map the lake name attribute.

Hope this helps.

Userlevel 4
Badge +25

Maybe also set a list in the Dissolver, then use a ListConcatenator to concatenate all of those names together - if you want all of the names in a single attribute.

Badge +3

Thanks for your suggestions I found the Generate List in the Dissolver did the job,exposed the elements on my Lakes List and then used the conditional values to get a list of names that included the full names of the lakes.

Reply