Skip to main content
Solved

PointOnLineOverlayer only outputs points on one end of the line not both ends


vxn43
Supporter
Forum|alt.badge.img+18

I have two GDB Feature Classes: street centerlines (polylines), and cross streets (points). The values in the cross streets field are, for example, in this format "A St/Elm St/Fern Ave". These are all the cross streets at each intersection.

I am using the PointOnLineOverlayer to join the points at each end of the line. There is one point at each end of each line. I have unchecked Merge Attributes. I have checked Generate List On Output Line.

 

I checked and all points are snapped to each end of the line.

 

I have increased the Point Tolerance in the PointOnLineOverlayer in increments up to 50 and there is no change to the output.

I created 2 Lists, PT(0)_CROSS_ST_NAMES and PT(1)_CROSS_ST_NAMES. PT(0) captures the cross streets (a single point) at one end of the line, PT(1) captures the cross streets (a single point) at the other end of the line.

When I run the transformer in some situations it duplicates the line and places the cross streets that should be in PT(1)_CROSS_ST_NAMES into PT(0)_CROSS_ST_NAMES in a duplicate record in the table. Reference the screenshot of the cross st names table below.

The highlighted rows in the table are:

CALAVERAS AVE/WILFORD ST

CALAVERAS AVE/SUTTER ST

 

They share a common street name (the name of the line segment that intersects each point) is CALAVERAS AVE.

 

CALAVERAS AVE/WILFORD ST should be in PT(1)_CROSS_ST_NAMES not in PT(0)_CROSS_ST_NAMES and there should only be a single record for the street segment.

 

The table should have a single record for CALAVERAS AVE with PT(0).CROSS_ST_NAMES = CALAVERAS AVE/SUTTER ST and PT(1).CROSS_ST_NAMES = CALAVERAS AVE/WILFORD ST.

Cross_Street_Names_issue 

Here is an illustration of the issue I am encoutering:

Line Segments with Points Problem Illustration 

Here are the settings I used in the PointOnLineOverlayer Transformer:

PointOnLineOverlayer 

After the PointOnLineOverlayer I use AttributeRenamer to rename the Lists:

Transformer after PointOnLineOverlayer

Best answer by vxn43

FME Tech Support solved the problem almost immediately. The solution was to add a Deaggregator and LineCombiner Transformers before the PointOnLineOverlayer.

WorkspaceDiagramSolution

View original
Did this help you find an answer to your question?

3 replies

nielsgerrits
VIP
Forum|alt.badge.img+54

It is a very detailed question, but I'm not sure if I understand what you try to achieve.

 

About the duplicates, do the input's have Aggregates? Because Aggregate Handling is set to Deaggregate. This setting will explode the Aggregates into single features. You can test this with an AggregateFilter.


vxn43
Supporter
Forum|alt.badge.img+18
  • Author
  • Supporter
  • September 15, 2023

Thank you nielsgerrits. I tried the Aggregates and it did not work. I have contacted FME Tech Support. Once I get an answer I will be sure to post it here. Thank you, you are always so helpful.


vxn43
Supporter
Forum|alt.badge.img+18
  • Author
  • Supporter
  • Best Answer
  • September 15, 2023

FME Tech Support solved the problem almost immediately. The solution was to add a Deaggregator and LineCombiner Transformers before the PointOnLineOverlayer.

WorkspaceDiagramSolution


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