Skip to main content

Hi All,

Novice, here.   I am trying to work with two different layers where I want one set of data to overlie another set of data.  I don’t know how to move the lines, adjusting them so they will match the sister layer.  I have tried Neighborfinder, anchored snapper, was looking at affiner, orientator and geometry coercer, and any other transformer I thought might work.  I suspect there are many steps involved in this process, but I really don’t know where to begin.   

 

Below is an example of my data set.  I would like the black lines to match the red lines.  Is this doable in FME?

 

Please let me know if more information needs to be provided.   Thanks for any help.  It is greatly appreciated!

 

Version: ME(R) 2023.1.0.0 (20230825 - Build 23619 - WIN64)

 

 

 

Hi amt, I think you have tried some of the transformers that would definitely assist. Is the spacing of the red lines regular? If so perhaps start with the 2DGridAccumulator. It provides many options for creating a regular grid cell size starting corners and creating point or line outputs. From there, convert the points with LineBuilder and/or the polygons with coercing?


Maybe try a Community Hub Transformer called FuzzyParallelLineFinder

I trialled a sample: It needs some trial-and-error on the Sampling and Search Distance parameters, but it worked as far as I could tell.

It kind of looks like it works how I would otherwise manually do it, by using a NeighborFinder or a Matcher with a Search Distance to find potential nearby line Candidates in a List, and then compare the Sum of the Square of Distances between their respective Minimum Bounding Rectangle X and Y coordinates, which can be derived for each line by running through BoundsExtractor.  Whichever candidate has the least sum of square of distance between the (Xmin, Ymin) and (Xmax, Ymax) for the target line vs candidate lines will be the likely candidate line to match to.

 


The spacing of the red lines is not 100% regular.  It will vary from area to area, but I will give both a try and let you know.  Thank you so much for the feed back!

 

 


Reply