Search in sources :

Example 26 with Point

use of com.mongodb.client.model.geojson.Point in project morphia by mongodb.

the class PolygonFilter method encode.

@Override
public void encode(Datastore datastore, BsonWriter writer, EncoderContext context) {
    writer.writeStartDocument(path(datastore.getMapper()));
    writer.writeStartDocument("$geoWithin");
    writer.writeStartArray("$polygon");
    for (Point point : points) {
        writer.writeStartArray();
        for (Double value : point.getPosition().getValues()) {
            writer.writeDouble(value);
        }
        writer.writeEndArray();
    }
    writer.writeEndArray();
    writer.writeEndDocument();
    writer.writeEndDocument();
}
Also used : Point(com.mongodb.client.model.geojson.Point)

Aggregations

Point (com.mongodb.client.model.geojson.Point)26 Position (com.mongodb.client.model.geojson.Position)23 Test (org.testng.annotations.Test)22 FindOptions (dev.morphia.query.FindOptions)16 LineString (com.mongodb.client.model.geojson.LineString)2 MultiLineString (com.mongodb.client.model.geojson.MultiLineString)2 MultiPoint (com.mongodb.client.model.geojson.MultiPoint)2 Polygon (com.mongodb.client.model.geojson.Polygon)2 Datastore (dev.morphia.Datastore)2 GeoCity (dev.morphia.test.models.geo.GeoCity)2 CodecConfigurationException (org.bson.codecs.configuration.CodecConfigurationException)2 CoordinateReferenceSystem (com.mongodb.client.model.geojson.CoordinateReferenceSystem)1 GeometryCollection (com.mongodb.client.model.geojson.GeometryCollection)1 MultiPolygon (com.mongodb.client.model.geojson.MultiPolygon)1 NamedCoordinateReferenceSystem (com.mongodb.client.model.geojson.NamedCoordinateReferenceSystem)1