package org.xbib.elasticsearch.common.util;
import com.spatial4j.core.context.SpatialContext;
import com.spatial4j.core.context.jts.JtsSpatialContext;
import com.spatial4j.core.shape.Shape;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.testng.annotations.Test;
import java.io.IOException;
import java.text.ParseException;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
public class GeometryTests {
protected final static Logger logger = LogManager.getLogger("test.geo");
@Test
public void convert() throws ParseException, IOException {
String s = "POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7,5 5))";
SpatialContext ctx = JtsSpatialContext.GEO;
Shape shape = ctx.readShapeFromWkt(s);
XContentBuilder builder = jsonBuilder();
builder.startObject();
GeoJSONShapeSerializer.serialize(shape, builder);
builder.endObject();
logger.info("geo={}", builder.string());
}
}