7

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)

4
  • 3
    The name would be self intersection.
    – pLumo
    Commented Jun 13, 2017 at 14:29
  • this is helpful.
    – RutgerH
    Commented Jun 13, 2017 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
    Commented Jun 14, 2017 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
    Commented Jun 14, 2017 at 13:27

3 Answers 3

3

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 6.1.2.2 (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...

3
  • 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
    Commented Jun 13, 2017 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
    Commented Jun 14, 2017 at 6:29
  • Is their a pythonic way to do this?
    – RutgerH
    Commented Sep 15, 2017 at 18:49
3

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

http://desktop.arcgis.com/en/arcmap/10.3/tools/data-management-toolbox/checking-and-repairing-geometries.htm

0

It could be that those programs on your machine are set with different defaults for rounding decimals. If one rounds to the 7th decimal and one to the 8th decimal then you may have occasions where one looks clean and the other show an error.

Another name for these self intersections are reentrancies. A polygon is reentrant when it enters back onto itself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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