List of usage examples for com.google.common.geometry S2Polygon numLoops
public int numLoops()
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 w w .ja va 2 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(","); }//from w w w . j a v a2 s .c om 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)); }//from w w w . j ava 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; }