meteoinfo / meteoinfo Goto Github PK
View Code? Open in Web Editor NEWMeteoInfo: GIS, scientific computation and visualization environment.
Home Page: http://www.meteothink.org/
License: GNU Lesser General Public License v3.0
MeteoInfo: GIS, scientific computation and visualization environment.
Home Page: http://www.meteothink.org/
License: GNU Lesser General Public License v3.0
请问为什么要注释掉“if (this.getYDelta() < 0)”这段代码,注释以后会导致读取经纬度倒序的格点数据没办法正常读取。
Dr. Wang:
recently, I want to upgrade the MeteoInfo from V3.0.1 to V3.3.0.
but, I can't open the MeteoInfoLab.exe, and receive application error.
Below is the error message:
When I try to open the MeteoInfoMap.exe, the loading screen flashed by and main screen will not appear later.
These things only happen in V3.3.0.
I can normal use V3.0.1 without any error on the same computer.
I don't know why this is happening~
MeteoInfo-master\MeteoInfoLib\src\main\java\org\meteoinfo\data\dataframe\impl\Views.java 类中
entrySet中的迭代器iterator类型不匹配。
尝试用以下方法解决:
添加转换方法:
public static <T> List<T> castList(Object obj, Class<T> clazz) { List<T> result = new ArrayList<T>(); if(obj instanceof List<?>) { for (Object o : (List<?>) obj) { result.add(clazz.cast(o)); } return result; } return null; }
使用转换方法:
final List names = transpose ? df.getIndex().getValues() : castList(df.getColumns().getNames(), Object.class);
1、读取S2S-CMA资料时,GirdData对象中的纬度集合顺序错了,结果是从大到小顺序,导致获取最小纬度和最大纬度出错,最终导致网格插值到站点时,全部为NaN,导致失败。
2、EC,S2S模式资料都是多成员预报网格,目前各个版本只能读取单个成员变量的预报网格,不知是否可以升级,支持多成员的网格读取。
感谢
MeteoInfo-3.3.0
对已绘制的layer进行按行政边界裁剪(layer.clip)当图例中的values最小值设置超一定范围报异常,设置适当的值则裁剪正常,裁剪会受到图例的值范围影响。
java.lang.IllegalArgumentException: Points of LinearRing do not form a closed linestring
at org.locationtech.jts.geom.LinearRing.validateConstruction(LinearRing.java:90)
at org.locationtech.jts.geom.LinearRing.<init>(LinearRing.java:85)
at org.locationtech.jts.geom.GeometryFactory.createLinearRing(GeometryFactory.java:382)
at org.locationtech.jts.geom.GeometryFactory.createLinearRing(GeometryFactory.java:369)
at org.meteoinfo.geometry.shape.Polygon.toGeometry(Polygon.java:240)
at org.meteoinfo.geometry.shape.PolygonShape.toGeometry(PolygonShape.java:162)
at org.meteoinfo.geometry.shape.Shape.toGeometry(Shape.java:293)
at org.meteoinfo.geometry.shape.Shape.intersection(Shape.java:327)
at org.meteoinfo.geo.layer.VectorLayer.clip(VectorLayer.java:1651)
at org.meteoinfo.geo.layer.VectorLayer.clip(VectorLayer.java:1629)
at org.meteoinfo.geo.layer.VectorLayer.clip(VectorLayer.java:1607)
Dear author,
Good morning! I have some questions about converting grib data to ARL.
#---- Set data folder
datadir = 'D:/mock'
#---- Set output data file
outfn = os.path.join(datadir, 'test_grib.arl')
#if os.path.exists(outfn):
#---- Read a GRIB data file
infn = os.path.join(datadir, '20220630.grb2')
print infn
inf = addfile(infn)
print 'GRIB data file has been opened...'
#---- Set output ARL data file
arlf = addfile(outfn, 'c', dtype='arl')
#---- Set variable and level list
gvar2d = ['Pressure_surface','Temperature_surface','u-component_of_wind_height_above_ground',
'v-component_of_wind_height_above_ground']
gvar3d = ['Geopotential_isobaric','Temperature_isobaric','Pressure_Vertical_velocity_isobaric',
'u-component_of_wind_isobaric','v-component_of_wind_isobaric','Specific_humidity_isobaric']
avar2d = ['PRSS','T02M','U10M','V10M']
avar3d = ['HGTS','TEMP','WWND','UWND','VWND','SPHU']
gv = inf['Geopotential_isobaric']
nx = gv.dimlen(gv.ndim - 1)
ny = gv.dimlen(gv.ndim - 2)
levels = gv.dimvalue(gv.ndim - 3)[::-1]
nz = len(levels)
arlf.setlevels(levels)
arlf.set2dvar(avar2d)
for l in levels:
arlf.set3dvar(avar3d)
#---- Write ARL data file
arlf.setx(gv.dimvalue(gv.ndim - 1))
arlf.sety(gv.dimvalue(gv.ndim - 2))
tNum = inf.timenum()
fhour = 0
for t in range(0, tNum):
print 'Time index: ' + str(t)
atime = inf.gettime(t)
print atime.strftime('%Y-%m-%d %H:00')
dhead = arlf.getdatahead(inf.proj, 'RSMC', 2, fhour)
#Pre-write index record without checksum - will be over-write latter
arlf.writeindexrec(atime, dhead)
#Checksum list
ksumlist = []
# Write 2d variables
ksums = []
for avname,gvname in zip(avar2d, gvar2d):
print avname + ' ' + gvname
if avname == 'U10M' or avname == 'V10M':
gdata = inf[gvname][t,0,:,:]
else:
gdata = inf[gvname][t,:,:]
if avname == 'PRSS':
gdata = gdata * 0.01
ksum = arlf.writedatarec(atime, 0, avname, fhour, 99, gdata)
ksums.append(ksum)
ksumlist.append(ksums)
# Write 3d variables
for lidx in range(0, nz):
ksums = []
llidx = nz - lidx - 1
print lidx
print llidx
for avname,gvname in zip(avar3d, gvar3d):
print avname + ' ' + gvname
gdata = inf[gvname][t,llidx,:,:]
if avname == 'WWND':
gdata = gdata * 0.01
elif avname == 'SPHU':
gdata = gdata * 1000.
ksum = arlf.writedatarec(atime, lidx + 1, avname, fhour, 99, gdata)
ksums.append(ksum)
ksumlist.append(ksums)
#Re-write index record with checksum
arlf.writeindexrec(atime, dhead, ksumlist)
fhour += 1
arlf.close()
print 'Finished!'
When i run the script, it showed
"Geopotential_isobaric is not a variable name"
Traceback (most recent call last):
File "", line 23, in
File "D:\MeteoInfo\pylib\mipylib\dataset\dimdatafile.py", line 50, in getitem
raise ValueError()
ValueError
So, how can i solve it? Looking forward to your reply! Thank you!
在#26异常修复后在window下运行没有问题,但在Centos8中运行一批文件生成色班图基本有40%左右异常提示Points of LinearRing do not form a closed linestring,多次运行,异常的文件都有不同。但这些文件复制到windows环境下生成色斑图正常(配置一致)。
I downloaded MeteoInfo from the following link:
http://www.meteothink.org/downloads/files/MeteoInfo_1.7.5.zip
I'm on a mac, so the README says the following:
you should run MeteoInfo from the shell command line; 'cd' into
the directory where the above files are located and then type:
./meteoinfo.sh
That meteoinfo.sh
file doesn't appear to exist in the zip file that I downloaded?
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project MeteoInfoLib: Could not resolve dependencies for project org.meteothink:MeteoInfoLib:jar:1.9: Failed to collect dependencies at org.meteothink:jts-core:jar:1.15.1
如果再增加一个小的色阶值及颜色[3,5,7,9,11,13,15,17] [Color.pink,Color.cyan,Color.white,Color.blue,Color.green,Color.yellow,Color.red,Color.orange,Color.gray]还是会报 found non-noded intersection between LINESTRING 异常。
Kriging two-dimensional interpolation returns a one-dimensional array
在调用meteoinfo类库生成色斑图经常会碰到这种情况:图例放到色斑图的右下角。但是图例的高度如果不确定,就不能准确的放到指定的位置。在程序中图例是动态的LegendBreak的数量是动态的,所以不好设置固定高度。
目前类库中是否存在获取LayoutLegend高度的方法或者设置LayoutLegend bottom和right属性,让图例靠右下角对齐。
您好,我这边也是使用的netcdf5.1 但是读取的单要素单层次多时次的文件 数据没有问题,但是接下来的多层次文件 对其中的数据结构翻阅了很多资料也没有找到解答,能请教下如何解析这种类型文件吗
If there is a file named "cmd.exe" located at Meteoinfo's working directory, when we run Meteoinfo, the file will be executed.
Here is demo.
I was working on CVE-2019-17664, and it indicates that the problem is on Jython not Ghidra.
Jython already raised the issue to fix it on next version(Jython 2.7.3), but for now is only 2.7.2.
I just that you know the Jython exploits, you can fix it yourself or wait Jython patch.
I want to change a .awx file to .png. But I don't konw how to paser it. Please help me, provide an idea.
作者您好,我有几个问题想要请教一下:
请问meteoinfolab有mac版本吗?哪里下载呢?
网站上的代码能放到python里面运行吗?
GridData gridData = GeoMathUtil.interpolateData(stationData, interpolationSetting);
5:14:04.801 [main] DEBUG smile.math.blas.LAPACK - Failed to create MKL instance:
java.lang.ClassNotFoundException: smile.math.blas.mkl.MKL
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at smile.math.blas.LAPACK.MKL(LAPACK.java:48)
at smile.math.blas.LAPACK.getInstance(LAPACK.java:39)
at smile.math.blas.LAPACK.(LAPACK.java:35)
at smile.math.matrix.Matrix.svd(Matrix.java:1573)
at smile.interpolation.KrigingInterpolation2D.(KrigingInterpolation2D.java:103)
at org.meteoinfo.math.interpolate.InterpUtil.kriging(InterpUtil.java:963)
at org.meteoinfo.geo.util.GeoMathUtil.interpolateData(GeoMathUtil.java:273)
dependencice:
implementation 'org.meteothink:meteoinfo-common:3.5'
implementation 'org.meteothink:meteoinfo-math:3.5'
implementation 'org.meteothink:meteoinfo-data:3.5'
implementation 'org.meteothink:meteoinfo-geo:3.5'
implementation 'org.meteothink:meteoinfo-geometry:3.5'
implementation 'org.meteothink:meteoinfo-projection:3.5'
implementation 'org.meteothink:meteoinfo-ndarray:3.5'
implementation 'org.meteothink:meteoinfo-image:3.5'
implementation 'org.meteothink:meteoinfo-dataframe:3.5'
implementation 'org.meteothink:meteoinfo-table:3.5'
OS:Windows11
JDK:1.8 、IDEA
@throws ucar.ma2..InvalidRangeException 我觉得 这里应该多了一个点 (:з」∠)
在Centos 8 中使用中文标题乱码,windows环境正常。
MeteoInfoMap.jar maskout 能否指定shp文件中某一个图元
基于MeteoInfoMap.jar 做二次开发,生成色斑图,需要让用户选择生成的区划。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.