Skip to main content
Question

I am trying to extract same attributed line segments that share end and start nodes with two other same attributed line segments.

  • September 27, 2018
  • 6 replies
  • 31 views

Forum|alt.badge.img

In this case they are steel pipe segments that are in between two plastic pipe segments. Does anyone have any ideas about which direction to go in with this? I've included an image for reference.

6 replies

takashi
Influencer
  • September 27, 2018

Hi @boniagbaniyaka, once transforming the line into a MultiPoint that consists of the start and end nodes of the original line, you can use the SpatialRelator to collect attributes of other lines which touch those points. You can then determine if the touching lines have the same attribute.


Forum|alt.badge.img
takashi wrote:

Hi @boniagbaniyaka, once transforming the line into a MultiPoint that consists of the start and end nodes of the original line, you can use the SpatialRelator to collect attributes of other lines which touch those points. You can then determine if the touching lines have the same attribute.

Hi @takashi, is there a way to sift out the lines that touch 2 (material = plastic) nodes? Meaning the lines in question would be touched by a plastic attributed lines on either side, like the reference picture above.

 

 


Forum|alt.badge.img
takashi wrote:

Hi @boniagbaniyaka, once transforming the line into a MultiPoint that consists of the start and end nodes of the original line, you can use the SpatialRelator to collect attributes of other lines which touch those points. You can then determine if the touching lines have the same attribute.

0684Q00000ArMUSQA3.jpg

I've decided to turn the plastic pipe line segments into vertices, and now use SpatialRelator to find line segments that touch plastic pipe vertices. The only problem is I need to filter this output down to line segments that touch 2 vertices only. Logic: this would give me the line segments in between two plastic pipe segments. Any help on this would be wonderful.

takashi
Influencer
  • September 29, 2018
takashi wrote:

Hi @boniagbaniyaka, once transforming the line into a MultiPoint that consists of the start and end nodes of the original line, you can use the SpatialRelator to collect attributes of other lines which touch those points. You can then determine if the touching lines have the same attribute.

You can collect attributes of desired plastic pipes with the SpatialRelator, if you transformed the steel pipe into MultiPoint consisting of its start/end nodes, as I suggested at first. This is a possible workflow.

 

In addition, if you save the original line geometry as an attribute with the GeometryExtracter beforehand, you can replace the MultiPoint with the original line later, if necessary.

 

 


Forum|alt.badge.img

@takashi I've actually transformed the plastic pipes into a multipoint layer consisting of start/end nodes, as you suggested, so that im now dealing with points and lines as opposed to one polyline layer. I have both layers prepped and I have managed to use SpatialRelator to find out which steel pipes touch plastic pipe vertices. The problem: I need to figure out which steel pipes touch 2 plastic pipe vertices. This goes beyond the options of the SpatialRelator transformer, and I cant find a transformer that will give me this narrowed down output. Thanks.


takashi
Influencer
  • September 29, 2018
boniagbaniyaka wrote:

@takashi I've actually transformed the plastic pipes into a multipoint layer consisting of start/end nodes, as you suggested, so that im now dealing with points and lines as opposed to one polyline layer. I have both layers prepped and I have managed to use SpatialRelator to find out which steel pipes touch plastic pipe vertices. The problem: I need to figure out which steel pipes touch 2 plastic pipe vertices. This goes beyond the options of the SpatialRelator transformer, and I cant find a transformer that will give me this narrowed down output. Thanks.

My intention is to transform "steel" pipe into MultiPoint and send it to the "Requestor" port of the SpatialRelator, to collect attributes of pipes which touch start or end nodes of the "steel" pipe. You can do that just using the Generate List option in the SpatialRelator.

 

The reason for transforming steel pipe into MultiPoint is that a pipe could touch at middle point of the steel pipe, as shown in the screenshot you have posted first. If actually there are no cases where a pipe touch at middle point of steel pipes, you don't need to transform them into MultiPoint features.

 

Anyway, I'm unclear why you send "plastic" pipes to the Requestor port.

 


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