当前位置: 首页 > news >正文

石家庄网站建设制作网站建设需要编程吗

石家庄网站建设制作,网站建设需要编程吗,网站ico添加,怎么样自己开网站本文介绍基于Python语言#xff0c;读取文件夹下大量栅格遥感影像文件#xff0c;并基于给定的一个像元#xff0c;提取该像元对应的全部遥感影像文件中#xff0c;指定多个波段的数值#xff1b;修改其中不在给定范围内的异常值#xff0c;并计算像元数值在每一景遥感影…  本文介绍基于Python语言读取文件夹下大量栅格遥感影像文件并基于给定的一个像元提取该像元对应的全部遥感影像文件中指定多个波段的数值修改其中不在给定范围内的异常值并计算像元数值在每一景遥感影像中变化的差值最终将这些数据保存为一个新的Excel表格文件的方法。 首先我们来看一下本文需要具体实现的需求。现在有一个文件夹如下图所示其中存放了大量的遥感影像文件且每一景遥感影像都是同一个空间位置、不同成像时间对应的遥感影像因此其空间参考信息、栅格的行数与列数等都是一致的。此外每一景遥感影像都具有5个不同的波段。 我们现在希望给定一个像元也就是给定了这个像元在遥感影像中的行号与列号提取出在指定的波段中我们这里就提取全部的5个波段该像元对应的每一景遥感影像的数值也就是提取了该像元在每一景遥感影像、每一个波段的数值随后将提取到的大于1的数值修改为1并计算像素值在每一景遥感影像中数值的差值最后将提取到的数据保存为一个Excel表格文件。 明确了需求我们就可以撰写代码具体如下。 # -*- coding: utf-8 -*-Created on Thu Jul 27 11:25:55 2023author: fkxxgis import os import pandas as pd from osgeo import gdaldef extract_pixel_time_series(input_folder, output_csv):tif_files [file for file in os.listdir(input_folder) if file.endswith(.tif)]target_row 495target_col 60time_series_df pd.DataFrame()for tif_file in tif_files:file_path os.path.join(input_folder, tif_file)dataset gdal.Open(file_path)for band in range(dataset.RasterCount):band_data dataset.GetRasterBand(band 1).ReadAsArray()pixel_value band_data[target_row, target_col]date tif_file[10: 24]time_series_df.at[date, fBand_{band 1}] pixel_valuedataset Nonefor index in range(len(time_series_df.columns)):time_series_df time_series_df.apply(lambda x: x.clip(upper 1))new_col_name time_series_df.columns[index] _difftime_series_df[new_col_name] time_series_df.iloc[:, index].diff()time_series_df.to_csv(output_csv)# 示例用法 input_folder rE:\01_Reflectivity\FiveBands output_csv rE:\01_Reflectivity\Data.csv extract_pixel_time_series(input_folder, output_csv)首先我们需要导入必要的模块和库。其中os用于操作文件和文件夹pandas用于处理数据和创建DataFrame格式数据而gdal则用于读取栅格数据关于gdal库的配置方法大家可以参考文章Anaconda环境GDAL库基于whl文件的配置方法https://blog.csdn.net/zhebushibiaoshifu/article/details/128320388。 随后我们对extract_pixel_time_series这个函数加以定义。这个函数接收两个参数input_folder和output_csv分别表示存储栅格数据的文件夹路径和输出的Excel文件的路径。随后列出input_folder文件夹下所有以.tif结尾的文件并存储在列表中。其次循环遍历每个栅格文件构建完整的文件路径用于后面的数据读取并使用gdal.Open()打开栅格文件获取数据集对象。 接下来通过循环遍历每个波段。读取当前波段的数据并存储在band_data变量中。随后基于我们给定的像元位置提取目标像元的数值位置就是这个[target_row, target_col]。此外为了使得我们保存结果时可以记录每一个数值对应的成像日期因此需要从文件名中提取日期并存储在date变量中。 接下来通过time_series_df.at[date, fBand_{band 1}]将像元值存储在DataFrame中行索引为日期列名为Band_1、Band_2等随后将数据集对象dataset设为None释放内存资源。 接下来我们将大于1的数值加以处理并计算每个波段随时间变化的数值之差。遍历time_series_df的每一列并对于每一列使用clip(upper1)将超过1的值截断为1随后为每一列创建新列列名为原列名加上_diff存储该列差值。 最后我们将处理后的时间序列数据保存为Excel表格文件即可。 运行上述代码我们即可获得多个遥感影像文件中给定像元位置处像元数值的时间变化序列并可以获得其变化值。 至此大功告成。 欢迎关注疯狂学习GIS
http://www.dnsts.com.cn/news/81295.html

相关文章:

  • 北京装修公司口碑十大排名深圳网站的优化公司
  • 新密市城乡建设局网站wordpress可以自己做主题
  • 大连网站建设选高和科技wordpress列表页不显示图片
  • 超市网站建设费用深圳网站设计实力乐云seo
  • 全能网站建设完全自学seo专业培训
  • 如何在微信内做网站深圳人力资源网求职
  • 用腾讯云做淘宝客网站视频下载百度seo工具
  • 企业网站建设工作室上海原单外贸一条街
  • 台州公司网站建设前端网站开发心得体会
  • 多种语言网站大汉网站开发
  • 外贸网站建设多少钱网站管理系统怎么用
  • 网站资料素材怎么做浏阳市网站建设
  • 网站浏览思路企业模板网站
  • 资讯门户类网站网站免费建站o
  • 免费美食网站源码常州网站推广方法
  • 大型网站开发php框架年前做招聘网站话术
  • 能上国外网站的dns岑溪网站
  • 建设银行甘肃兰州分行网站爱范儿 wordpress 主题
  • 北京网站优化推广分析美术馆网站建设总体要求
  • 网站前台维护放弃wordpress
  • 网站内容的排版布局制作网页时用什么实现动态效果
  • 有什么网站专做买生活污水设备苍南规划建设局网站
  • 镇江市扬中市做网站花垣网站建设
  • 西安h5响应式网站东莞广告公司有哪些
  • 上海青浦做网站天津河西做网站贵吗
  • 珠海特价做网站太原网站优化技术
  • 国外免费psd网站线上活动方案策划
  • 上海网站建设的价格低wordpress改中文版
  • 网站推广朋友圈文案网站建设和维护合同
  • 做拼多多网站免费课程新乡 网站开发