Invalid number of points in LinearRing found – must be >= – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-7.15

Briefly, this error occurs when the number of points provided to form a LinearRing in a GeoShape query in Elasticsearch is less than the required minimum. A LinearRing must have at least 4 points, including the start and end points which must be the same. To resolve this, ensure that you provide at least 4 points in your GeoShape query and that the first and last points are identical.

This guide will help you check for common problems that cause the log ” invalid number of points in LinearRing (found [{}] – must be >= [{}]) ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context

Log “invalid number of points in LinearRing (found [{}] – must be >= [{}])” class name is GeoShapeType.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 throw new ElasticsearchParseException(error);
 }  int numValidPts = coerce ? 3 : 4;
 if (coordinates.children.size() < numValidPts) {
 throw new ElasticsearchParseException("invalid number of points in LinearRing (found [{}] - must be >= [{}])";
 coordinates.children.size(); numValidPts);
 }
 // close linear ring iff coerce is set and ring is open; otherwise throw parse exception
 if (coordinates.children.get(0).coordinate.equals(
 coordinates.children.get(coordinates.children.size() - 1).coordinate) == false) {

 

 [ratemypost]

Opster
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.