ENVI+IDL遥感应用集锦

5星 · 超过95%的资源 需积分: 10 25 下载量 58 浏览量 更新于2024-07-23 3 收藏 11.5MB PDF 举报
ENVI+IDL应用集锦_2012版本.pdf 本文档对ENVI和IDL在气象、大气科学、数字城市、测绘、国土、规划、海洋领域、农林、环境、卫生等领域的应用进行了详细的介绍。 ENVI/IDL在气象、大气科学应用中的主要知识点包括: 1. 国内外主要气象卫星的介绍,例如风云三号气象卫星的几何校正。 2. 基于IDL的气象科学数据可视化,例如使用IDL对气象数据进行可视化处理。 3. 利用ENVI/IDL支持EUMETSAT气象项目,例如使用ENVI/IDL对气象数据进行处理和分析。 4. 气象观测新视角,例如澳大利亚公司为亚洲提供天气预报软件。 5. 暴风眼——IDL用于卫星影像分析追踪暴风轨迹,例如使用IDL对卫星影像进行分析和处理。 ENVI/IDL在数字城市、测绘应用中的主要知识点包括: 1. 高分辨率商业卫星影像汇总,例如使用ENVI对高分辨率卫星影像进行处理和分析。 2. 遥感技术在地理国情监测中的应用,例如使用遥感技术对城市进行监测和分析。 3. 基于高分辨率影像的城市绿地信息提取,例如使用ENVI对高分辨率影像进行城市绿地信息提取。 4. 城市遥感动态监测管理系统,例如使用ENVI/IDL对城市进行遥感监测和管理。 5. 测绘应急遥感影像快速纠正及影像专题图件快速制图系统,例如使用ENVI/IDL对遥感影像进行快速纠正和制图。 ENVI/IDL在国土、规划应用中的主要知识点包括: 1. 环北京土地利用动态监测与评价平台,例如使用ENVI/IDL对土地利用进行动态监测和评价。 2. 土地利用类型转换矩阵的计算,例如使用ENVI对土地利用类型进行计算和分析。 3. 土地利用/覆盖遥感分类系统,例如使用ENVI/IDL对土地利用/覆盖进行遥感分类。 4. 人类活动、地表沉降与InSAR,例如使用ENVI/IDL对人类活动和地表沉降进行分析和处理。 ENVI/IDL在海洋领域应用中的主要知识点包括: 1. 基于ENVI/IDL的海洋应用,例如使用ENVI/IDL对海洋进行应用和分析。 2. 黄海海域浒苔暴发遥感动态监测,例如使用ENVI/IDL对黄海海域浒苔暴发进行遥感监测。 3. ENVI帮助渔业生产,例如使用ENVI对渔业生产进行支持和分析。 4. IDL应用于NASA的SeaWIFS项目,例如使用IDL对NASA的SeaWIFS项目进行应用和分析。 ENVI/IDL在农林应用中的主要知识点包括: 1. 遥感在农业中的应用,例如使用ENVI/IDL对农业进行遥感监测和分析。 2. 农作物调优栽培决策支持系统,例如使用ENVI/IDL对农作物进行调优栽培决策支持。 3. 国家粮食主产区粮食作物种植面积遥感测量与估产业务系统,例如使用ENVI/IDL对粮食作物种植面积进行遥感测量和估产。 4. 省级农情遥感速报系统,例如使用ENVI/IDL对农情进行遥感速报。 ENVI/IDL在环境、卫生应用中的主要知识点包括: 1. 遥感技术在环境中的应用,例如使用ENVI/IDL对环境进行遥感监测和分析。 2. 鄱阳湖湿地快速提取系统,例如使用ENVI/IDL对鄱阳湖湿地进行快速提取。 3. 东平湖水质遥感监测系统,例如使用ENVI/IDL对东平湖水质进行遥感监测。 4. ENVI用于检测休斯顿的污染状况,例如使用ENVI对休斯顿的污染状况进行检测和分析。 本文档对ENVI和IDL在多个领域的应用进行了详细的介绍,涵盖气象、大气科学、数字城市、测绘、国土、规划、海洋领域、农林、环境、卫生等领域,展示了ENVI/IDL在这些领域中的应用和价值。

import os import numpy as np from osgeo import gdal input_folder = 'G:/xianlinhotel/xlh632envi' output_folder = "G:/xianlinhotel/xlh_nir_rg_632envicai" target_width = 1230 target_height = 910 for filename in os.listdir(input_folder): if filename.endswith(".tif"): tif_path = os.path.join(input_folder, filename) tif_dataset = gdal.Open(tif_path) if tif_dataset is not None and tif_dataset.RasterXSize == 1280 and tif_dataset.RasterYSize == 960: data = tif_dataset.ReadAsArray() x_offset = (tif_dataset.RasterXSize - target_width) // 2 y_offset = (tif_dataset.RasterYSize - target_height) // 2 new_data = data[:, y_offset:y_offset+target_height, x_offset:x_offset+target_width] output_path = os.path.join(output_folder, filename) driver = gdal.GetDriverByName("GTiff") new_dataset = driver.Create(output_path, target_width, target_height, tif_dataset.RasterCount, tif_dataset.GetRasterBand(1).DataType) geotransform = tif_dataset.GetGeoTransform() new_geotransform = (geotransform[0] + x_offset * geotransform[1], geotransform[1], geotransform[2], geotransform[3] + y_offset * geotransform[5], geotransform[4], geotransform[5]) new_dataset.SetGeoTransform(new_geotransform) new_dataset.SetProjection(tif_dataset.GetProjection()) for i in range(1, tif_dataset.RasterCount + 1): new_dataset.GetRasterBand(i).WriteArray(new_data[i - 1]) new_dataset = None # 关闭数据集以保存文件和释放资源 print(f"Saved {filename} to {output_path}") else: print(f"{filename} has invalid size or is not a TIFF file.") tif_dataset = None # 关闭数据集以释放资源 详细解释

2023-05-30 上传