Search in sources :

Example 21 with ObjectMapper

use of org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper in project janusgraph by JanusGraph.

the class GeoshapeTest method testGeoJsonCircleMissingRadius.

@Test(expected = IllegalArgumentException.class)
public void testGeoJsonCircleMissingRadius() throws IOException {
    Geoshape.GeoshapeSerializer s = new Geoshape.GeoshapeSerializer();
    Map json = new ObjectMapper().readValue("{\n" + "  \"type\": \"Feature\",\n" + "  \"geometry\": {\n" + "    \"type\": \"Circle\",\n" + "    \"coordinates\": [20.5, 10.5]\n" + "  },\n" + "  \"properties\": {\n" + "    \"name\": \"Dinagat Islands\"\n" + "  }\n" + "}", HashMap.class);
    s.convert(json);
}
Also used : Geoshape(org.janusgraph.core.attribute.Geoshape) HashMap(java.util.HashMap) Map(java.util.Map) ObjectMapper(org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper) Test(org.junit.Test)

Example 22 with ObjectMapper

use of org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper in project janusgraph by JanusGraph.

the class GeoshapeTest method testGeoJsonMultiPoint.

@Test
public void testGeoJsonMultiPoint() throws IOException {
    Geoshape.GeoshapeSerializer s = new Geoshape.GeoshapeSerializer();
    Map json = new ObjectMapper().readValue("{\n" + "  \"type\": \"Feature\",\n" + "  \"geometry\": {\n" + "    \"type\": \"MultiPoint\",\n" + "    \"coordinates\": [[100.0, 0.0],[101.0, 1.0]]\n" + "  }" + "}", HashMap.class);
    assertEquals(HELPER.geoshape(GF.createMultiPoint(new Coordinate[] { new Coordinate(100, 0), new Coordinate(101, 1) })), s.convert(json));
}
Also used : Coordinate(com.vividsolutions.jts.geom.Coordinate) Geoshape(org.janusgraph.core.attribute.Geoshape) HashMap(java.util.HashMap) Map(java.util.Map) ObjectMapper(org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper) Test(org.junit.Test)

Example 23 with ObjectMapper

use of org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper in project janusgraph by JanusGraph.

the class GeoshapeTest method testGeoJsonBox.

@Test
public void testGeoJsonBox() throws IOException {
    Geoshape.GeoshapeSerializer s = new Geoshape.GeoshapeSerializer();
    Map json = new ObjectMapper().readValue("{\n" + "  \"type\": \"Feature\",\n" + "  \"geometry\": {\n" + "    \"type\": \"Polygon\",\n" + "    \"coordinates\": [[20.5, 10.5],[22.5, 10.5],[22.5, 12.5],[20.5, 12.5]]\n" + "  },\n" + "  \"properties\": {\n" + "    \"name\": \"Dinagat Islands\"\n" + "  }\n" + "}", HashMap.class);
    assertEquals(Geoshape.box(10.5, 20.5, 12.5, 22.5), s.convert(json));
    // Try the reverse order points
    json = new ObjectMapper().readValue("{\n" + "  \"type\": \"Feature\",\n" + "  \"geometry\": {\n" + "    \"type\": \"Polygon\",\n" + "    \"coordinates\": [[20.5, 12.5],[22.5, 12.5],[22.5, 10.5],[20.5, 10.5]]\n" + "  },\n" + "  \"properties\": {\n" + "    \"name\": \"Dinagat Islands\"\n" + "  }\n" + "}", HashMap.class);
    assertEquals(Geoshape.box(10.5, 20.5, 12.5, 22.5), s.convert(json));
}
Also used : HashMap(java.util.HashMap) Geoshape(org.janusgraph.core.attribute.Geoshape) HashMap(java.util.HashMap) Map(java.util.Map) ObjectMapper(org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper) Test(org.junit.Test)

Example 24 with ObjectMapper

use of org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper in project janusgraph by JanusGraph.

the class GeoshapeTest method testGeoJsonSerialization.

