GeometryValidator Issues Table

Here is a listing of the possible information reported for each issue in the GeometryValidator issues table. If an attribute or trait name can have several values, the values are listed next to the same attribute or trait name.

Not every attribute or trait presented will be reported for every occurrence of an issue. For example, a table may contain a Not Fully Repaired entry for repair state:

_issues{0}.repair_state Not Fully Repaired

If the geometry is fully repaired, a repair_state entry will not be present.

When issues arise on meshes, supplementary_info may contain information about which part of the original mesh had the issue:

_issues{0}.supplementary_info{0} .details Miscellaneous
_issues{0}.supplementary_info{0}.location.x 1
_issues{0}.supplementary_info{0} .location.y 0
_issues{0}.supplementary_info{0} .location.z 0
_issues{0}.supplementary_info{0}.original_part_index 0
_issues{0}.supplementary_info{1}.original_part_index 1

Since this information is unique to meshes, it is presented at the top of this document, but is otherwise not presented in any of the tables below.

Contains NaN (Not a Number) or Infinity

Attributes

_issues{0}.count 1
_issues{0}.issue_found Contains NaNs or Infinities
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous

Traits

_issues{0}.count 1
_issues{0}.issue_found Contains NaNs or Infinities
_issues{0}.supplementary_info Some part(s) will be removed on repair
_issues{0}.supplementary_info{0}.details Miscellaneous

Contains Null Geometry Parts

Attributes

_issues{0}.count 1
_issues{0}.issue_found Contains Null Geometry Parts
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous

Traits

_issues{0}.count 2
_issues{0}.issue_found Contains Null Geometry Parts

Duplicate Consecutive Points

Attributes

_issues{0}.count 9
_issues{0}.issue_found

Duplicate Consecutive Points in 2D

Duplicate Consecutive Points in 3D

_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.sub_issue{0}.count 9
_issues{0}.sub_issue{0}.details Miscellaneous
_issues{0}.sub_issue{0}.location_sample.x 0
_issues{0}.sub_issue{0}.location_sample.y 15
_issues{0}.sub_issue{0}.location_sample.z 1

Traits

Note that .count is a count of the total number of identical, consecutive coordinates. The minimum reported .count value is therefore 2.

_issues{0}.count 9

_issues{0}.issue_found

Duplicate Consecutive Points in 2D

Duplicate Consecutive Points in 3D

_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.supplementary_info{0}.count 2
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 1
_issues{0}.supplementary_info{1}.count 3
_issues{0}.supplementary_info{1}.details Miscellaneous
_issues{0}.supplementary_info{1}.location.x 5
_issues{0}.supplementary_info{1}.location.y 5
_issues{0}.supplementary_info{1}.location.z 5
_issues{0}.supplementary_info{2}.count 2
_issues{0}.supplementary_info{2}.details Miscellaneous
_issues{0}.supplementary_info{2}.location.x 1
_issues{0}.supplementary_info{2}.location.y 2
_issues{0}.supplementary_info{2}.location.z 2
_issues{0}.supplementary_info{3}.count 2
_issues{0}.supplementary_info{3}.details Miscellaneous
_issues{0}.supplementary_info{3}.location.x 0
_issues{0}.supplementary_info{3}.location.y 15
_issues{0}.supplementary_info{3}.location.z 1
issues{0}.location_sample.x 0

Degenerate or Corrupt Geometries

Attributes

_issues{0}.count 1
_issues{0}.issue_found Degenerate or Corrupt Geometries
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.sub_issue.location.z 15
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Explicit end point locations are too far from the parameter-defined arc.
_issues{0}.sub_issue{0}.location.x 0
_issues{0}.sub_issue{0}.location.y 15
_issues{0}.sub_issue{0}.location.z 15

Traits

_issues{0}.count 1
_issues{0}.issue_found Degenerate or Corrupt Geometries
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.supplementary_info
  • Some part(s) will be removed on repair.
  • Container geometry has no parts.
  • Explicit end point locations are too far from the parameter-defined arc.
  • Area boundary is not closed.
_issues{0}.supplementary_info{0}.details
  • Miscellaneous
  • Explicit end point locations are too far from the parameter-defined arc.
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 1

Self-Intersections in 2D

Attributes for Self-Intersected Geometries

