improve simplification of topology in arcpy for satisficing results achieve

798
0
02-07-2023 07:11 PM
Status: Open
Labels (1)
FranciscoCosta1
Occasional Contributor

Usual GIS workflows require to work with browser GIS, using for example cloropleth in Dash Python.

Anyone who have tried to display a map in cloropleth dash will face the problem of reducing the size of the GEOJSON, or ESRI-JSON, shapefile, ...

The tools currently in arcpy to approach this problem are:

* Smooth shared edges

* Simplify shared edges

After testing a lot with both i found nearly impossible to reduce the size of the map from 10MB to less than 1MB without information loss. The best i could was with simplify shared edges - reatain critical point and even then, i got like 2-3 MB which leads to a lot of seconds waiting for the maps to load in browser.

Have found topojson library, which did a better job reducing the size to less than 1MB although with the drawback of completely distorting the external map boundaries.

Then i have tested mapshaper, and i was amazed, it did exactly what i wanted to do, https://mapshaper.org/ usually i rely in arcpy for all things GIS, and this was one of those times that arcpy failed in delievering, if you check this project it has a repository with code open source, all i ask is if is possible to either refine the simplify shared edges to actually reduce the complexity of finding the proper values and make it work better like mapshaper does.

You will only understand what i am talking about if you ever worked with a GEOJSON or a shapefile to display for example in dash, you will see the importance,  and how arcpy is falling behind what should be somehow easy to accomplish.

Surely you guyes have a lot in hands and probably this is not priority , although i felt i should contribute with this feedback, because the use cases i am using are resolved using mapshaper if arcpy not accomplish.