@Test
public void testGeoJsonSerialization() throws IOException {
    SimpleModule module = new SimpleModule();
    module.addSerializer(new Geoshape.GeoshapeGsonSerializerV2d0());
    final ObjectMapper om = new ObjectMapper();
    om.registerModule(module);
    JtsSpatialContext context = (JtsSpatialContext) Geoshape.getSpatialContext();
    assertEquals("{\"type\":\"Point\",\"coordinates\":[20.5,10.5]}", om.writeValueAsString(Geoshape.point(10.5, 20.5)));
    assertEquals("{\"type\":\"Polygon\",\"coordinates\": [[[20.5,10.5],[20.5,12.5],[22.5,12.5],[22.5,10.5],[20.5,10.5]]]}", om.writeValueAsString(Geoshape.box(10.5, 20.5, 12.5, 22.5)));
    assertEquals("{\"type\":\"Circle\",\"coordinates\":[20.5,10.5],\"radius\":30.5,\"properties\":{\"radius_units\":\"km\"}}", om.writeValueAsString(Geoshape.circle(10.5, 20.5, 30.5)));
    assertEquals("{\"type\":\"LineString\",\"coordinates\":[[20.5,10.5],[22.5,10.5],[22.5,12.5]]}", om.writeValueAsString(Geoshape.line(Arrays.asList(new double[][] { { 20.5, 10.5 }, { 22.5, 10.5 }, { 22.5, 12.5 } }))));
    assertEquals("{\"type\":\"Polygon\",\"coordinates\":[[[20.5,10.5],[21.75,8],[22.5,10.5],[25,11.75],[22.5,12.5],[21,15],[20.5,12.5],[18,11.75],[20.5,10.5]]]}", om.writeValueAsString(Geoshape.polygon(Arrays.asList(new double[][] { { 20.5, 10.5 }, { 21.75, 8 }, { 22.5, 10.5 }, { 25, 11.75 }, { 22.5, 12.5 }, { 21, 15 }, { 20.5, 12.5 }, { 18, 11.75 }, { 20.5, 10.5 } }))));
    assertEquals("{\"type\":\"MultiPoint\",\"coordinates\":[[100,0],[101,1]]}", om.writeValueAsString(Geoshape.geoshape(context.getShapeFactory().makeShapeFromGeometry(GF.createMultiPoint(new Coordinate[] { new Coordinate(100, 0), new Coordinate(101, 1) })))));
    assertEquals("{\"type\":\"MultiLineString\",\"coordinates\":[[[100,0],[101,1]],[[102,2],[103,3]]]}", om.writeValueAsString(Geoshape.geoshape(context.getShapeFactory().makeShapeFromGeometry(GF.createMultiLineString(new LineString[] { GF.createLineString(new Coordinate[] { new Coordinate(100, 0), new Coordinate(101, 1) }), GF.createLineString(new Coordinate[] { new Coordinate(102, 2), new Coordinate(103, 3) }) })))));
    assertEquals("{\"type\":\"MultiPolygon\",\"coordinates\":[[[[102,2],[103,2],[103,3],[102,3],[102,2]]],[[[100,0],[101,0],[101,1],[100,1],[100,0]],[[100.2,0.2],[100.8,0.2],[100.8,0.8],[100.2,0.8],[100.2,0.2]]]]}", om.writeValueAsString(Geoshape.geoshape(context.getShapeFactory().makeShapeFromGeometry(GF.createMultiPolygon(new Polygon[] { GF.createPolygon(new Coordinate[] { new Coordinate(102, 2), new Coordinate(103, 2), new Coordinate(103, 3), new Coordinate(102, 3), new Coordinate(102, 2) }), GF.createPolygon(GF.createLinearRing(new Coordinate[] { new Coordinate(100, 0), new Coordinate(101, 0), new Coordinate(101, 1), new Coordinate(100, 1), new Coordinate(100, 0) }), new LinearRing[] { GF.createLinearRing(new Coordinate[] { new Coordinate(100.2, 0.2), new Coordinate(100.8, 0.2), new Coordinate(100.8, 0.8), new Coordinate(100.2, 0.8), new Coordinate(100.2, 0.2) }) }) })))));
}
Also used : Coordinate(com.vividsolutions.jts.geom.Coordinate) Geoshape(org.janusgraph.core.attribute.Geoshape) LinearRing(com.vividsolutions.jts.geom.LinearRing) SimpleModule(org.apache.tinkerpop.shaded.jackson.databind.module.SimpleModule) ObjectMapper(org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper) JtsSpatialContext(org.locationtech.spatial4j.context.jts.JtsSpatialContext) Test(org.junit.Test)

Example 25 with ObjectMapper

use of org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper in project janusgraph by JanusGraph.

the class GeoshapeTest method testGeoJsonPolygon.

@Test
public void testGeoJsonPolygon() throws IOException {
    Geoshape.GeoshapeSerializer s = new Geoshape.GeoshapeSerializer();
    Map json = new ObjectMapper().readValue("{\n" + "  \"type\": \"Feature\",\n" + "  \"geometry\": {\n" + "    \"type\": \"Polygon\",\n" + "    \"coordinates\": [[[20.5,10.5],[21.75,8.0],[22.5,10.5],[25.0,11.75],[22.5,12.5],[21.0,15.0],[20.5,12.5],[18.0,11.75],[20.5,10.5]]]\n" + "  }" + "}", HashMap.class);
    assertEquals(Geoshape.polygon(Arrays.asList(new double[][] { { 20.5, 10.5 }, { 21.75, 8.0 }, { 22.5, 10.5 }, { 25.0, 11.75 }, { 22.5, 12.5 }, { 21.0, 15.0 }, { 20.5, 12.5 }, { 18.0, 11.75 }, { 20.5, 10.5 } })), s.convert(json));
}
Also used : Geoshape(org.janusgraph.core.attribute.Geoshape) HashMap(java.util.HashMap) Map(java.util.Map) ObjectMapper(org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper) Test(org.junit.Test)

Aggregations

ObjectMapper (org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper)35 HashMap (java.util.HashMap)26 Map (java.util.Map)26 Geoshape (org.janusgraph.core.attribute.Geoshape)14 Test (org.junit.Test)14 Test (org.junit.jupiter.api.Test)14 Coordinate (com.vividsolutions.jts.geom.Coordinate)4 Coordinate (org.locationtech.jts.geom.Coordinate)4 HttpHost (org.apache.http.HttpHost)3 HttpDelete (org.apache.http.client.methods.HttpDelete)3 LinearRing (com.vividsolutions.jts.geom.LinearRing)2 SimpleModule (org.apache.tinkerpop.shaded.jackson.databind.module.SimpleModule)2 Before (org.junit.Before)2 LinearRing (org.locationtech.jts.geom.LinearRing)2 JtsSpatialContext (org.locationtech.spatial4j.context.jts.JtsSpatialContext)2 IOException (java.io.IOException)1 List (java.util.List)1 UUID (java.util.UUID)1 Neo4jIndexHandler (nl.knaw.huygens.timbuctoo.database.tinkerpop.Neo4jIndexHandler)1 LogEntryFactory (nl.knaw.huygens.timbuctoo.databaselog.entry.LogEntryFactory)1