List of usage examples for com.google.common.geometry S2LatLng lat
public S1Angle lat()
From source file:org.esa.beam.occci.MerisCoverageMain.java
public static void main(String[] args) throws ParseException { S2Polygon polygon = S2EoProduct.createPolygon(poly); // System.out.println("polygon = " + polygon); S2RegionCoverer coverer = new S2RegionCoverer(); coverer.setMinLevel(0);//from w w w . j av a 2s . co m coverer.setMaxLevel(5); coverer.setMaxCells(500); S2CellUnion covering = coverer.getCovering(polygon); final GeometryFactory factory = new GeometryFactory(); List<S2CellId> s2CellIds = covering.cellIds(); System.out.println("s2CellIds.size() = " + s2CellIds.size()); List<Polygon> polys = new ArrayList<>(); for (S2CellId s2CellId : s2CellIds) { // System.out.println("s2CellId = " + s2CellId); ArrayList<double[]> coordList = new ArrayList<double[]>(); //System.out.println("s2CellId = " + s2CellId); S2Cell s2Cell = new S2Cell(s2CellId); //System.out.println("s2Cell = " + s2Cell); S2LatLng s2LatLng = new S2LatLng(s2Cell.getVertex(0)); coordList.add(new double[] { s2LatLng.lat().degrees(), s2LatLng.lng().degrees() }); s2LatLng = new S2LatLng(s2Cell.getVertex(1)); coordList.add(new double[] { s2LatLng.lat().degrees(), s2LatLng.lng().degrees() }); s2LatLng = new S2LatLng(s2Cell.getVertex(2)); coordList.add(new double[] { s2LatLng.lat().degrees(), s2LatLng.lng().degrees() }); s2LatLng = new S2LatLng(s2Cell.getVertex(3)); coordList.add(new double[] { s2LatLng.lat().degrees(), s2LatLng.lng().degrees() }); s2LatLng = new S2LatLng(s2Cell.getVertex(0)); coordList.add(new double[] { s2LatLng.lat().degrees(), s2LatLng.lng().degrees() }); final Coordinate[] coordinates = new Coordinate[coordList.size()]; for (int i1 = 0; i1 < coordinates.length; i1++) { final double[] coord = coordList.get(i1); coordinates[i1] = new Coordinate(coord[1], coord[0]); } Polygon p = factory.createPolygon(factory.createLinearRing(coordinates)); //System.out.println(p); polys.add(p); } MultiPolygon multiPolygon = factory.createMultiPolygon(polys.toArray(new Polygon[polys.size()])); Geometry simplify = TopologyPreservingSimplifier.simplify(multiPolygon, 0.01); System.out.println(multiPolygon); System.out.println(simplify); Geometry origin = new WKTReader().read(poly); Geometry both = multiPolygon.union(origin); System.out.println(both); }
From source file:com.norman0406.slimgress.API.Common.Location.java
public Location(long cellId) { S2CellId cell = new S2CellId(cellId); S2LatLng pos = cell.toLatLng(); latitude = pos.lat().e6(); longitude = pos.lng().e6();/*w w w . j a v a 2 s.c om*/ }
From source file:com.norman0406.slimgress.API.Common.Location.java
public Location(double latDeg, double lngDeg) { S2LatLng pos = S2LatLng.fromDegrees(latDeg, lngDeg); latitude = pos.lat().e6(); longitude = pos.lng().e6();//from w w w .j a va2s. com }