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(){
|
||||
String version = GlobalUtil.class.getPackage().getImplementationVersion();
|
||||
if (version == null || version.equals("")) {
|
||||
version = "3.4.10";
|
||||
version = "3.4.11";
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
package org.meteoinfo.data.meteodata.micaps;
|
||||
|
||||
import org.meteoinfo.common.Extent;
|
||||
import org.meteoinfo.common.MIMath;
|
||||
import org.meteoinfo.common.util.JDateUtil;
|
||||
import org.meteoinfo.data.StationData;
|
||||
import org.meteoinfo.data.dimarray.DimArray;
|
||||
@ -33,10 +34,15 @@ import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
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.ArrayString;
|
||||
import org.meteoinfo.ndarray.DataType;
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
public StationData getStationData(int timeIdx, String varName, int levelIdx) {
|
||||
int varIdx = this.getVariableIndex(varName);
|
||||
|
||||
@ -1,33 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<MeteoInfo File="milconfig.xml" Type="configurefile">
|
||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\map\webmap">
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\surf"/>
|
||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\io\micaps">
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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\linalg"/>
|
||||
<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>
|
||||
<File>
|
||||
<OpenedFiles>
|
||||
<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\map\webmap\air_path.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\map\webmap\webmap_1.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.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>
|
||||
<RecentFiles>
|
||||
<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\map\webmap\air_path.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\map\webmap\webmap_1.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.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>
|
||||
</File>
|
||||
<Font>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user