I am working on generalization of Geological map generalization and as part of it I am dealing with displacement of polygons from each others. Because, in previous steps I enlarged small polygons which are small they became close to each others and now to be displaced. Basic parameter is Object Separation constraint which is 1 mm on the map, meaning, if polygons are closer than 1 mm they should be made further from each other unless it reaches 1 mm distance. Here is the small portion of the map, with red line 14, 40 meters are distance between polygons before and after enlargement respectively. And in green line 25 meters, is the Object Separation distance, how far they should be.
I am considering using buffer as a solution though, is there any other ideas how can I do this better way?
I am using ArcGIS 10.4.
Yes, I definitely would, but I have thousands of polygons, thus it is better to have some automated approach rather than individual.
I am a bit confused. You start off by talking about "generalization" but then you are enlarging small polygons and want to move them around? I don't quite get how enlarging small polygons and moving them around fits into "generalization." Typically, generalizing layers means small polygons go away or get merged with larger neighboring polygons.
The other issue I see is that these are not shapes in some abstract space, they are georeferenced polygons. If you move the polygon, you are moving what it represents on the Earth to a different place on the Earth. Granted, you are generalizing, but that gets back to my question above about making small polygons bigger instead of having them go away or merge with other polygons.
Yeah, sorry for giving you misunderstanding.
You are very true to say that small polygons less than certain amount should definitely dealt with, either removed as you have mentioned or aggregated.
However, considering importance of the small features from geological point of view, some small portion of polygons little less than threshold, considered for enlargement. Thus, once I got some of the polygons enlarged, the other constraint is violated, which is distance between polygons are less than it should be.
For topology, yes polygons are moved, but considering scale and the moving amount they are unnoticeable, as any generalized map surely has to some extent abstraction which lead to different type of errors.
Again, here we have to choose between aggregation (if the polygons of the same or similar category) and displacement.
So, making long story short, some portion of polygons are considered for enlargement to make them visible, as they may have important value to the geologist.
Thanks for your answer.
perhaps a "cartogram (search key)" whereby you can represent the area based on some attribute
Thanks for your comment. But how it can help me to displace my polygons from each other?
some variants of cartograms do just that... I haven't explored those available on the code site, but options may exist elsewhere. It is definitely an 'old school' when one needs to represent polygon area/shape by an attribute rather than its geometry
Can you please give some references or papers on that? I really need it. Thanks in advance.
start with Dr Wikipedia there are variants (area contiguous, area non-contiguouis and radial). Many citations are there including a summary of cartograms by Waldo Tobler published in 2008 covering 35 years of cartogram history. Sometimes, what is old, is new again.