Example usage for com.google.common.geometry S2LatLng lng

List of usage examples for com.google.common.geometry S2LatLng lng

Introduction

In this page you can find the example usage for com.google.common.geometry S2LatLng lng.

Prototype

public S1Angle lng() 

Source Link

Document

Returns the longitude of this point as a new S1Angle.

Usage

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);//w ww.j ava 2 s. 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();/*from  ww  w.  j  a v  a2s  . c  o m*/
    longitude = pos.lng().e6();
}

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();/*from w  ww.j ava2  s.co  m*/
    longitude = pos.lng().e6();
}