ENVI Classic以某一经纬度为中心截取图片

TIF图片截取教程
本文详细介绍了一种从TIF格式图像中精确截取所需部分的方法。包括如何加载图像、设置截图尺寸、定位截图中心点及按指定地理坐标进行截图等步骤。
打开TIF图片

点Load Band

设置截图的大小

点【File】-【Preference】


把【Image Window】-Xsize和Ysize设置为要截图的大小

定位截图中心点

右键 【Pixel Locator】

点击【Change Proj】

选择【GeographicLat/Lon】

再输入经纬度,E,N。之后点击Apply。

开始截图

选择【File】-【Save Image AS】-【Image File】

选择【Spatial Subset】

点击【Image】

确认下Samples和Lines是不是之前设置的截图的大小。点【OK】。


点【OK】

选择文件格式【TIFF/GeoTIFF 】


选择保存路径【Choose】

最后点【OK】。


### 将经纬度坐标转换为ENVI支持的ASCII格式 为了将经纬度坐标转换成ENVI支持的ASCII格式文件,需遵循特定的数据结构和格式要求。ENVI软件处理数据时,默认采用左上角作为坐标的起始点(0,0),这与某些编程环境如IDL有所不同,在IDL中默认原点位于图像的左下角[^4]。 创建符合ENVI标准的ASCII文件涉及几个重要方面: #### 文件头定义 在ASCII文件顶部应包含描述性信息,通常以`#`号开头表示注释行。这些行可以用来记录诸如项目名称、日期或其他备注信息。对于实际数据部分,则不需要额外的头部说明,因为ENVI会依据后续的内容自动解析。 #### 数据排列规则 由于ENVI假定输入是从左上方开始逐行扫描至右下方的方式存储栅格数据,因此当准备经纬度坐标对应的数值矩阵时,应该按照此顺序组织数据——即先列出最上面一行的所有列值,接着是第二行...直到最后一行结束为止。 #### 经纬度与其他属性组合 如果除了地理坐标外还需要保存其他关联参数(比如反射率),那么每一行应当依次写出经度、纬度以及相应的测量值或计算结果。各字段间通过空格分隔开来即可满足基本需求;当然也可以选择逗号或者其他字符来实现更灵活的分割效果。 下面给出一段Python脚本示范如何构建这样的ASCII文件: ```python import numpy as np def write_envi_ascii(filename, lonlat_data): """ Write longitude and latitude data into ENVI compatible ASCII file. :param filename: Path of output ASCII file. :type filename: str :param lonlat_data: Array containing pairs of longitudes and latitudes, shape (n_samples, 2). :type lonlat_data: ndarray """ with open(filename, 'w') as f: # Writing header comments f.write("# This is an example ENVIASCII format file\n") n_rows = int(np.sqrt(lonlat_data.shape[0])) index = 0 for row in range(n_rows): line = "" for col in range(n_rows): lon, lat = lonlat_data[index] value = some_function_to_get_value_based_on_lon_lat(lon,lat) # Replace this function call entry = f"{lon} {lat} {value}" if not line: line += entry else: line += " " + entry index+=1 f.write(line+"\n") # Example usage dummy_data = np.random.rand(9,2)*180 - 90 # Generate dummy geographic coordinates within [-90,+90],[-180,+180]. write_envi_ascii('example.enviaascii', dummy_data) ``` 上述代码片段展示了怎样编写函数`write_envi_ascii()`用于生成指定路径下的ASCII文本文件,并填充由给定经纬度组成的二维数组中的元素。注意这里假设输入是一个正方形网格形式分布的空间位置集合,所以可以通过平方根运算得到每边长度从而控制循环次数。另外还需替换掉`some_function_to_get_value_based_on_lon_lat()`以便真正获取基于具体地理位置的相关物理量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值