GEDI学习笔记2:GEDI数据读取并存储为csv和shp

代码使用python实现,用到的是pyGEDI

## Dependencies

- `numpy`  
- `gdal`
- `h5py`
- `pandas`
- `matplotlib`


## Installation  
 
- `pip install pyGEDI`   

## Loading pyGEDI Package
`from pyGEDI import *`

安装成功后,使用如下代码

from pyGEDI import *

fileh5_2A=r'G:\data\GEDI02_A_2021225053948_O15112_03_T06391_02_003_02_V002.h5'
h5_2A=getH5(fileh5_2A)
ul_lat=45.591939 
ul_lon=127.197238
lr_lat=45.298283
lr_lon=127.776425

bbox=[ul_lat,ul_lon,lr_lat,lr_lon]
idsbox=idsBox(h5_2A,'lat_lowestmode','lon_lowestmode',bbox)
layers=['shot_number','lat_lowestmode','lon_lowestmode', 'sensitivity','quality_flag','rh']
dfbox=generateBoxDataFrame([h5_2A],layers,idsbox)
dfbox.head()

 预览数据:

 保存为csv文件

df2csv(dfbox,filename='GEDI02_A_2021225053948_O15112_03_T06391_02_003_02_V002',outdir=r'G:\GEDI\data\result')

 然后就可以用GIS软件导入可视化了。

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
由于GEDI雷达数据是三维点云数据,需要进行一定的处理和转化才能转化为shp格式。以下是一种可能的代码实现: 1. 首先,需要从GEDI数据读取出点云数据,可以使用Python中的h5py库来读取HDF5格式的数据文件。具体操作可参考h5py的官方文档。 2. 接下来,需要对点云数据进行一定的处理,例如去除无效点、进行坐标转换等。具体处理方法根据具体数据情况而定,这里不展开讨论。 3. 将处理后的点云数据转化为shp格式,可以使用Python中的geopandas库来实现。具体步骤如下: ```python import geopandas as gpd from shapely.geometry import Point # 读取点云数据并进行处理 points = [...] # 处理后的点云数据,每个点由(x, y, z)三个值组成 valid_points = [...] # 去除无效点后的点云数据 # 将点云数据转化为geopandas的GeoDataFrame对象 geometry = [Point(x, y) for x, y, z in valid_points] data = {'x': [x for x, y, z in valid_points], 'y': [y for x, y, z in valid_points], 'z': [z for x, y, z in valid_points]} gdf = gpd.GeoDataFrame(data, geometry=geometry, crs='EPSG:4326') # 将GeoDataFrame保存为shp文件 gdf.to_file('output.shp', driver='ESRI Shapefile') ``` 这段代码中,首先使用shapely库中的Point对象将每个点转化为一个点对象,然后将点对象和其他属性数据组成一个data字典,最后用geopandas的GeoDataFrame对象将数据转化为shp格式并保存在本地。其中crs参数指定空间参考系统,这里使用了WGS84坐标系。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值