- 积分
- 3484
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-6-1
- 最后登录
- 1970-1-1
![[刘倩Tracy-Liu] 粉丝数:32 微博数:12 新浪微博达人勋](source/plugin/sina_login/img/light.png)
|

楼主 |
发表于 2018-1-21 10:43:12
|
显示全部楼层
自我回复
编程解决不了的问题,那就......不用编程了
经过两个月的随性思考,选择曲线救国的方法,直接用ENVI提取所需站点信息。
————————————正经说事专用分割线————————————————————
1、首先要提取数据,要认识数据结构。
全国GPP和NPP的ENVI数据。数据类型:二进制后缀为.dat格式文件。
数据存储格式:BSQ格式,从左到右,从上到下存储,共13个波段,每个波段代表处理过的一年的数据,即一共13年的GPP和NPP数据。地理坐标为经纬度。
2、我要做什么:提取已知经纬度的16个站点及其九宫格上共9个点的GPP和NPP数值。
3、怎么做:利用ENVI中ROI工具获取指定点的像素值。
step1:整理要提取站点的数据,以“序号 纬度 经度” 的格式保存为.txt文件。
step2:在ENVI经典界面中打开GPP.dat图像,选择overlay->Region Of Interest 打开ROI Tool。
在ROI Tool中,选择ROI_Type->Input Points from ASCII,选择文本格式的实地调查数据反演点.txt。
注意参数选择:
x:选择经度;y:选择纬度;
These point comprise:Individual Points;
投影坐标(Select Map Based Projection):Geographic Lat/Lon;
注:投影坐标与实测数据中坐标值的投影参数保持一致。
设置好投影信息后,单击OK这样将实地调查的点位置信息加载到图像中。
step3: 在ROI TOOL中,选择File->Output ROIs to ASCII。选择GPP.dat图像。
在Output ROIs to ASCII Parameters面板中,选择ROI点,单击Edit Output ASCII Form,在输出内容设置面板中,选择ID、经纬度(Geo Location)、和波段像元值(Band Values)。
这样,就将16个站点的GPP数值导出来了。同样可以计算好九宫格上其他站点的经纬度,重复上面步骤,导出数值。
我们发现,导出来的经纬度与输入实测点的经纬度不完全一致,这是因为一般影像中像元的坐标是取中心点的经纬度,而我们实测的点位不一定恰好对应着影像像元的中心点,所以当输入的经纬度与影像上单个像元的经纬度不一致时,就会采用就近原则,与最临近的像素点匹配,输出该点的经纬度坐标。如环境小卫星的空间分辨率是30米,换算成经纬度在几秒的范围。
将相应的像素值导入Excel表中,与实测值一一对应。
注:ENVI中利用ROI Tool导出的像元信息是按照从上到下,从左到右的“Z”字形顺序,因此我们导入的实测点最好事先进行排序,这样导入Excel表中就方便多了,不用一个个根据经纬度手动调整。
|
|