mirror of
https://github.com/meteoinfo/MeteoInfo.git
synced 2025-12-08 20:36:05 +00:00
support read_dataframe function for micaps 3 dataset
This commit is contained in:
parent
2eac750a76
commit
15b2c381b4
@ -67,7 +67,7 @@ import java.util.zip.ZipInputStream;
|
|||||||
public static String getVersion(){
|
public static String getVersion(){
|
||||||
String version = GlobalUtil.class.getPackage().getImplementationVersion();
|
String version = GlobalUtil.class.getPackage().getImplementationVersion();
|
||||||
if (version == null || version.equals("")) {
|
if (version == null || version.equals("")) {
|
||||||
version = "3.4.10";
|
version = "3.4.11";
|
||||||
}
|
}
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
package org.meteoinfo.data.meteodata.micaps;
|
package org.meteoinfo.data.meteodata.micaps;
|
||||||
|
|
||||||
import org.meteoinfo.common.Extent;
|
import org.meteoinfo.common.Extent;
|
||||||
|
import org.meteoinfo.common.MIMath;
|
||||||
import org.meteoinfo.common.util.JDateUtil;
|
import org.meteoinfo.common.util.JDateUtil;
|
||||||
import org.meteoinfo.data.StationData;
|
import org.meteoinfo.data.StationData;
|
||||||
import org.meteoinfo.data.dimarray.DimArray;
|
import org.meteoinfo.data.dimarray.DimArray;
|
||||||
@ -33,10 +34,15 @@ import java.util.List;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import org.meteoinfo.data.meteodata.MeteoDataType;
|
import org.meteoinfo.data.meteodata.MeteoDataType;
|
||||||
|
import org.meteoinfo.dataframe.Column;
|
||||||
|
import org.meteoinfo.dataframe.ColumnIndex;
|
||||||
|
import org.meteoinfo.dataframe.DataFrame;
|
||||||
|
import org.meteoinfo.dataframe.Index;
|
||||||
import org.meteoinfo.ndarray.Array;
|
import org.meteoinfo.ndarray.Array;
|
||||||
import org.meteoinfo.ndarray.ArrayString;
|
import org.meteoinfo.ndarray.ArrayString;
|
||||||
import org.meteoinfo.ndarray.DataType;
|
import org.meteoinfo.ndarray.DataType;
|
||||||
import org.meteoinfo.data.meteodata.Attribute;
|
import org.meteoinfo.data.meteodata.Attribute;
|
||||||
|
import org.meteoinfo.ndarray.math.ArrayMath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -270,6 +276,58 @@ public class MICAPS3DataInfo extends DataInfo implements IStationDataInfo {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read data frame
|
||||||
|
*
|
||||||
|
* @return Data frame
|
||||||
|
*/
|
||||||
|
public DataFrame readDataFrame() {
|
||||||
|
List<Array> data = new ArrayList<>();
|
||||||
|
ColumnIndex columns = new ColumnIndex();
|
||||||
|
DataType dtype;
|
||||||
|
for (String vName : this._fieldList) {
|
||||||
|
switch (vName) {
|
||||||
|
case "Stid":
|
||||||
|
dtype = DataType.STRING;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
dtype = DataType.FLOAT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
columns.add(new Column(vName, dtype));
|
||||||
|
data.add(Array.factory(dtype, new int[]{_dataList.size()}));
|
||||||
|
}
|
||||||
|
List<String> idxList = new ArrayList<>();
|
||||||
|
Array dd;
|
||||||
|
for (int i = 0; i < _dataList.size(); i++) {
|
||||||
|
List<String> dataList = _dataList.get(i);
|
||||||
|
idxList.add(dataList.get(0));
|
||||||
|
for (int j = 0; j < data.size(); j++) {
|
||||||
|
dd = (Array) data.get(j);
|
||||||
|
switch (dd.getDataType()) {
|
||||||
|
case STRING:
|
||||||
|
dd.setString(i, dataList.get(j));
|
||||||
|
break;
|
||||||
|
case FLOAT:
|
||||||
|
try {
|
||||||
|
dd.setFloat(i, Float.parseFloat(dataList.get(j)));
|
||||||
|
} catch (Exception e) {
|
||||||
|
dd.setFloat(i, Float.NaN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Array a : data){
|
||||||
|
ArrayMath.missingToNaN(a, 9999);
|
||||||
|
}
|
||||||
|
|
||||||
|
Index index = Index.factory(idxList);
|
||||||
|
DataFrame df = new DataFrame(data, index, columns);
|
||||||
|
return df;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StationData getStationData(int timeIdx, String varName, int levelIdx) {
|
public StationData getStationData(int timeIdx, String varName, int levelIdx) {
|
||||||
int varIdx = this.getVariableIndex(varName);
|
int varIdx = this.getVariableIndex(varName);
|
||||||
|
|||||||
@ -1,33 +1,35 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<MeteoInfo File="milconfig.xml" Type="configurefile">
|
<MeteoInfo File="milconfig.xml" Type="configurefile">
|
||||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\map\webmap">
|
<Path OpenPath="D:\Working\MIScript\Jython\mis\io\micaps">
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\surf"/>
|
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\text"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\text"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl"/>
|
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\volume"/>
|
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\contour"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\contour"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\scatter"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\scatter"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
|
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\micaps"/>
|
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
|
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\linalg"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\linalg"/>
|
||||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map\webmap"/>
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map\webmap"/>
|
||||||
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\volume"/>
|
||||||
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl"/>
|
||||||
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\surf"/>
|
||||||
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
|
||||||
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
|
||||||
|
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\micaps"/>
|
||||||
</Path>
|
</Path>
|
||||||
<File>
|
<File>
|
||||||
<OpenedFiles>
|
<OpenedFiles>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\LaSW\airship\sounding.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\LaSW\airship\sounding.py"/>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\map\webmap\air_path.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.py"/>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\map\webmap\webmap_1.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3-2.py"/>
|
||||||
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3_dataframe_1.py"/>
|
||||||
</OpenedFiles>
|
</OpenedFiles>
|
||||||
<RecentFiles>
|
<RecentFiles>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\LaSW\airship\sounding.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\LaSW\airship\sounding.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\map\webmap\air_path.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\map\webmap\webmap_1.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3-2.py"/>
|
||||||
|
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3_dataframe_1.py"/>
|
||||||
</RecentFiles>
|
</RecentFiles>
|
||||||
</File>
|
</File>
|
||||||
<Font>
|
<Font>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user