FME Transformers: 2024.1

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 -0, NaN, or Infinity

Attributes

_issues{0}.count 1
_issues{0}.issue_found Contains NaNs or Infinities
_issues{0}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{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}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{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}.supplementary_info{0}.count 9
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{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}.location_sample.z 15
_issues{0}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{0}.details 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 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}.supplementary_info{0}.count 1
_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

Attributes for Remnants

_issues{0}.count 1
_issues{0}.issue_found Self-Intersections in 2D
_issues{0}.repair_state Remnant
_issues{0}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{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
  • MultiPoint: Overlapping points
  • MultiCurve: Intersecting Curves
  • MultiArea: Overlapping Areas
  • MultiArea: Areas sharing an edge
  • 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

Contains Non-Planar Surfaces

Attributes

_issues{0}.count 1
_issues{0}.issue_found Non-Planar Surfaces
_issues{0}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{0}.details Thickness exceeds tolerance
_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} Triangulated normal angles exceed tolerance

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.supplementary_info{0}.count 1
_issues{0}.issue_found.supplementary_info{0}.details Dangling faces

Traits

_issues{0}.issue_found Invalid Solid Boundaries
_issues{0}.repair_state Not Fully Repaired
_issues{0}.supplementary_info
  • Vertices Not Used
  • Not Enough Faces
  • Face Wrong Orientation
  • Not a Valid 2-Manifold
  • Surface Self Intersects
  • Surface Not Closed
  • Surface Wrong Orientation
  • Multiple Connected Components
  • Some part(s) will be removed on repair
_issues{0}.supplementary_info{0}
  • Vertices Not Used
  • Not Enough Faces
  • Face Wrong Orientation
  • Not a Valid 2-Manifold
  • Surface Self Intersects
  • Surface Not Closed
  • Surface Wrong Orientation
  • Multiple Connected Components
  • 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}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{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
  • Duplicate Shells
  • Shells Intersect
  • Inner Shell Outside Outer
  • Interior of Shell Not Connected
  • Invalid Solid Boundaries
  • Some part(s) will be removed on repair
_issues{0}.supplementary_info{0}
  • Duplicate Shells
  • Shells Intersect
  • Inner Shell Outside Outer
  • Interior of Shell Not Connected
  • Invalid Solid Boundaries
  • Miscellaneous

OGC Simple Compliant

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}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{0}.details
  • Self-Intersection
  • Repeated Point
  • Unparsable Geometry
_issues{0}.supplementary_info{0}.location_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{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

OGC Valid Compliant

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}.supplementary_info{0}.count 1
_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_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{0}.location_sample.z 1
_issues{0}.supplementary_info{0}.details Inconsistent Orientation

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

Mismatched Dimensions

Attributes

_issues{0}.count 1
_issues{0}.issue_found Mismatched Dimensions
_issues{0}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{0}.details Miscellaneous

Traits

_issues{0}.count 1
_issues{0}.issue_found Mismatched Dimensions
_issues{0}.supplementary_info{0}.details Miscellaneous

Missing Measures and Elevations

Attributes

_issues{0}.count 3
_issues{0}.issue_found Missing Measures and Elevations
_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_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{0}.location_sample.z 0

Traits

_issues{0}.issue_found Missing Measures and Elevations
_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 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}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{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}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{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

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}.supplementary_info{0}.count 1
_issues{0}.supplementary_info{0}.details Miscellaneous
_issues{0}.supplementary_info{0}.location_sample.x 0
_issues{0}.supplementary_info{0}.location_sample.y 15
_issues{0}.supplementary_info{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

Solid Orientation

Attributes

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

Traits

_issues{0}.count 1
_issues{0}.issue_found Incorrect Solid 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

Surface Orientation

Attributes

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

Traits

_issues{0}.count 1
_issues{0}.issue_found Incorrect Surface 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