Invalid LinearRing found coordinates are not closed – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when the coordinates provided for a geo_shape in Elasticsearch are not forming a closed loop, which is a requirement for LinearRing. To resolve this issue, ensure that the first and last points of your coordinates are the same, thus forming a closed shape. Also, check that your coordinates have at least four points, as a valid LinearRing must have at least four coordinates.

This guide will help you check for common problems that cause the log ” invalid LinearRing found (coordinates are not closed) ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context

Log “invalid LinearRing found (coordinates are not closed)” class name is GeoShapeType.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 coordinates.children.get(coordinates.children.size() - 1).coordinate
 ) == false) {
 if (coerce) {
 coordinates.children.add(coordinates.children.get(0));
 } else {
 throw new ElasticsearchParseException("invalid LinearRing found (coordinates are not closed)");
 }
 }
 }  @Override

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?