Invalid OGC Geometry Examples

Liz Sanderson
Liz Sanderson
  • Updated

Checking for OGC compliance with the GeometryValidator transformer

The GeometryValidator transformer can be used to check for features that fail to comply with the OGC geometry specifications. There can be several reasons why a feature may fail this geometry check. Some examples are provided below:

Hole Outside Shell

WKT Example: POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (15 15, 15 20, 20 20, 20 15, 15 15))

img1.png

Nested Holes

WKT Example: POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (2 2, 2 8, 8 8, 8 2, 2 2), (3 3, 3 7, 7 7, 7 3, 3 3))

img2.png

Disconnected Interior

WKT Example: POLYGON((0 0, 10 0, 10 10, 0 10, 0 0), (5 0, 10 5, 5 10, 0 5, 5 0))

img3.png

Self Intersection

WKT Example: POLYGON((0 0, 10 10, 0 10, 10 0, 0 0))

img4.png

Ring Self Intersection

WKT Example: POLYGON((5 0, 10 0, 10 10, 0 10, 0 0, 5 0, 3 3, 5 6, 7 3, 5 0))

img5.png

Nested Shells

WKT Example: MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)),(( 2 2, 8 2, 8 8, 2 8, 2 2)))

img6.png

Duplicated Rings

WKT Example: MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)),((0 0, 10 0, 10 10, 0 10, 0 0)))

Too Few Points

WKT Example: POLYGON((2 2, 8 2))

Invalid Coordinate

WKT Example: POLYGON((NaN 3, 3 4, 4 4, 4 3, 3 3))

 
 
Ring Not Closed

WKT Example: POLYGON((0 0, 0 10, 10 10, 10 0))

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.