You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wayang.apache.org by rp...@apache.org on 2023/02/03 15:53:51 UTC
[incubator-wayang] 01/02: Definitions to extract metadata from Bands, rev 2
This is an automated email from the ASF dual-hosted git repository.
rpardomeza pushed a commit to branch WAYANG-agoraeo
in repository https://gitbox.apache.org/repos/asf/incubator-wayang.git
commit 642f8f0b21aea7094dbaeb5aa8d0bb0e4e11c41e
Author: Rodrigo Pardo Meza <ro...@gmail.com>
AuthorDate: Fri Feb 3 16:52:57 2023 +0100
Definitions to extract metadata from Bands, rev 2
---
.../org/apache/wayang/agoraeo/patches/Band.java | 42 +++-----------
.../wayang/agoraeo/patches/BandMetadata.java | 66 ++++++++++++++--------
2 files changed, 48 insertions(+), 60 deletions(-)
diff --git a/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/Band.java b/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/Band.java
index 427d002a..4fd4d0fc 100644
--- a/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/Band.java
+++ b/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/Band.java
@@ -22,13 +22,13 @@ import java.io.Serializable;
public class Band implements Serializable {
- String l1c_uuid;
- String l2a_uuid;
- String l2a_path;
- String band_name;
- String band_path;
- String resolution;
- String utm;
+ private final String l1c_uuid;
+ private final String l2a_uuid;
+ private final String l2a_path;
+ private final String band_name;
+ private final String band_path;
+ private final String resolution;
+ private final String utm;
public Band(String l1c_uuid, String l2a_uuid, String l2a_path, String band_name, String band_path, String resolution, String utm) {
this.l1c_uuid = l1c_uuid;
@@ -44,58 +44,30 @@ public class Band implements Serializable {
return l1c_uuid;
}
- public void setL1c_uuid(String l1c_uuid) {
- this.l1c_uuid = l1c_uuid;
- }
-
public String getL2a_uuid() {
return l2a_uuid;
}
- public void setL2a_uuid(String l2a_uuid) {
- this.l2a_uuid = l2a_uuid;
- }
-
public String getL2a_path() {
return l2a_path;
}
- public void setL2a_path(String l2a_path) {
- this.l2a_path = l2a_path;
- }
-
public String getBand_name() {
return band_name;
}
- public void setBand_name(String band_name) {
- this.band_name = band_name;
- }
-
public String getBand_path() {
return band_path;
}
- public void setBand_path(String band_path) {
- this.band_path = band_path;
- }
-
public String getResolution() {
return resolution;
}
- public void setResolution(String resolution) {
- this.resolution = resolution;
- }
-
public String getUtm() {
return utm;
}
- public void setUtm(String utm) {
- this.utm = utm;
- }
-
@Override
public String toString() {
return this.band_name + "|band_path:" + this.band_path.substring(this.band_path.lastIndexOf("/")+1) + "|" + this.resolution + "|" + this.utm + "|l2a_path:" + this.l2a_path.substring(this.l2a_path.lastIndexOf("/")+1);
diff --git a/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/BandMetadata.java b/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/BandMetadata.java
index 461d14e1..1c4c10d2 100644
--- a/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/BandMetadata.java
+++ b/wayang-plugins/wayang-agoraeo/src/main/java/org/apache/wayang/agoraeo/patches/BandMetadata.java
@@ -26,31 +26,29 @@ import java.io.Serializable;
public class BandMetadata implements Serializable {
+
+ private final String utm;
+ private final String resolution;
+ private final String band_name;
+
/*TODO: Band raster is just the first of the bands of the raster, I don't know how representative it is*/
- private org.gdal.gdal.Band band_raster;
- private org.gdal.gdal.Dataset band_source;
- private String local_path;
- private Tuple2<Double, Double> ul;
- private Tuple2<Double, Double> lr;
- private Tuple2<Double, Double> pixel_resolution;
- private Tuple2<Integer, Integer> size;
-
- private Integer espg;
- /*
- * from osgeo.osr import SpatialReference
-
- epsg = SpatialReference(wkt=src.GetProjection()).GetAttrValue(
- "AUTHORITY", 1
- )
- if isinstance(epsg, str):
- return int(epsg)
- return -1
- * */
-
- private String projection;
+ private final org.gdal.gdal.Band band_raster;
+ private final org.gdal.gdal.Dataset band_source;
+ private final String local_path;
+ private final Tuple2<Double, Double> ul;
+ private final Tuple2<Double, Double> lr;
+ private final Tuple2<Double, Double> pixel_resolution;
+ private final Tuple2<Integer, Integer> size;
+ private final Integer espg;
+ private final String projection;
public BandMetadata(Band b) {
- this.band_source = gdal.Open(b.band_path);
+ gdal.AllRegister();
+ this.utm = b.getUtm();
+ this.band_name = b.getBand_name();
+ this.resolution = b.getResolution();
+ this.local_path = b.getBand_path();
+ this.band_source = gdal.Open(b.getBand_path());
this.size = new Tuple2<>(this.band_source.GetRasterXSize(), this.band_source.getRasterYSize());
double[] geo_transf = this.band_source.GetGeoTransform();
this.pixel_resolution = new Tuple2<>(geo_transf[1], geo_transf[5]);
@@ -70,7 +68,6 @@ public class BandMetadata implements Serializable {
int intValue;
if(code_espg == null || code_espg.equals("")) {
-// System.out.println("String cannot be parsed, it is null or empty.");
return -1;
}
@@ -78,7 +75,7 @@ public class BandMetadata implements Serializable {
intValue = Integer.parseInt(code_espg);
return intValue;
} catch (NumberFormatException e) {
-// System.out.println("Input String cannot be parsed to Integer.");
+ System.err.println("Not possible to transform " + code_espg + " to Integer");
}
return -1;
}
@@ -111,8 +108,27 @@ public class BandMetadata implements Serializable {
return size;
}
+ public Integer getEspg() {
+ return espg;
+ }
+
+ public String getProjection() {
+ return projection;
+ }
+
@Override
public String toString() {
- return this.band_source.GetProjection();
+ return
+ "utm: " + this.utm + " | " +
+ "resolution: " + this.resolution + " | " +
+ "band_name: " + this.band_name + " | " +
+ "band_path: " + this.local_path.substring(this.local_path.lastIndexOf("/")+1) + " : " +
+ "espg: " + this.espg + " | " +
+ "pixel_resolution: " + this.pixel_resolution + " | " +
+ "ul: " + this.ul + " | " +
+ "lr: " + this.lr + " | " +
+ "size: " + this.size
+// this.projection + "\n"
+ ;
}
}