Skip to main content
Hi everybody!

 

I have tried to remove collinear points without sucess.

 

For example, a square(polygon) but between two vertex I have one or more collinear point's. So how to remove this???
Hi,

 

 

When your FME version is 2012 or later, you can use CollinearSliverRemover from FME Store.

 

 

Takashi
Hi - Try the DuplicateCoordinateRemover or with FME 2013+ use the rule 'Duplicate Consecutive Points' in the GeometryValidator. Hope that helps.
Perhaps I am interpreting "colinear point" differently from my colleagues, but if you mean "points along the edge of the polygon that do not change the shape", a Generalizer set to the Douglas mode works wonders, but (and this is important) only in 2D.
I have used with success the generalizer (Douglas), although you need to experiment with the parameters, which are dependend if you are using geographical coordinates or a projected system.
Yes, collinear means points long the same line, but sometimes this is because they backtrack (in what would be a loop if it were not along the same line) or they are duplicates. eg you have 5 points in a row and the order is 1-2-4-3-5. I think at Safe our geometry team includes these in our definition of collinear.

 

 

In that case the GeometryValidator will help. Otherwise, yes I'd go with the Generalizer using one of the algorithms listed as "Generalizing".

 

 

Mark
Thanks so much everybody!!!

 

The generalizer transformer works very well!

 

Sorry, I'm beggining in GIS.

 

I have many DGN files and I have to extract and put in Oracle Database.

 

Each one has a lot geometry problems, and most erros are ora-13356 and ora-13349.

 

 

 

 


Hi @takashi,

 

 

The transformer you mentioned in 2013: CollinearSliverRemover, sounds like the exact operation I need for a problem at hand. Since it's 2017 now and the FME-store doesn't exist anymore and I can't find the specific transformer anywhere on the net, I want to ask you if you have a copy or if there is an other solution to my problem?

 

Thanks in advance.

 

 

Kind regards,

 

 

Ronny

 


Hi @takashi,

 

 

The transformer you mentioned in 2013: CollinearSliverRemover, sounds like the exact operation I need for a problem at hand. Since it's 2017 now and the FME-store doesn't exist anymore and I can't find the specific transformer anywhere on the net, I want to ask you if you have a copy or if there is an other solution to my problem?

 

Thanks in advance.

 

 

Kind regards,

 

 

Ronny

 

Sorry, I don't have any copy of the transformer. As other users suggested, I think the Generalizer or the GeometryValidator could be helpful in many cases. If those transformers could not resolve your problem, post a new question with explanation about your specific conditions and requurements.

 

 


Hi @takashi,

 

 

The transformer you mentioned in 2013: CollinearSliverRemover, sounds like the exact operation I need for a problem at hand. Since it's 2017 now and the FME-store doesn't exist anymore and I can't find the specific transformer anywhere on the net, I want to ask you if you have a copy or if there is an other solution to my problem?

 

Thanks in advance.

 

 

Kind regards,

 

 

Ronny

 

The transformer is still available on the Hub:

 

https://hub.safe.com/transformers/collinearsliversremover

 

Since it's flagged as deprecated it won't show up in the Workbench, but you can still download and install it manually.

 


Sorry, I don't have any copy of the transformer. As other users suggested, I think the Generalizer or the GeometryValidator could be helpful in many cases. If those transformers could not resolve your problem, post a new question with explanation about your specific conditions and requurements.

 

 

Thanks for your reply!

 

 


The transformer is still available on the Hub:

 

https://hub.safe.com/transformers/collinearsliversremover

 

Since it's flagged as deprecated it won't show up in the Workbench, but you can still download and install it manually.

 

Thanks I'll give it a go!

 

 


HiYa,

As well as cleaning up the data u have (eg with GeometryValidator) - another approach is to try recreating (clean) polys as follows:

1. If not already id'd - use CounterTransformer to give each poly a unique id

2. Try using Transformers like the BoundingBoxReplacerTransformer OR HullReplacerTransformer.

Group by... on the newly created poly_id

3. This should hopefully create new clean polys with no extra unwanted verticies

.............

If u have rectangles / squares......

and you use the BoundingBoxReplacerTransformer - you may want to try using in rotated mode if polys are rotated (or may be rotated).

..............

Hope this helps and gives u some ideas

................

Bye

Howard L'


Perhaps I am interpreting "colinear point" differently from my colleagues, but if you mean "points along the edge of the polygon that do not change the shape", a Generalizer set to the Douglas mode works wonders, but (and this is important) only in 2D.

This was exactly what I needed for my project at work, thank you so much! The sliver remover altered my geometries too much and got rid of (intentional) overlaps.


Reply