Skip to main content

Hello ,

i have self intersection at specific line .

but Geometry validator did not catch it .

I have read at other article that it is better to use chopper vertex 2 and snapper segment to let geometry validator to detect self intersection issue ?

I have tried it but it does not work .

is there other suggestion that I have to try ?

FME 2021

thanks in advance .

Did you try increasing the Tolerance parameter for “Self-Intersections in 2D”?


I think self intersection 2d transformer does not work in Fme 2021 .

Is  there any difference between self intersection 2d trafo and geometry validator (self intersection 2d )

i think tolerance was automatic in geometry validator .

what are you doing to  to detect all self intersection in lines ?


from FME 2021

Hi @gogopotter90 If you increase the Tolerance enough then the feature should fail (or get repaired) because it finds an intersection.


@DanAtSafe 

thanks a lot .

 

When I use repaired as yes , it repaired the self intersection by removing the vertex that cause self intersection but it leads to change the geometry of line .

The line from repaired port seems to be parallel from the original line .(when I compare both of them )

But I would like to solve issue of self intersection and keep the line as original line .is it possible ?

what is ur suggestion ?and thanks alot for ur help .


How to repair the self intersection without any effecting on  the shape of original line ?


Any repair will change the shape of the original line.  You don’t have a choice in how the GeometryValidator repairs it.  I’d suggest that you don’t repair the feature but just identify the self-intersecting line (failed port) and modify the geometry with another transformer.


Thanks for ur reply

i want to learn new ideas but anyway ,I will try to find suitable solution for me .

But is there an ideal solution to solve self intersection from failed port with the lowest effect on the shape of line ?

 


Sometimes I could not see the self intersection that FME detected .

fme detected self intersection ,point in specific line .but when i have a look on it ,I could not recognize the issue .

How could I inspect the issue Manuel at specific point ?


@gogopotter90  Do any points come out of the IssueLocations port or lines out of the InvalidParts port? Or do the line features pass because no self-intersection was detected?


There are. Points output at issue location .

But  self intersection for me ,it means when the line intersect itself at specific point .


but the line is crossing at point that detected as self intersection (so i did not understand the reason of detecting ) .no vertex of line at this position 

 

So why did  geometry  validator detect issue location point  although this position has no vertex from line (line is crossing itself ) ?

i have checked the coordinates vertex  of the line ,no vertex at this position (vertex are far away of the point of issue location )


If two segments of the same line intersect that the GeometryValidator should create an IssueLocation point and fail the feature or else repair it by inserting a node at that location.  There does not need to be a vertex (or 2) at that location.  It finds self-intersections of the line, not duplication of vertices.


@DanAtSafe thanks a lot 

It is clear now .

for solving self intersection issue 

I use repair yes , I find that it divides the line to many parts (line and closed area ) to solve the self intersection problem .

but my question : Does it change the shape of the original line ? Geometry or anything  ? 

what is effecting of dividing the line  into many parts on the line (because I have used geometry filter and the type is still line ) ?

       

     


 

thanks for help .


Reply