Example usage for com.google.common.geometry S2Polygon loop

List of usage examples for com.google.common.geometry S2Polygon loop

Introduction

In this page you can find the example usage for com.google.common.geometry S2Polygon loop.

Prototype

public S2Loop loop(int k) 

Source Link

Usage

From source file:org.esa.beam.occci.S2EoProduct.java

private static String singleLoopToString(S2Polygon s2polygon) {
    S2Loop loop = s2polygon.loop(0);
    int numVertices = loop.numVertices();
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < numVertices; i++) {
        sb.append(loop.vertex(i).toString());
        if (i < numVertices - 1) {
            sb.append(";");
        }/*  w w w  . j  a  v  a 2s. co  m*/
    }
    return sb.toString();
}

From source file:com.bc.geometry.s2.S2Util.java

public static double[][] toXYZArray(S2Polygon polygon) {
    final List<S2Point> vertices = new ArrayList<>();
    final int numLoops = polygon.numLoops();
    for (int i = 0; i < numLoops; i++) {
        final S2Loop loop = polygon.loop(i);
        final int numVertices = loop.numVertices();
        for (int k = 0; k < numVertices; k++) {
            vertices.add(loop.vertex(k));
        }// w ww . j ava2 s .co  m
    }

    final int numVertices = vertices.size();
    final double[][] xyzArray = new double[numVertices][3];
    for (int i = 0; i < numVertices; i++) {
        final double[] vector = new double[3];
        final S2Point s2Point = vertices.get(i);
        vector[0] = s2Point.getX();
        vector[1] = s2Point.getY();
        vector[2] = s2Point.getZ();

        xyzArray[i] = vector;
    }

    return xyzArray;
}

From source file:com.bc.geometry.s2.S2WKTWriter.java

private static String writePolygonWkt(S2Polygon polygon) {
    final StringBuilder builder = new StringBuilder();
    builder.append("POLYGON((");
    final int numLoops = polygon.numLoops();
    for (int i = 0; i < numLoops; i++) {
        final S2Loop loop = polygon.loop(i);
        final int numVertices = loop.numVertices();
        for (int k = 0; k < numVertices; k++) {
            appendWktPoint(loop.vertex(k), builder);
            builder.append(",");
        }// ww  w  .j  a va 2  s  .  c o  m
        appendWktPoint(loop.vertex(0), builder);
    }

    builder.append("))");
    return builder.toString();
}

From source file:com.bc.fiduceo.geometry.s2.BcS2Polygon.java

static ArrayList<Point> extractPoints(S2Polygon googlePolygon) {
    final ArrayList<Point> coordinates = new ArrayList<>();
    final int numLoops = googlePolygon.numLoops();
    for (int i = 0; i < numLoops; i++) {
        final S2Loop loop = googlePolygon.loop(i);
        final int numVertices = loop.numVertices();
        for (int k = 0; k < numVertices; k++) {
            final S2Point googlePoint = loop.vertex(k);
            coordinates.add(BcS2Point.createFrom(googlePoint));
        }//w ww .ja v a 2s .  c  o m

        // close loop - outside world expects this tb 2016-03-03
        final S2Point googlePoint = loop.vertex(0);
        coordinates.add(BcS2Point.createFrom(googlePoint));
    }
    return coordinates;
}