Windows环境使用OpenVPN共享上网
背景:局域网内两台计算机 A(192.168.0.1)能上网, B(192.168.0.4)不能上网。A、B能相互ping通
目标:B通过VPN连接A,达到共享上网的目的
0. VPN的用途
VPN很多时候都是用在公网环境下,公网上两台计算机通过VPN连接,从而达到互访内网的目的。
局域网共享上网的方法很多,用VPN属于相对繁琐的一种。
1. 使A、B通过VPN互通
(a)在A、B上都安装OpenVPN
(b)配置。
• 虽然网站上的文档组织得有些乱,但可以直接从安装路径下获得很多帮助信息。
• 安装成功后,OpenVPN GUI就可以运行了,但会提示config文件夹下需要config(.ovpn)文件和key/certificate(.crt&.key)文件。
• config文件可以从sample-config文件夹获得,A机使用server.ovpn,B机使用client.ovpn。
• 证书的生成可以在easy-rsa获得帮助。server和client都需要相应的证书,而所有证书都需要在server机上生成。
注意:生成证书时需要输入一些信息,其中,Common Name不能有重复。
• 生成完后在easy-rsa/keys文件夹里会有一堆文件。在server上把ca.*, server.*, dh1024.pem拷贝至config文件夹。ca.*, client.*拷贝至client计算机OpenVPN安装路径下的config文件夹。
• client.ovpn中设定
remote server-ip server-port
做完以上步骤,A、B即可通过VPN互通。此部分配置还可参考:
https://community.openvpn.net/openvpn/wiki/Easy_Windows_Guide
http://blog.chinaunix.net/u/2389/showart_73461.html
2. 修改A的路由配置,使Internet请求都转向从VPN通过
这一步的实现方法有很多种,我采用的是在server机的server.ovpn中,取消注释:
push "redirect-gateway def1 bypass-dhcp bypass-dns"
这句话的意思是所有客户机的默认网关都将被设为VPN,即所有网络流量都会从VPN通过,bypass-dhcp并且bypass-dns。这条设置是推送到client上的,它会覆盖(Override)client的网络配置,但并不会修改原来的网络配置。
p.s. 本例只是考虑最简单的使用VPN实现共享上网的情况,没有讨论安全性,服务器负荷等功能。OpenVPN功能强大,继续学习
什么是BELMANIP
2010年12月8日星期三 发帖者 Unknown 时间: 23:58 0 评论
BELMANIP[1]的全称是the CEOS-Benchmark Land Multisite Analysis and Intercomparison of Products(BELMANIP)。简单的说它是一个地面观测站点的集合,这些站点按照一些指标筛选,以作为对卫星遥感地表参数产品(fAPAR, fCover, albedo, LAI)进行质量评价的地面基准。
BELMANIP的站点来源
BELMANIP的站点有4个来源:DIRECT,FLUXNET,AERONET,COMPLET。
1. DIRECT:为了检验遥感地表参数产品,而专门进行观测的地面站点。包括CEOS/LPV,Bigfoot,VALERI等。共有114个站点,经过筛选后入选BELMANIP的有100个站点(这里所列站点数是文献[1]中所述,最新版BELMANIP会有不同,下文同)。
2. FLUXNET:碳通量观测网络,共有266个站点,筛选后有188个。
3. AERONET:气溶胶观测网络,筛选后有52个站点。
4. COMPLET:以上三个网络的站点分布不够均匀,对不同的地类存在over-representing(相对站点数偏多)和under-representing(相对站点数偏少)的情况。为克服以上不足,增选了76个站点。
BELMANIP的站点筛选标准
1. 以站点为中心8*8 km2范围内水体所占部分小于25%。
2. 站点与其它站点距离在20 km以上。
3. 使用ECOCLIMAP的全球分类对站点的代表性进行评价。所选站点应能反应相应地类在全球范围的分布(主要是纬度上的)和覆盖比例。
BELMANIP的意义
1. 卫星遥感生成的地表参数产品越来越多,如何对它们进行质量评价是个难题。
2. 将地面实测值升尺度后与遥感产品进行对比是一种方法,但地面实测数据的获取代价较高,而且相对于遥感产品的时空覆盖范围,地面实测数据远远不够。
3. 通过不同遥感产品的相互比较,再结合地面实测值是一种可行的方法[2]。BELMANIP就是提供不同遥感产品进行相互比较的一个基准数据集,具体实施方法参考文献[2]。
BELMANIP的站点来源
BELMANIP的站点有4个来源:DIRECT,FLUXNET,AERONET,COMPLET。
1. DIRECT:为了检验遥感地表参数产品,而专门进行观测的地面站点。包括CEOS/LPV,Bigfoot,VALERI等。共有114个站点,经过筛选后入选BELMANIP的有100个站点(这里所列站点数是文献[1]中所述,最新版BELMANIP会有不同,下文同)。
2. FLUXNET:碳通量观测网络,共有266个站点,筛选后有188个。
3. AERONET:气溶胶观测网络,筛选后有52个站点。
4. COMPLET:以上三个网络的站点分布不够均匀,对不同的地类存在over-representing(相对站点数偏多)和under-representing(相对站点数偏少)的情况。为克服以上不足,增选了76个站点。
BELMANIP的站点筛选标准
1. 以站点为中心8*8 km2范围内水体所占部分小于25%。
2. 站点与其它站点距离在20 km以上。
3. 使用ECOCLIMAP的全球分类对站点的代表性进行评价。所选站点应能反应相应地类在全球范围的分布(主要是纬度上的)和覆盖比例。
BELMANIP的意义
1. 卫星遥感生成的地表参数产品越来越多,如何对它们进行质量评价是个难题。
2. 将地面实测值升尺度后与遥感产品进行对比是一种方法,但地面实测数据的获取代价较高,而且相对于遥感产品的时空覆盖范围,地面实测数据远远不够。
3. 通过不同遥感产品的相互比较,再结合地面实测值是一种可行的方法[2]。BELMANIP就是提供不同遥感产品进行相互比较的一个基准数据集,具体实施方法参考文献[2]。
相关文献
[1] Baret, F., J. T. Morissette, et al. (2006). "Evaluation of the representativeness of networks of sites for the global validation and intercomparison of land biophysical products: Proposition of the CEOS-BELMANIP." Ieee Transactions on Geoscience and Remote Sensing 44(7): 1794-1803. doi:10.1109/TGRS.2006.876030
[2] Garrigues, S., et al. (2008), Validation and intercomparison of global Leaf Area Index products derived from remote sensing data, J. Geophys. Res., 113, G02028, doi:10.1029/2007JG000635
什么是Bigfoot
发帖者 Unknown 时间: 23:27 0 评论
Bigfoot是一个用于验证陆面遥感产品的地面站点集合,其它同类项目还有VALERI,FLUXNET等。
Bigfoot包括9个地面站点,它们是从The EOS Land Validation Core Sites按照特定标准筛选的结果。这9个站点是:
Bigfoot地面LAI的获取方法有直接和间接两种。直接获取的方法是:在收获季节对非林地站点的植物采用破坏式的测量,对林地植物采用生长测定法(与树的直径相关)。间接获取方法是使用LAI-2000进行测量。不同植物类别的物候特征不一样,因此每年进行的地面观测次数也不同。对林地类每年测3次,对其它地类每年测4-6次。
Bigfoot有一套自己的地面部点和数据处理方法,对LAI的验证通过ETM+作为中间尺度。数据可以在ORNL获取。Bigfoot提供的实测LAI包括均值和标准差,目前的验证方法仍是直接比较。
Bigfoot包括9个地面站点,它们是从The EOS Land Validation Core Sites按照特定标准筛选的结果。这9个站点是:
利用这9个站点的地面观测,提供land cover, LAI, fAPAR和NPP这几种遥感产品的地面验证数据。
Bigfoot有一套自己的地面部点和数据处理方法,对LAI的验证通过ETM+作为中间尺度。数据可以在ORNL获取。Bigfoot提供的实测LAI包括均值和标准差,目前的验证方法仍是直接比较。
Matlab读写HDF-EOS文件
2010年11月18日星期四 发帖者 Unknown 时间: 00:07 0 评论
最近才发现Matlab集成了读写HDF文件(包括HDF-EOS文件)的功能。
HDF-EOS的三种数据类型及其对应的Matlab函数如下:
grid(GD) - hdfgd
point(PT) - hdfpt
swath(SW) - hdfsw
此外,Matlab还提供了GUI的HDF文件导入工具,可以通过 “hdftool”命令启动。
hdfgd的帮助需要用 “help hdfgd" 查看。
hdfgd可以认为是HDF-EOS库中所有Grid函数的一个共用接口,即通过hdfgd来调用不同的Grid函数。
以下是读取一个HDF-EOS文件的代码示例,可以看出完成相同的任务,Matlab比C/C++所需代码量少得多,当然执行效率会不如C/C++。
HDF-EOS的三种数据类型及其对应的Matlab函数如下:
grid(GD) - hdfgd
point(PT) - hdfpt
swath(SW) - hdfsw
此外,Matlab还提供了GUI的HDF文件导入工具,可以通过 “hdftool”命令启动。
hdfgd的帮助需要用 “help hdfgd" 查看。
hdfgd可以认为是HDF-EOS库中所有Grid函数的一个共用接口,即通过hdfgd来调用不同的Grid函数。
以下是读取一个HDF-EOS文件的代码示例,可以看出完成相同的任务,Matlab比C/C++所需代码量少得多,当然执行效率会不如C/C++。
hdf = 'MOD15A2.A2006361.h10v04.005.2008134052818.hdf';
fileid = hdfgd('open', hdf, 'DFACC_READ'); %对应GDopen
gridid = hdfgd('attach', fileid, 'MOD_Grid_MOD15A2'); %对应GDattach
[data, status] = hdfgd('readfield', gridid, 'Lai_1km', [], [], []); %对应GDreadfield
hdfgd('detach', gridid); %对应GDdetach
hdfgd('close', fileid); %对应GDclose
全球LAI产品(Global LAI Products)
2010年11月14日星期日 发帖者 Unknown 时间: 01:03 0 评论
文献[1]对4种覆盖全球的LAI产品进行了综合评价:MODIS,CYCLOPES,ECOCLIMAP和GLOBCARBON,如下表所示。其它还有一些全球LAI产品,如POLDER和Land-SAF。还有一些区域性的LAI产品,如加拿大范围的LAI产品。这些产品中,既有基于物理模型,实现时采用查找表(LUT,Look-Up Table)或神经网络;也有基于LAI与植被指数(VI,Vegetation Index)统计关系的。
(climatology的意思是:the mean state based on a historical set of observations)
以上四种产品的相互比较及与地面实测数据的比较[1]表明,MODIS和CYCLOPES对真实地表及其空间差异的表达,LAI时间序列特征及年份间的差异都优于ECOCLIMAP和GLOBCARBON。但另一方面,MODIS和CYCLOPES的反演成功率却低于ECOCLIMAP和GLOBCARBON,因此MODIS和CYCLOPES存在较多缺失值,时间序列不够连续,影响了产品的应用。
[1] Garrigues, S., et al. (2008), Validation and intercomparison of global Leaf Area Index products derived from remote sensing data, J. Geophys. Res., 113, G02028, doi:10.1029/2007JG000635
LAI产品名 | 时间分辨率 | 空间分辨率 | 年份 | 传感器 | 产品生成算法 |
MODIS | 8天 | 1km | 2000- | MODIS | 主算法:3维辐射传输模型(LUT实现) 备用算法:基于NDVI的经验关系 |
CYCLOPES | 10天 | 1km | 1999-2007 | VEGETATION | 1维辐射传输模型(神经网络实现) |
ECOCLIMAP | 1月 | 1km | climatology | AVHRR | 基于NDVI的经验关系 |
GLOBCARBON | 1月 | 0.25°, 0.5°, 10km | 1998-2007 | AATSR, ATSR, MERIS, VEGETATION | 基于VI的统计关系 |
以上四种产品的相互比较及与地面实测数据的比较[1]表明,MODIS和CYCLOPES对真实地表及其空间差异的表达,LAI时间序列特征及年份间的差异都优于ECOCLIMAP和GLOBCARBON。但另一方面,MODIS和CYCLOPES的反演成功率却低于ECOCLIMAP和GLOBCARBON,因此MODIS和CYCLOPES存在较多缺失值,时间序列不够连续,影响了产品的应用。
事实上,从上表也可以看出,目前只有MODIS的LAI产品在持续发布,其它产品处于产品评价和算法改进过程中。
[1] Garrigues, S., et al. (2008), Validation and intercomparison of global Leaf Area Index products derived from remote sensing data, J. Geophys. Res., 113, G02028, doi:10.1029/2007JG000635
使用HDF库读写HDF4文件(C/C++)
2010年8月27日星期五 发帖者 Unknown 时间: 00:48 0 评论一、引言
Hierarchical Data Format (HDF)是由HDF Group开发维护的一种开放文件格式,目前HDF有HDF4和HDF5两个版本,它们相互并不兼容。相应的HDF-EOS也有两个版本,基于HDF4的叫做HDF-EOS2,基于HDF5的叫做HDF-EOS5,MODIS数据产品使用的是HDF-EOS2文件格式。HDF Group提供了C/C++,Fortran,Java库以对HDF文件进行读写操作HDF4最新版本号是4.2.5,并针对多种平台进行了预先编译。本文讨论如何用官方编译好的Windows平台的C/C++库中的SD API对HDF4文件进行读写操作。
本文参考以下三个文档,均可从HDF Group网站获得
HDF4 User’s Guide
HDF4 Reference Manual
sd_rd.c
二、HDF文件格式
图片引自《HDF4 User’s Guide》 |
如上图所示,一个HDF文件中可以有6种数据结构:Raster Image,Palette,Scientific Data Set,Annotation,Vdata和Vgroup。与这六种数据结构相应的有5类API:
SD API - 对Scientific Data Set进行读写操作
VS API - 对Vdatas进行读写操作
V API - 对Vgroups进行读写操作
GR API - 对Raster Images和Palettes进行读写操作
AN API Stores - 对Annotations进行读写操作
说到这里则有必要提及两个现成的HDF查看软件:HDF Explorer和HDFView,HDF Explorer是私有软件,而HDFView是由HDF Group开发维护的。HDF Explorer默认支持HDF-EOS,HDFView则需要安装HDF-EOS_Plugin才能获得较好的HDF-EOS支持。下面是HDFView截图。
在HDFView中查看HDF文件中DataFields的Metadata |
红框标示了数据集的类型和数据的类型 |
三、例子
本例子读入一个MOD15A2 HDF文件的LAI数据(uint8),将其除以10(float)再输出为新的HDF文件。在程序中使用数组来存储原始LAI数据和除以10的LAI数据,数组类型需要与相应HDF文件中指定的数据类型严格对应,否则会发生数据读写错误。
完整的程序(ReadWrite_SDS.c),makefile,数据文件MOD15A2.A2006361.h10v04.005.2008134052818.hdf。需要链接的库文件可以查阅下载下来的HDF库中的INSTALL_WINDOWS.txt。在本例子程序中,只链接了hd425m.lib和hm425m.lib,这可以从makefile中看出来。
读入HDF文件的代码如下:
完整的程序(ReadWrite_SDS.c),makefile,数据文件MOD15A2.A2006361.h10v04.005.2008134052818.hdf。需要链接的库文件可以查阅下载下来的HDF库中的INSTALL_WINDOWS.txt。在本例子程序中,只链接了hd425m.lib和hm425m.lib,这可以从makefile中看出来。
读入HDF文件的代码如下:
/* Read data to LAI_MODIS array */
sd_id = SDstart("MOD15A2.A2006361.h10v04.005.2008134052818.hdf", DFACC_READ);
sds_index = SDnametoindex(sd_id, "Lai_1km");
sds_id = SDselect (sd_id, sds_index);
sd_id = SDstart("MOD15A2.A2006361.h10v04.005.2008134052818.hdf", DFACC_READ);
sds_index = SDnametoindex(sd_id, "Lai_1km");
sds_id = SDselect (sd_id, sds_index);
输出HDF文件代码如下:
/* Create and open the file and initiate the SD interface. */
sd_id = SDstart("MyMOD15A2.hdf", DFACC_CREATE);
sds_id = SDcreate(sd_id, "LAI_divided", DFNT_FLOAT32, rank, dims);
istat = SDwritedata(sds_id, start, NULL, edges, (VOIDP)LAI);
MODIS产品笔记整理
2010年8月2日星期一 发帖者 Unknown 时间: 09:27 0 评论之前将笔记零碎的记录在Google Docs里,现在把它整理一下。
一、关于MODIS命名
我们知道,Terra和Aqua卫星都搭载有MODIS传感器,在MODIS产品名和文件名中则反映了数据来源。
• 以MOD开头表示是用Terra卫星数据生成的产品,
• 以MYD开头表示是用Aqua卫星数据生成的产品,
• 以MCD开头则表示是结合了两颗卫星数据合成的产品,字母C表示Combined。
完整的MODIS陆面产品列表参考以下网址:
二、关于数据格式
一般使用的MODIS数据产品有两种:
• .hdf文件:其文件扩展名为.hdf,但严格的说,它的文件格式是HDF-EOS。HDF-EOS是HDF的扩展,包含了geo-location,投影信息等。以.hdf文件提供MODIS的数据产品,每个文件就是经过Sinusoidal Tiling System分片后的一个tile。一个tile覆盖1200km*1200km。.hdf文件的陆面数据产品可以从https://lpdaac.usgs.gov获得。
• .txt文件:MODIS数据产品的子集,覆盖Selected Sites(一般是通量站点)7km*7km的大小。.hdf文件是根据产品的发布时间,如MOD09A1每个tile每8天提供一个HDF文件,而.txt则是一个站点一个产品一个文件,因此.txt文件可以更方便的得到时间序列。.txt文件的陆面数据产品可以从http://daac.ornl.gov获得。
三、 关于QC或是QA
MODIS每种数据产品都提供了质量控制(QC: Quality Control)或质量保证(QA: Quality Assurance)字段。QC信息是像元级的,标识了数据质量的高低,用户根据实际需求,使用QC信息筛选出质量足够好的数据。下面分别对MOD15A2和MOD09A1产品的QC字段进行说明。
• MOD15A2产品有两个QC字段:FparLai_QC和FparExtra_QC,FparLai_QC(8位)的描述如下:
Bit No. | Parameter Name | Bit Comb. | FparLai_QC |
---|---|---|---|
0 | MODLAND_QC bits | 0 | Good quality (main algorithm with or without saturation) |
1 | Other Quality (back-up algorithm or fill values) | ||
1 | Sensor | 0 | Terra |
1 | Aqua | ||
2 | DeadDetector | 0 | Detectors apparently fine for up to 50% of channels 1,2 |
1 | Dead detectors caused >50% adjacent detector retrieval | ||
3–4 | CloudState (inherited from Aggregate_QC bits {0,1} cloud state) | 00 | 0 Significant clouds NOT present (clear) |
01 | 1 Significant clouds WERE present | ||
10 | 2 Mixed cloud present on pixel | ||
11 | 3 Cloud state not defined, assumed clear | ||
5–7 | SCF_QC (five level confidence score) | 000 | 0, Main (RT) method used, best result possible (no saturation) |
001 | 1, Main (RT) method used with saturation. Good,very usable | ||
010 | 2, Main (RT) method failed due to bad geometry, empirical algorithm used | ||
011 | 3, Main (RT) method failed due to problems other than geometry, empirical algorithm used | ||
100 | 4, Pixel not produced at all, value coudn't be retrieved (possible reasons: bad L1B data, unusable MODAGAGG data) |
MOD15 ATBD中指出:The key indicator of retrieval quality of the LAI/FPAR product is SCF_QC bitfield.
MOD09A1产品也包含了两个QC字段:500m Reflectance Band Quality和500m State Flags,500m Reflectance Band Quality(32位)的描述如下:
Bit No. | Parameter Name | Bit Comb. | Sur_refl_qc_500m |
---|---|---|---|
31 | adjacency correction performed | 1 | yes |
0 | no | ||
30 | atmospheric correction performed | 1 | yes |
0 | no | ||
26–29 | band 7 data quality four bit range | 0000 | highest quality |
1000 | dead detector; data interpolated in L1B | ||
1001 | solar zenith >= 86 degrees | ||
1010 | solar zenith >= 85 and <> | ||
1011 | missing input | ||
1100 | internal constant used in place of climatological data for at least one atmospheric constant | ||
1101 | correction out of bounds pixel constrained to extreme allowable value | ||
1110 | L1B data faulty | ||
1111 | not processed due to deep ocean or clouds | ||
22–25 | band 6 data quality four bit range | SAME AS BAND ABOVE | |
18–21 | band 5 data quality four bit range | SAME AS BAND ABOVE | |
14–17 | band 4 data quality four bit range | SAME AS BAND ABOVE | |
10–13 | band 3 data quality four bit range | SAME AS BAND ABOVE | |
6–9 | band 2 data quality four bit range | SAME AS BAND ABOVE | |
2–5 | band 1 data quality four bit range | SAME AS BAND ABOVE | |
0–1 | MODLAND QA bits | 00 | corrected product produced at ideal quality all bands |
01 | corrected product produced at less than ideal quality some or all bands | ||
10 | corrected product not produced due to cloud effects all bands | ||
11 | corrected product not produced due to other reasons some or all bands may be fill value [Note that a value of (11) overrides a value of (01)]. |
在我的工作中,只使用了MODLAND QA bits来进行质量控制。
这里需要特别指出的是:在QC字段中第0位是低位,即最右边那一位。
四、 地表覆盖类型(Land Cover Type)数据产品MCD12Q1
MCD12Q1是结合了Terra和Aqua两颗卫星的数据生成的地表覆盖类型数据产品,时间分辨率1年,空间分辨率500m。
MCD12Q1中包含5种分类体系(classification schemes)的分类结果,5种分类体系如下:
- • Land Cover Type 1: IGBP global vegetation classification scheme
- • Land Cover Type 2: University of Maryland (UMD) scheme
- • Land Cover Type 3: MODIS-derived LAI/fPAR scheme
- • Land Cover Type 4: MODIS-derived Net Primary Production (NPP) scheme
- • Land Cover Type 5: Plant Functional Type (PFT) scheme
Class | IGBP (Type 1) | UMD (Type 2) | LAI/fPAR (Type 3) | NPP (Type 4) |
0 | Water | Water | Water | Water |
1 | Evergreen Needleleaf forest | Evergreen Needleleaf forest | Grasses/Cereal crops | Evergreen Needleleaf vegetation |
2 | Evergreen Broadleaf forest | Evergreen Broadleaf forest | Shrubs | Evergreen Broadleaf vegetation |
3 | Deciduous Needleleaf forest | Deciduous Needleleaf forest | Broadleaf crops | Deciduous Needleleaf vegetation |
4 | Deciduous Broadleaf forest | Deciduous Broadleaf forest | Savanna | Deciduous Broadleaf vegetation |
5 | Mixed forest | Mixed forest | Evergreen Broadleaf forest | Annual Broadleaf vegetation |
6 | Closed shrublands | Closed shrublands | Deciduous Broadleaf forest | Annual grass vegetation |
7 | Open shrublands | Open shrublands | Evergreen Needleleaf forest | Non-vegetated land |
8 | Woody savannas | Woody savannas | Deciduous Needleleaf forest | Urban |
9 | Savannas | Savannas | Non-vegetated | |
10 | Grasslands | Grasslands | Urban | |
11 | Permanent wetlands | |||
12 | Croplands | Croplands | ||
13 | Urban and built-up | Urban and built-up | ||
14 | Cropland/Natural vegetation mosaic | |||
15 | Snow and ice | |||
16 | Barren or sparsely vegetated | Barren or sparsely vegetated | ||
254 | Unclassified | Unclassified | Unclassified | Unclassified |
255 | Fill Value | Fill Value | Fill Value | Fill Value |
订阅:
博文 (Atom)