4

I am trying to figure out how to delete duplicate vertices. I have successfully determined that there are duplicate vertices using PLTS Data Reviewer, but I am confounded as to how I identify and remove individual vertices. I have tried repair geometry to no avail, and I was wondering if anyone had some advice. I am working in a file geodatabase in ArcMap 10.0 with Data Reviewer extension.

  • 1
    Simplify Line (Cartography) resources.arcgis.com/en/help/main/10.2/index.html#//… will remove them. – Mapperz Oct 17 '13 at 19:25
  • Thanks @Mapperz, I had considered this approach. However, It would create more work than I would like to create new geometry. I would like to work with existing geometry if possible. – Barbarossa Oct 17 '13 at 20:21
  • @Barbarossa Have you tried Check Geometry (Data Management)? it can identify Duplicate vertices. – Arash Oct 18 '13 at 16:42
  • @Arash, I have tried both Check Geometry and Repair Geometry. Neither tell me that I have duplicate vertices, but Data Reviewer tells me different. – Barbarossa Oct 18 '13 at 17:18
  • Could you tell me how you did this "I buffered this point error feature class by 0.5m and erased the buffer geometry from my original. "?? Thank you very much for your response. – user26766 Feb 10 '14 at 8:43
3

Because Check Geometry and Data Reviewer seem to be contradictory in your case, I suggest to use Feature Vertices To Points and then Collect Events. The events with ICOUNT > 1 are the duplicate vertices you are looking for.

In order to delete duplicate vertices from the original geometries, for instance I'd use GDAL/OGR (>= 1.10 with SpatiaLite support):

ogr2ogr clean_polygons.shp dirty_polygons.shp -dialect sqlite -sql "SELECT ST_Buffer(geometry,0), * FROM dirty_polygons"
  • Could you add some more details on this answer? Does this require the usage of sqlite to store the shape data? Could you provide an answer if I have an existing .shp file that I simply want to 'clean'? – Adam Jun 5 '15 at 19:05
3

This is a two tool process using ET GeoWizard toolbar within ArcMap:

First make sure each polygon feature has a unique id value.

  1. Use Polygon to Point tool and define 'vertices' and 'remove duplicate points' options
  2. Use Points to Polygon tool and define the id column as the 'polygon ID field'
0

I recommend Mapperz' approach for something automated.

However, if you would like to get into the guts of the vertices, once you are editing, open up the "Sketch Properties" from the "Advanced Editing" toolbar. You can also find it if you search for it in the Customize Mode and then add it to a toolbar of your choice. It brings up a list of all your vertices. As you select them in the "Sketch Properties" window, they will highlight in the map and you can choose to delete as you see fit.

  • Thanks @cndnflyr, But this approach would take considerable amounts of time as I have hundreds of polygons, each with thousands of vertices. However, If I could identify the vertices in question, this could work. – Barbarossa Oct 17 '13 at 20:22
  • How comfortable are you with Python? You could look into the Geometry of each polygon and compare all the points that are in it. What you do after that is up to you. Either delete all but one, notify you, move it to a different location for you to run a different tool on it. Sky's the limit. Let me know if you would like further tips in that direction. – cndnflyr Oct 18 '13 at 20:35
  • @cndcflyr, I have some python experience and have considered looking into it if something can be accomplished. I have never read/modified feature geometry before. Any tips are welcomed. – Barbarossa Oct 21 '13 at 13:21
  • I played around with polygon geometries for awhile, but have had to stop before I get a working script. Part of my problem was I couldn't create a feature in ArcMap with duplicate points. Which is normally good I guess, but Arrgh! I still think it would work, but, all the best! ;-) – cndnflyr Oct 22 '13 at 19:21
0

Use Feature Vertices To Points (Data Management) to convert all the vertices to point. Then using topology validation find the points that self intersect. See ArcGIS: Working With Geodatabase Topology for more information. This way you should be able to find the duplicate vertices but removing the extra vertices is a different story.

0

Thanks for all the suggestions guys. I found a solution, albeit not exactly ideal for my situation. PLTS Data Review creates a reviewer feature dataset within the GDB, which includes reviewer points, lines, and polygons. The points represent point check errors (i.e. duplicate vertices). These can be visualized using PLTS table reviewer. I buffered this point error feature class by 0.5m and erased the buffer geometry from my original. No more point errors. I know this may not work for others' situations, but I am dealing with large polygons with thousands of vertices each. One could buffer by whatever radius necessary to create valid geometry. It would be nice to have python do this for me without drastically altering the geometry. But this works for me for now. Again, thanks everyone.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.