Skip to main content
Hi!

 

 

I would like to snap a layer to a base layer, so I tryed the AnchoredSnapper and the Snapper transformers with tolerance. However, I cant achieve to have a perfectly snapped layer, because sometimes the tolerance is too short and sometimes to large. ( I suppose its a common problem when working with complex dataset)

 

 

The other solution I  am thinking is to snap vertex when they share a common attribute. I though about using the topologybuilder in order to have only lines and give a common attribute to those line when they intersect and then snap them.

 

 

Do you think its feasible or a going in wrong way? Can you help me achieving it?

 

 

Thank you:

 

 

What I want to do:

 

Hi,

 

 

Before, I undertook a project including similar transformation. The basic strategy is to assemble subdivision area using these parts: 1) city boundary 2) border line between subdivision areas (except exterior line) 3) short line that bridges the gap between end of border line and the closest vertex of city boundary    This zipped workspace (including test data) is a simplified version. Please download and evaluate.

 

As you mentioned, I think this is a common subject. Hope more elegant solutions will be provided by somebody!   Takashi

 


Hi Takashi,

 

 

Thank you for your help. I have made many tests with your workspace with several samples of my dataset.

 

 

I have seen 3 major problems with the output but I could not identify the problem exactly in the translation

 

 

1. Divisions that are completely inside a city without touching its borders are lost

 

2. Other divisions are lost during the translation (curiously its mostly those that have a coast side)

 

3. Some divisions are duplicated (it happens when a division is in fact a grouping of many cities)

 

 

I have also tested to diminish the tolerance but those errors still stay

 

 

I have uploaded my dataset sample if you want to try.

 

 

Conflation Data Sample

 


Hi,

 

 

Your data contains aggregate and donut polygons, but my example workspace doesn't support them. And also, since the workspace requires that one city area is represented as one polygon geometry, I suppose that I need to merge (dissolve) city polygons by city ID. So, It's necessary to consider some pre-processes.   Which attribute is the unique ID of each city? Does every division feature have an attribute indicating the city to which the division belongs? If you provide more information about attributes, I'll try improving the workspace this weekend.

 

 

Takashi
Hi,

 

 

The unique id of the cities is Code_Mun. However, there is no attribute indicating to wich city each subdivisions belong because some subdivisions may be made of parts of more than one city, and some subdivisions can also be made of several entire city.

 

 

In fact the subdivisions are electoral councils, so they were design in term of population more than in term of city geometry. Cities with low population can be regroup into one council (subdivision).

 

 

I hope you could find a solution, thank you very much. Now I will do some tests with preprocessed data.
Hi,

 

 

I created new workspace to adjust boundaries of cities and divisions. Basic strategy is to overlap all polygons, remove very small fragments and re-create polygons using boundaries of remaining polygons.

 

I uploaded the workspace here (without sample data). It's not perfect but includes some ideas to perform adjusting the boundaries. Use any ideas if those can be applied for your purpose.

 

 

Takashi
This workspace is based on another thought. It's probably better than the previous example but still not ideal. It's not easy to achieve an ideal solution. I think that finally manual confirmation and modification cannot be avoided in such a processing.

 

 

Takashi
Good day,

 

 

I will try your workspaces with much pleasure. Filtering residual polygon by area should do the job. I will post my results in a few days.

 

 

Thank you very much for your help it is really appreciated.

 

 

Best regars,

 

Max Demars
After running the last workspace you had submitted, the results are excellent. On 987 subdivisions only 19 totally desapeared and in general all the subdivisions were processed correctly. Only at some places we found little errors but we can perform query to isolate them and correcting them manually wont take a long time.

 

 

I have done litle modifications on your workspace. First I changed an option in the AnchoredSnapper to set the Snapping Type to Vertex Snapping. This have reduced a little the number of desapeared subdivisions.

 

 

Other thing, I had to remove the SliverRemover transformers because they were causing an anormal abortion during the translation, even with a Desaggregator and a DonutRemover. I did not saw an impact of removing those transformers as the input data was already cleaned with a SliverRemover.

 

 

I would like to thank you greetly for your help. This workspace will save us a lot of manual and boring work. My colleagues would like to send you flowers for your effort.

 

 

Best regards,

 

Max Demars
Hi Max,

 

 

I'm glad to know you got a solution, and thank you for those kind words. This was an interesting challenge, and also the solution can be applied to my own similar projects. Let's do our best!   Regards,

 

Takashi
Hi Takashi,

 

 

I have almost a similar problem, besides that I need to snap with a tolerance of 60cm OUTSIDE the base feature.

 

 

My algoritme is as follow:

 

 

Description Algorithm

 

 

1 Verify that the current source holders border of one of the seven objects running. If one object is geometrically exactly equal to the current source holders border , then do nothing.

 

 

2. case of overlap of one of the objects at point 1 with respect to the Boundary Border , check whether the object is located within the 60 cm with respect to the BB >>>> If there are more than one object is located within 60 cm with respect to the BB, then pick up the nearest object relative to the BG and computing the object to the  BB

 

 

 

3 Mark objects outside the BB, thus  > 60cm compared to the BB , the object (s ) list for further research and need to mark with a marker or featurecollersetter.

 

 

Please, can you provide me with some help? Thank in advance.

 

 

Regards

 

Marco

 

 


Reply