Search in sources :

Example 66 with Point

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

the class DistanceToPointFinder method computeDistance.

public static void computeDistance(final LineString line, final Point pt, final PointPairDistance ptDist) {
    for (final Segment segment : line.segments()) {
        // this is somewhat inefficient - could do better
        final Point closestPt = segment.closestPoint(pt);
        ptDist.setMinimum(closestPt, pt);
    }
}
Also used : Point(com.revolsys.geometry.model.Point) LineSegment(com.revolsys.geometry.model.segment.LineSegment) Segment(com.revolsys.geometry.model.segment.Segment)

Example 67 with Point

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

the class DistanceToPointFinder method computeDistance.

public static void computeDistance(final Geometry geometry, final Point pt, final PointPairDistance ptDist) {
    if (geometry instanceof LineString) {
        computeDistance(geometry, pt, ptDist);
    } else if (geometry instanceof Polygon) {
        computeDistance(geometry, pt, ptDist);
    } else if (geometry.isGeometryCollection()) {
        for (int i = 0; i < geometry.getGeometryCount(); i++) {
            final Geometry g = geometry.getGeometry(i);
            computeDistance(g, pt, ptDist);
        }
    } else {
        // assume geom is Point
        ptDist.setMinimum(geometry.getPoint(), pt);
    }
}
Also used : Geometry(com.revolsys.geometry.model.Geometry) LineString(com.revolsys.geometry.model.LineString) Polygon(com.revolsys.geometry.model.Polygon) Point(com.revolsys.geometry.model.Point)

Example 68 with Point

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

the class DistanceOp method computeContainmentDistance.

private boolean computeContainmentDistance(final List<Point> points, final List<Polygon> polygons) {
    for (final Point point : points) {
        final double x = point.getX();
        final double y = point.getY();
        for (final Polygon polygon : polygons) {
            if (computeContainmentDistance(polygon, x, y)) {
                return true;
            }
        }
    }
    return false;
}
Also used : Point(com.revolsys.geometry.model.Point) Polygon(com.revolsys.geometry.model.Polygon)

Example 69 with Point

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

the class OffsetPointGenerator method extractPoints.

private void extractPoints(final LineString line, final double offsetDistance, final List<Point> offsetPts) {
    final int vertexCount = line.getVertexCount();
    double x1 = line.getX(0);
    double y1 = line.getY(0);
    for (int vertexIndex = 1; vertexIndex < vertexCount; vertexIndex++) {
        final double x2 = line.getX(vertexIndex);
        final double y2 = line.getY(vertexIndex);
        computeOffsetPoints(x1, y1, x2, y2, offsetDistance, offsetPts);
        x1 = x2;
        y1 = y2;
    }
}
Also used : Point(com.revolsys.geometry.model.Point)

Example 70 with Point

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

the class PolygonizeGraph method addEdge.

/**
 * Add a {@link LineString} forming an edge of the polygon graph.
 * @param line the line to add
 */
public void addEdge(final LineString line) {
    final LineString cleanLine = line.removeDuplicatePoints();
    if (cleanLine.isEmpty()) {
        return;
    }
    if (cleanLine.getVertexCount() < 2) {
        return;
    }
    final Point startPt = cleanLine.getVertex(0).newPoint2D();
    final Point endPt = cleanLine.getToVertex(0).newPoint2D();
    final Node nStart = getNode(startPt);
    final Node nEnd = getNode(endPt);
    final DirectedEdge de0 = new PolygonizeDirectedEdge(nStart, nEnd, cleanLine.getVertex(1).newPoint2D(), true);
    final DirectedEdge de1 = new PolygonizeDirectedEdge(nEnd, nStart, cleanLine.getVertex(-2).newPoint2D(), false);
    final Edge edge = new PolygonizeEdge(line);
    edge.setDirectedEdges(de0, de1);
    add(edge);
}
Also used : DirectedEdge(com.revolsys.geometry.planargraph.DirectedEdge) LineString(com.revolsys.geometry.model.LineString) Node(com.revolsys.geometry.planargraph.Node) Point(com.revolsys.geometry.model.Point) Edge(com.revolsys.geometry.planargraph.Edge) DirectedEdge(com.revolsys.geometry.planargraph.DirectedEdge)

Aggregations

Point (com.revolsys.geometry.model.Point)669 LineString (com.revolsys.geometry.model.LineString)130 GeometryFactory (com.revolsys.geometry.model.GeometryFactory)103 Geometry (com.revolsys.geometry.model.Geometry)95 PointDoubleXY (com.revolsys.geometry.model.impl.PointDoubleXY)90 ArrayList (java.util.ArrayList)79 BoundingBox (com.revolsys.geometry.model.BoundingBox)51 Polygon (com.revolsys.geometry.model.Polygon)42 LineSegment (com.revolsys.geometry.model.segment.LineSegment)34 List (java.util.List)28 LinearRing (com.revolsys.geometry.model.LinearRing)26 PointDouble (com.revolsys.geometry.model.impl.PointDouble)22 PointDoubleXYZ (com.revolsys.geometry.model.impl.PointDoubleXYZ)19 Edge (com.revolsys.geometry.graph.Edge)18 Test (org.junit.Test)17 Punctual (com.revolsys.geometry.model.Punctual)16 Segment (com.revolsys.geometry.model.segment.Segment)15 Vertex (com.revolsys.geometry.model.vertex.Vertex)15 Record (com.revolsys.record.Record)15 Lineal (com.revolsys.geometry.model.Lineal)14