爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: MeteoInfo

发布MeteoInfo 1.2.3

[复制链接]
发表于 2015-5-20 14:20:36 | 显示全部楼层
MeteoInfo 发表于 2015-5-20 13:22
如果不是用.Net进行二次开发,没必要用C#版。脚本肯定是要修改的,事实上开发MeteoInfoLab就是想简化脚本 ...

之前一直在用C#版的脚本画图,主要是站点图和等值线图,感觉很方便,但C#版好像不在升级了,Java版愈发强大,现在想转过来。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-5-20 14:51:05 | 显示全部楼层
rceclx 发表于 2015-5-20 14:20
之前一直在用C#版的脚本画图,主要是站点图和等值线图,感觉很方便,但C#版好像不在升级了,Java版愈发强 ...

那就转过来吧,C#和Java版的脚本虽然有些差别,但都是Python语法,只是在MeteoInfo类的引入,方法名上略有差别。

Java版中类的引入更加方便,不用引入clr。

方法名称上C#的习惯是大写字母开始(比如GetGridData),Java是小写字母开始(比如getGridData)。

C#里有属性的概念,比如MapLayer类的LayerName属性,可以直接给属性获取值或者赋值,Java里没有属性的概念,通常用get,set方法来取值或者赋值。
比如取值:
C#:     name = layer.LayerName
Java:   name = layer.getLayerName()
赋值:
C#:    layer.LayerName = 'Test'
Java:  layer.setLayerName('Test')

了解这些规律就很容易将C#版中的脚本程序转到Java版中了。如果有转不了的脚本可以在论坛里发帖讨论。
密码修改失败请联系微信:mofangbao
发表于 2015-5-20 14:56:58 | 显示全部楼层
MeteoInfo 发表于 2015-5-20 14:51
那就转过来吧,C#和Java版的脚本虽然有些差别,但都是Python语法,只是在MeteoInfo类的引入,方法名上略 ...

谢谢王老师!总是这么耐心讲解!接下来有时间会进一步熟悉Java版的,有问题再请教!
密码修改失败请联系微信:mofangbao
发表于 2015-5-21 11:05:53 | 显示全部楼层
MeteoInfo 发表于 2015-5-20 14:51
那就转过来吧,C#和Java版的脚本虽然有些差别,但都是Python语法,只是在MeteoInfo类的引入,方法名上略 ...

赞王老师81次
密码修改失败请联系微信:mofangbao
发表于 2015-5-22 02:48:36 | 显示全部楼层
{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2017-8-22 10:33:02 | 显示全部楼层
老师好厉害,非常受用
密码修改失败请联系微信:mofangbao
发表于 2017-10-7 07:31:32 | 显示全部楼层
感谢王老师
密码修改失败请联系微信:mofangbao
发表于 2018-1-28 09:43:40 | 显示全部楼层
王老师,我按照示例的程序没法执行,请帮忙看看
error.PNG
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2018-1-28 21:39:46 | 显示全部楼层
zyfws 发表于 2018-1-28 09:43
王老师,我按照示例的程序没法执行,请帮忙看看

这个很陈旧了,参考下面的代码:

  1. f = addfile(r'D:\Temp\test\sample\ma040831.tif')
  2. data = f['var'][::-1,:]
  3. axesm(projinfo=f.proj)
  4. geoshow('country')
  5. geoshow('cn_province', edgecolor='k')
  6. layer = imshowm(data, cmap='MPL_Accent', proj=f.proj)
  7. colorbar(layer)
  8. title('Geotiff')
密码修改失败请联系微信:mofangbao
发表于 2018-5-3 15:00:05 | 显示全部楼层
王老师,我按照您的程序提示下面这个错误,应该怎么解决?
  File "D:\mydata\meteinfo\MeteoInfo\pylib\mipylib\dataset\dimvariable.py", line 263, in __getitem__
    rr = self.dataset.dataset.read(self.name, ranges)
        at java.nio.Buffer.nextGetIndex(Unknown Source)
        at java.nio.HeapByteBuffer.getInt(Unknown Source)
        at org.meteoinfo.data.mapdata.geotiff.GeoTiff.readArray(GeoTiff.java:1124)
        at org.meteoinfo.data.meteodata.bandraster.GeoTiffDataInfo.read(GeoTiffDataInfo.java:140)
        at org.meteoinfo.data.meteodata.bandraster.GeoTiffDataInfo.read(GeoTiffDataInfo.java:160)
        at org.meteoinfo.data.meteodata.MeteoDataInfo.read(MeteoDataInfo.java:878)
        at org.meteoinfo.data.meteodata.MeteoDataInfo.read(MeteoDataInfo.java:898)
        at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
java.nio.BufferUnderflowException: java.nio.BufferUnderflowException
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表