Skip to main content

Hi all,

 

I am working with a dataset that has been generalised and contains ALOT of spikes so I am trying to clean them up. Spike Remover- easy, its a great transformer.

 

However there are spikes I want to keep and those I don't so I have been running a lot of tests on the parameters to get the optimum balance . When you set the parameters you can choose your max angle and length and if the criteria is met then spike is removed. The output shows the spike line segment values 1 & 2 for both sides. It seems to me that if one of the Spike lengths meet that max value criteria then the spike is removed. What I want is to have the option of when both spike lengths meet a criteria then spike is eliminated. This way I have much greater control over what is being removed and allows me to better keep the integrity of the dataset .

 

Am I missing something that I cant do this easily?

 

My Fix--I have put in some rules that basically takes the spike remover outputs for spike_length and tests that both lengths meet the criteria I want and then send this feature that meet my criteria back into the spike remover for actual spike removal . This works fine, with exception of when I have multiple spikes on one feature and some of them I want to keep and others I dont. When that feature is retested I end up back in the scenario of removing some spikes I want to keep because they fall on the same feature as ones I am trying to remove.

 

So for example I have a couple of spikes along this road. I want to remove these ones highlighted in yellow that both spike lengths are less than 10m

spikes

 

What ends up happening is the spike above also gets removed and I would prefer that this one remained intact as one length is larger than 10m

 

spikeremoved

 

 

My fix only works for single features. I feel like I am missing something here or is this just the limits of the tool?

 

Thanks for your input

 

Maybe the zigzag remover might be the tool for me seems to do something close to what I am after as it allows for an average of the two line lengths


Reply