_issues{0}.count 1
_issues{0}.issue_found Self-Intersections in 2D
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous
_issues{0}.sub_issue{0}.location.x 0
_issues{0}.sub_issue{0}.location.y 15
_issues{0}.sub_issue{0}.location.z 1

Attributes for Remnants

_issues{0}.count 1
_issues{0}.issue_found Self-Intersections in 2D
_issues{0}.repair_state Remnant
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous

Traits for Self-Intersected Geometries

_issues{0}.count 4
_issues{0}.issue_found Self-Intersections in 2D
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.supplementary_info Some part(s) will be removed on repair
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 1
_issues{0}.supplementary_info{1}.details Miscellaneous
_issues{0}.supplementary_info{1}.location.x 5
_issues{0}.supplementary_info{1}.location.y 5
_issues{0}.supplementary_info{1}.location.z 2
_issues{0}.supplementary_info{2}.details Miscellaneous
_issues{0}.supplementary_info{2}.location.x 1
_issues{0}.supplementary_info{2}.location.y 2
_issues{0}.supplementary_info{2}.location.z 1
_issues{0}.supplementary_info{3}.details Miscellaneous
_issues{0}.supplementary_info{3}.location.x 0
_issues{0}.supplementary_info{3}.location.y 15
_issues{0}.supplementary_info{3}.location.z 0

Traits for Remnants

_issues{0}.count 1
_issues{0}.issue_found Self-Intersections in 2D
_issues{0}.repair_state Remnant
_issues{0}.supplementary_info{0} Miscellaneous

Non-Planar Surfaces

Attributes

_issues{0}.count 1
_issues{0}.issue_found Non-Planar Surfaces
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous
_issues{0}.repair_state Not Fully Repaired

Traits

_issues{0}.count 1
_issues{0}.issue_found Non-Planar Surfaces
_issues{0}.repair_state Not Fully Repaired
_issues{0}.supplementary_info Some part(s) will be removed on repair
_issues{0}.supplementary_info{0} Miscellaneous

Invalid Solid Boundaries

Attributes

_issues{0}.count 1
_issues{0}.issue_found Invalid Solid Boundaries
_issues{0}.repair_state Not Fully Repaired
_issues{0}.issue_found.sub_issue{0}.count 1
_issues{0}.issue_found.sub_issue{0}.details Dangling faces

Traits

_issues{0}.issue_found Invalid Solid Boundaries
_issues{0}.repair_state Not Fully Repaired
_issues{0}.supplementary_info
  • Surface Projection Invalid
  • Not Valid 2 Manifold
  • Surface Not Closed
  • Dangling Faces
  • Face Orientation Incorrect Edge Usage
  • Free Faces
  • Surface Self Intersects
  • Vertices Not Used
  • Surface Normals Bad Orientation
  • Not Enough Faces
  • Some part(s) will be removed on repair
_issues{0}.supplementary_info{0}
  • Surface Projection Invalid
  • Not Valid 2 Manifold
  • Surface Not Closed
  • Dangling Faces
  • Face Orientation Incorrect Edge Usage
  • Free Faces
  • Surface Self Intersects
  • Vertices Not Used
  • Surface Normals Bad Orientation
  • Miscellaneous

Invalid Solid Voids

Attributes

_issues{0}.count 1
_issues{0}.issue_found Invalid Solid Voids
_issues{0}.repair_state Not Fully Repaired
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Invalid Solid Boundaries

Traits

_issues{0}.count 1
_issues{0}.issue_found Invalid Solid Boundaries
_issues{0}.repair_state Not Fully Repaired
_issues{0}.supplementary_info
  • Invalid Solid Boundaries
  • Shells Face Adjacent
  • Shell Interior Intersect
  • Inner Shell Outside Outer
  • Interior of Shell Not Connected
  • Some part(s) will be removed on repair
_issues{0}.supplementary_info{0}
  • Invalid Solid Boundaries
  • Shells Face Adjacent
  • Shell Interior Intersect
  • Inner Shell Outside Outer
  • Interior of Shell Not Connected
  • Miscellaneous

Fails OGC Simple

Attributes

_issues{0}.count 1
_issues{0}.issue_found Fails OGC Simple
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.repair_state Not Fully Repaired
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details
  • Self-Intersection
  • Repeated Point
  • Unparsable Geometry
_issues{0}.sub_issue{0}.location_sample.x 0
_issues{0}.sub_issue{0}.location_sample.y 15
_issues{0}.sub_issue{0}.location_sample.z 1

