0

Я пытаюсь переместить мои данные из sql в elasticsearch. У меня есть исключение каждый раз, когда я пытаюсь добавить форму многоугольника.Cant Insert Geo Shapes to elasticsearch

Я использую WktReader для чтения WKT и добавления его в класс JeoJson. Класс содержит тип (многоугольник) и координату

координаты построить (в C#):

{ [ [ [ x,y ], [ x,y ], [ x,y ], [ x,y ], [ x,y ] ] ] } 

геометрии отображение в elasticsearch:

"GEOMETRIES" : { 
    "type" : "nested", 
    "properties" : { 
     "AREA" : { "type" : "double" }, 
     "CENTROID" : { 
      "type" : "geo_point", 
      "geohash" : true, 
      "geohash_preflix" : true 
     }, 
     "KEY" : { 
      "type" : "string", 
      "index" : "not_analyzed" 
     }, 
     "SHAPE" : { 
      "type" : "geo_shape" 
     } 
    } 
} 

Есть два исключения:

MapperParsingException[failed to parse [GEOMETRIES.SHAPE]]; nested: IllegalArgumentException[Invalid number of points in LinearRing (found 3 - must be 0 or >= 4)]; 

MapperParsingException[failed to parse [GEOMETRIES.SHAPE]]; nested: InvalidShapeException[provided shape has duplicate consecutive coordinates at: (number, number, NaN)]; 

ответ

0

я ее решил.

IllegalArgumentException было связано с тем, что первый и последний координаты полигонов были центроидами, а только вторая и последняя были настоящей первой и последней точкой. все, что я делал, это удалить первый и последний пункты.

InvalidShapeException произошло потому, что некоторые из полигонов в основном линии и elasticsearch не нравится

В конце концов обе ошибки были, потому что многоугольники я получил были перепутались