Search in sources :

Example 21 with LineString

use of com.revolsys.geometry.model.LineString in project com.revolsys.open by revolsys.

the class LineStringLessThanDistanceFilter method getFilter.

public static Predicate<Record> getFilter(final Record object, final double maxDistance) {
    final LineString line = object.getGeometry();
    final LineStringLessThanDistanceFilter lineFilter = new LineStringLessThanDistanceFilter(line, maxDistance);
    return new RecordGeometryFilter<>(lineFilter);
}
Also used : RecordGeometryFilter(com.revolsys.record.filter.RecordGeometryFilter) LineString(com.revolsys.geometry.model.LineString)

Example 22 with LineString

use of com.revolsys.geometry.model.LineString in project com.revolsys.open by revolsys.

the class PreparedMultiLineString method prepareLineStrings.

private static LineString[] prepareLineStrings(final MultiLineString multiLineString) {
    final LineString[] polygons = new LineString[multiLineString.getLineStringCount()];
    for (int i = 0; i < polygons.length; i++) {
        final LineString polygon = multiLineString.getLineString(i);
        polygons[i] = polygon.prepare();
    }
    return polygons;
}
Also used : MultiLineString(com.revolsys.geometry.model.MultiLineString) LineString(com.revolsys.geometry.model.LineString)

Example 23 with LineString

use of com.revolsys.geometry.model.LineString in project com.revolsys.open by revolsys.

the class MultiLineStringSegment method next.

@Override
public Segment next() {
    final Lineal lineal = this.lineal;
    this.segmentIndex++;
    while (this.partIndex < lineal.getGeometryCount()) {
        final LineString part = getPart();
        if (this.segmentIndex < part.getSegmentCount()) {
            return this;
        } else {
            this.partIndex++;
            this.segmentIndex = 0;
        }
    }
    throw new NoSuchElementException();
}
Also used : Lineal(com.revolsys.geometry.model.Lineal) LineString(com.revolsys.geometry.model.LineString) AbstractLineString(com.revolsys.geometry.model.impl.AbstractLineString) NoSuchElementException(java.util.NoSuchElementException)

Example 24 with LineString

use of com.revolsys.geometry.model.LineString in project com.revolsys.open by revolsys.

the class MultiLineStringSegment method hasNext.

@Override
public boolean hasNext() {
    if (getGeometry().isEmpty()) {
        return false;
    } else {
        final Lineal line = this.lineal;
        int partIndex = this.partIndex;
        int segmentIndex = this.segmentIndex + 1;
        final int geometryCount = line.getGeometryCount();
        while (partIndex < geometryCount) {
            final LineString part = line.getGeometry(partIndex);
            final int segmentCount = part.getSegmentCount();
            if (segmentIndex < segmentCount) {
                return true;
            } else {
                partIndex++;
                segmentIndex = 0;
            }
        }
        return false;
    }
}
Also used : Lineal(com.revolsys.geometry.model.Lineal) LineString(com.revolsys.geometry.model.LineString) AbstractLineString(com.revolsys.geometry.model.impl.AbstractLineString)

Example 25 with LineString

use of com.revolsys.geometry.model.LineString in project com.revolsys.open by revolsys.

the class LineStringVertex method getLineNext.

@Override
public Vertex getLineNext() {
    final int newVertexIndex = this.vertexIndex + 1;
    final LineString lineString = getLineString();
    final int vertexCount = lineString.getVertexCount();
    if (newVertexIndex < vertexCount) {
        return new LineStringVertex(lineString, newVertexIndex);
    } else {
        return null;
    }
}
Also used : LineString(com.revolsys.geometry.model.LineString)

Aggregations

LineString (com.revolsys.geometry.model.LineString)380 Point (com.revolsys.geometry.model.Point)184 Geometry (com.revolsys.geometry.model.Geometry)65 ArrayList (java.util.ArrayList)62 GeometryFactory (com.revolsys.geometry.model.GeometryFactory)51 Polygon (com.revolsys.geometry.model.Polygon)37 LineStringGraph (com.revolsys.geometry.graph.linestring.LineStringGraph)24 Edge (com.revolsys.geometry.graph.Edge)22 List (java.util.List)22 BoundingBox (com.revolsys.geometry.model.BoundingBox)20 Lineal (com.revolsys.geometry.model.Lineal)20 Test (org.junit.Test)20 LinearRing (com.revolsys.geometry.model.LinearRing)19 Record (com.revolsys.record.Record)17 Iterator (java.util.Iterator)14 LineStringEditor (com.revolsys.geometry.model.editor.LineStringEditor)13 Punctual (com.revolsys.geometry.model.Punctual)12 LineStringDouble (com.revolsys.geometry.model.impl.LineStringDouble)12 LineSegment (com.revolsys.geometry.model.segment.LineSegment)10 Polygonal (com.revolsys.geometry.model.Polygonal)9