public static int findWgsUtm_EPSG()

in streampipes-extensions/streampipes-processors-geo-jvm/src/main/java/org/apache/streampipes/processors/geo/jvm/jts/helper/SpReprojectionBuilder.java [203:239]


  public static int findWgsUtm_EPSG(Point point) {
    double lon = point.getX();
    double lat = point.getY();

    Integer zone;
    Integer epsg;
    Integer hemisphere;

    zone = (int) Math.floor(lon / 6 + 31);

    if ((lat > 55) && (zone == 31) && (lat < 64) && (lon > 2)) {
      zone = 32;
    } else if ((lat > 71) && (zone == 32) && (lon < 9)) {
      zone = 31;
    } else if ((lat > 71) && (zone == 32) && (lon > 8)) {
      zone = 33;
    } else if ((lat > 71) && (zone == 34) && (lon < 21)) {
      zone = 33;
    } else if ((lat > 71) && (zone == 34) && (lon > 20)) {
      zone = 35;
    } else if ((lat > 71) && (zone == 36) && (lon < 33)) {
      zone = 35;
    } else if ((lat > 71) && (zone == 36) && (lon > 32)) {
      zone = 37;
    }

    // Set northern or southern hemisphere
    if (lat < 0) {
      hemisphere = 7;
    } else {
      hemisphere = 6;
    }

    //concatenate integer values
    epsg = Integer.valueOf(String.valueOf(32) + hemisphere + zone);
    return epsg;
  }