Traits

_issues{0}.count 1
_issues{0}.issue_found Fails OGC Simple
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.repair_state Not Fully Repaired
_issues{0}.supplementary_info
  • Self-Intersection
  • Repeated Point
  • Unparsable Geometry
_issues{0}.supplementary_info{0}.details
  • Self-Intersection
  • Repeated Point
  • Unparsable Geometry
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 1

Fails OGC Valid

Attributes

_issues{0}.count 1
_issues{0}.issue_found Fails OGC Valid
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.repair_state Not Fully Repaired
_issues{0}.sub_issue{0}.count 1
_issues{0}. sub_issue{0}.details
  • Self-Intersection
  • Hole Outside Shell
  • Nested Holes
  • Disconnected Interior
  • Ring Self-Intersection
  • Nested Shells
  • Duplicated Rings
  • Too Few Points
  • Invalid Coordinate
  • Ring Not Closed
  • Undetermined Error
  • Unparsable Geometry
_issues{0}. sub_issue{0}.location_sample.x 0
_issues{0}. sub_issue{0}.location_sample.y 15
_issues{0}. sub_issue{0}.location_sample.z 1

Traits

_issues{0}.issue_found Fails OGC Valid
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 1
_issues{0}.repair_state Not Fully Repaired
_issues{0}.supplementary_info
  • Self-Intersection
  • Hole Outside Shell
  • Nested Holes
  • Disconnected Interior
  • Ring Self-Intersection
  • Nested Shells
  • Duplicated Rings
  • Too Few Points
  • Invalid Coordinate
  • Ring Not Closed
  • Undetermined Error
  • Unparsable Geometry
_issues{0}.supplementary_info{0}.details
  • Self-Intersection
  • Hole Outside Shell
  • Nested Holes
  • Disconnected Interior
  • Ring Self-Intersection
  • Nested Shells
  • Duplicated Rings
  • Too Few Points
  • Invalid Coordinate
  • Ring Not Closed
  • Undetermined Error
  • Unparsable Geometry
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 1

Missing Texture Coordinates

Attributes

_issues{0}.count 3
_issues{0}.issue_found Missing Texture Coordinates
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 0
_issues{0}.count 3
_issues{0}.sub_issue{0}.details Miscellaneous
_issues{0}.sub_issue{0}.location_sample.x 0
_issues{0}.sub_issue{0}.location_sample.y 15
_issues{0}.sub_issue{0}.location_sample.z 0

Traits

_issues{0}.issue_found Missing Texture Coordinates
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 0
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 0
_issues{0}.supplementary_info{1}.details Miscellaneous
_issues{0}.supplementary_info{1}.location.x 1
_issues{0}.supplementary_info{1}.location.y 13
_issues{0}.supplementary_info{1}.location.z 0
_issues{0}.supplementary_info{2}.details Miscellaneous
_issues{0}.supplementary_info{2}.location.x 2
_issues{0}.supplementary_info{2}.location.y 12
_issues{0}.supplementary_info{2}.location.z 3

Missing Vertex Normals

Attributes

_issues{0}.count 1
_issues{0}.issue_found Missing Vertex Normals
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 0
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous
_issues{0}.sub_issue{0}.location_sample.x 0
_issues{0}.sub_issue{0}.location_sample.y 15
_issues{0}.sub_issue{0}.location_sample.z 0

Traits

_issues{0}.count 1
_issues{0}.issue_found Missing Vertex Normals
_issues{0}.location.x 0
_issues{0}.location.y 15
_issues{0}.location.z 0
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 0

Invalid Area Orientation

Attributes

_issues{0}.count 1
_issues{0}.issue_found Incorrect Orientation
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 0
_issues{0}.sub_issue{0}.count 1
_issues{0}.sub_issue{0}.details Miscellaneous
_issues{0}.sub_issue{0}.location_sample.x 0
_issues{0}.sub_issue{0}.location_sample.y 15
_issues{0}.sub_issue{0}.location_sample.z 0

Traits

_issues{0}.count 1
_issues{0}.issue_found Incorrect Orientation
_issues{0}.location_sample.x 0
_issues{0}.location_sample.y 15
_issues{0}.location_sample.z 0
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location.x 0
_issues{0}.supplementary_info{0}.location.y 15
_issues{0}.supplementary_info{0}.location.z 0