diff --git a/.idea/aws.xml b/.idea/aws.xml
new file mode 100644
index 00000000..b63b642c
--- /dev/null
+++ b/.idea/aws.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java b/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java
index 3e5587bb..b44983ce 100644
--- a/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java
+++ b/meteoinfo-common/src/main/java/org/meteoinfo/common/util/GlobalUtil.java
@@ -67,7 +67,7 @@ import java.util.zip.ZipInputStream;
public static String getVersion(){
String version = GlobalUtil.class.getPackage().getImplementationVersion();
if (version == null || version.equals("")) {
- version = "3.5.10";
+ version = "3.5.11";
}
return version;
}
diff --git a/meteoinfo-data/meteoinfo-data.iml b/meteoinfo-data/meteoinfo-data.iml
index da7f0350..04059519 100644
--- a/meteoinfo-data/meteoinfo-data.iml
+++ b/meteoinfo-data/meteoinfo-data.iml
@@ -53,5 +53,6 @@
+
\ No newline at end of file
diff --git a/meteoinfo-data/pom.xml b/meteoinfo-data/pom.xml
index f398c1b2..23e872a4 100644
--- a/meteoinfo-data/pom.xml
+++ b/meteoinfo-data/pom.xml
@@ -62,6 +62,11 @@
commons-compress
1.21
+
+ org.apache.commons
+ commons-lang3
+ 3.12.0
+
diff --git a/meteoinfo-data/src/main/java/org/meteoinfo/data/GridData.java b/meteoinfo-data/src/main/java/org/meteoinfo/data/GridData.java
index d395a219..ab5bf8e2 100644
--- a/meteoinfo-data/src/main/java/org/meteoinfo/data/GridData.java
+++ b/meteoinfo-data/src/main/java/org/meteoinfo/data/GridData.java
@@ -15,6 +15,7 @@ package org.meteoinfo.data;
import java.io.BufferedReader;
+import org.apache.commons.lang3.ArrayUtils;
import org.meteoinfo.common.DataConvert;
import org.meteoinfo.common.Extent;
import org.meteoinfo.common.MIMath;
@@ -3699,6 +3700,20 @@ public class GridData {
}
}
+ /**
+ * Change all dimensions to be ascending
+ */
+ public void asAscending() {
+ if (this.getXDelta() < 0) {
+ ArrayUtils.reverse(xArray);
+ this.xReverse();
+ }
+ if (this.getYDelta() < 0) {
+ ArrayUtils.reverse(yArray);
+ this.yReverse();
+ }
+ }
+
/**
* Convert to GridArray object
*
@@ -3707,6 +3722,7 @@ public class GridData {
public GridArray toGridArray() {
Array a = Array.factory(DataType.DOUBLE, new int[]{this.getYNum(), this.getXNum()});
int idx = 0;
+ this.asAscending();
for (int i = 0; i < this.getYNum(); i++) {
for (int j = 0; j < this.getXNum(); j++) {
a.setDouble(idx, this.getDoubleValue(i, j));
diff --git a/meteoinfo-geo/src/main/java/org/meteoinfo/geo/meteodata/DrawMeteoData.java b/meteoinfo-geo/src/main/java/org/meteoinfo/geo/meteodata/DrawMeteoData.java
index 08d32b2e..ccdceba1 100644
--- a/meteoinfo-geo/src/main/java/org/meteoinfo/geo/meteodata/DrawMeteoData.java
+++ b/meteoinfo-geo/src/main/java/org/meteoinfo/geo/meteodata/DrawMeteoData.java
@@ -1681,6 +1681,8 @@ public class DrawMeteoData {
*/
public static VectorLayer createStreamlineLayer(GridData uData, GridData vData, int density, LegendScheme aLS,
String lName, boolean isUV) {
+ uData.asAscending();
+ vData.asAscending();
GridData uGridData;
GridData vGridData;
if (isUV) {
diff --git a/meteoinfo-lab/milconfig.xml b/meteoinfo-lab/milconfig.xml
index 835fb72c..31c74866 100644
--- a/meteoinfo-lab/milconfig.xml
+++ b/meteoinfo-lab/milconfig.xml
@@ -1,34 +1,32 @@
-
-
+
-
-
+
+
+
-
-
+
-
-
+
@@ -36,5 +34,5 @@
-
+
diff --git a/meteoinfo-map/config.xml b/meteoinfo-map/config.xml
index 9dd5c21e..a6048151 100644
--- a/meteoinfo-map/config.xml
+++ b/meteoinfo-map/config.xml
@@ -1,6 +1,6 @@
-
+