Check validity in QGIS and Check geometry in ArcGIS Desktop 10.0 give me different results on the following shapefile

ArcGIS does not return an error at the following geometry:ARCgis

but QGIS does when using check validity:QGIS

Is there an official name for geometry errors like this? If they are bad, how should I fix it? I tried QGIS v.clean, manually editing the polygon and ArcGIS repair geometry without success.

BTW the polygon depicted is GU 14917 (Vertex 397)

  • 2
    The name would be self intersection. – pLumo Jun 13 '17 at 14:29
  • this is helpful. – RutgerH Jun 13 '17 at 14:35
  • Please Edit the question to make the ground/figure relationship clearer. If the figure is in blue, then this is a self-intersection, but if the figure is in peach, then this is not a self-intersection, but an inversion, as discussed in these two posts – Vince Jun 14 '17 at 1:27
  • Hi Vincent, I don't quite follow you. do you mean using the same colors in ArcGIS and QGIS? They are currently randomly assigned. – RutgerH Jun 14 '17 at 13:27

The problem here is that you have two interpretations of a simple polygon and a self-tangency (intersection of parts at a vertex). ArcMap seems to accept it and the QGIS topology checker not.

I did found some word from the ESRI side here and at least for PostGis i found that it is not allowed here. But for the examples from PostGis for the OGC standard validity for figure j and p they should not be valid due to self-tangency but are written as valid.

Also as far as i understand the OGC standard "OpenGIS Implementation Standard for Geographic information - Simple feature access" the polygons should not be valid because of (IsSimple method). But again valid because of the definition that they may touch in a finite number of points (6.1.14 b) ).

You might choose as well what you want...

  • helpful, is there a way to fix the geometry so that it will be valid for all programs: ArcGIS, QGIS and PostGIS etc.? ArcGIS repair geometry doesn't fix this shapefile – RutgerH Jun 13 '17 at 18:34
  • If you work in ArcGIS I strongly recommend you to convert it to a gdb feature class, which will allow you to use topology. Also, take a look at this: desktop.arcgis.com/en/arcmap/10.3/tools/data-management-toolbox/… – Albert Jun 14 '17 at 6:29
  • Is their a pythonic way to do this? – RutgerH Sep 15 '17 at 18:49

It works because it is not a self intersection. That's why you think the repair tools are not working. I checked in both QGIS and ArcGIS and there isn't any self intersection in these features (GU 14917 and GU 15035). If it was a self intersecting polygon you wouldn't be able to separate the vertices like this: in QGISin ArcGIS

ArcGIS is not detecting any invalid geometry in your file once converted to gdb feature class so I assume there isn't any


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.