Skip to main content

Hello everyone,

I'm stuck on something in FME and looking to you all for assistance.

Little background for the following example is I work for a Large Utility Company and working with data in an electrical system which is Points and Lines:

Here is the the basic description of my problem and what I am looking to achieve and I have the workbench built (or did until I ripped it apart trying to solve this).

I have a LINE object (Primary Conductor) being filtered by an Attribute (Circuit) and have multiple different features (all points, representing the different electrical devices) which have a Circuit field but in some TiePoint cases the Circuit field could be different.

Therefore I am running a SpatialFilter on those points that touch the conductors and after it runs through the rest of the workbench produces an object named by circuit and the type of device it is.

My workbench accomplishes everything I need it to EXCEPT the points that join between two different circuits (Lines with different circuit in Circuit field) outputs only one for one circuit.

I need it to output for two circuits.

Here an example.

There is a CUTOUT (Point Object) between Circuit 1A1 and 2B2 (Line Object) when it exports it will export for one of those circuits and not both. I need to be able to create the feature based on spatial join for each of those objects so when I have writer write based on circuit it will add to 1A1_Cutouts and 2A2_Cutouts.

I have already made sure there is no duplicate attribute names etc to cause conflict (BulkAttributeRenamer).

Anyone have any idea how I can solve this?

Thank you in advance,

Savas Giarenakis

Have you tried the NeighborFinder (distance 0) to find touching objects?


Have you tried the NeighborFinder (distance 0) to find touching objects?

ive tried so many things. The problem is making it make a duplicate of that point that is touching conductor that has different circuit. Spatial is working fine I just dont know how to make a duplicate record for it so it will export two at end one for each circuit.

 

 


Have you tried cloning these points (one for each circuit) using the Cloner transformer, before feeding them to the SpatialFilter?


Have you tried cloning these points (one for each circuit) using the Cloner transformer, before feeding them to the SpatialFilter?

I have not but how will that work if it doesnt know the different circuits until AFTER the spatial filter?
I have not but how will that work if it doesnt know the different circuits until AFTER the spatial filter?
Ok, that is an issue.

 

How about this: Use the SpatialFilter for all objects except these connecting points.

 

Then use for the connecting points a NeighborFinder, but use the point as base and the conductor as candidate, so each point can have multiple conductor (use a list, followed by a ListExploder to duplicate the points per conductor).

 

Does that make sense?

 

 


Ok, that is an issue.

 

How about this: Use the SpatialFilter for all objects except these connecting points.

 

Then use for the connecting points a NeighborFinder, but use the point as base and the conductor as candidate, so each point can have multiple conductor (use a list, followed by a ListExploder to duplicate the points per conductor).

 

Does that make sense?

 

 

 

it does but I have never used lists before but I see them in the transformers. Im going to absolutely try this tomorrow. I will follow up tomorrow with how this works.

Reply