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

wordpress无插件实现网站地图/seo自学网app

wordpress无插件实现网站地图,seo自学网app,望野博物馆观后感,自媒体app下载本文介绍基于Python中的ArcPy模块,以Excel表格内的信息,对遥感影像加以重分类的方法。 首先,明确一下本文的需求。现有按照文章ArcPy批量将栅格文件的属性表导出为Excel表格的方法(https://blog.csdn.net/zhebushibiaoshifu/artic…

  本文介绍基于Python中的ArcPy模块,以Excel表格内的信息,对遥感影像加以重分类的方法。

  首先,明确一下本文的需求。现有按照文章ArcPy批量将栅格文件的属性表导出为Excel表格的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/146456864)中方法,从大量遥感影像中导出的栅格数据属性表,其均为.csv格式的表格文件。以其中一个.csv格式文件为例,其数据信息如下图所示。

  其中,.csv文件的VALUE列表示遥感影像原本的像素值;而我们希望,将每一个像素,由原本的值(VALUE列)重分类为上图中mvalue列表示的值——例如,如果原本像素为1,那么将其重分类为123000。此外,还需要注意,对于mvalue列,如果其原本的数字位数不够6位,则在其右侧补0直至满6位——例如,如果mvalue列原本的值为23,那么需要在重分类时,重分类为230000

  明确了需求,我们就可以开始撰写代码。本文所用代码如下。

# -*- coding: utf-8 -*-import arcpy
import os
import pandas as pd
from arcpy.sa import *tif_folder = r'E:/06_Extra/202503_SC/TIFF/'
csv_folder = r'E:/06_Extra/202503_SC/Re/'
output_folder = r'E:/06_Extra/202503_SC/ReTIFF2/'def format_value(val):"""确保 mvalue 值为6位,在右侧补0"""if val == "":return Nonetry:# 确保是整数,并转换为字符串str_val = str(int(val))# 计算需要补充的0的数量padding_length = 6 - len(str_val)if padding_length > 0:# 在右侧填充0formatted_val = str_val + '0' * padding_lengthelse:# 如果已经是或超过6位,则直接返回formatted_val = str_valreturn int(formatted_val)except ValueError:return Nonetif_files = [f for f in os.listdir(tif_folder) if f.endswith('.tif')]for tif_file in tif_files:tif_path = os.path.join(tif_folder, tif_file)print(tif_path)csv_file = tif_file.replace('.tif', '.tif.csv')csv_path = os.path.join(csv_folder, csv_file)print(csv_path)df = pd.read_csv(csv_path)df = df.dropna(subset=['mvalue'])df['mvalue'] = df['mvalue'].apply(format_value)df = df.dropna(subset=['mvalue'])  # 再次删除格式化后可能产生的NaN值if df.empty:print("No valid data found in {}, skipping.".format(csv_file))continuereclass_rules = []for index, row in df.iterrows():value = int(row['Value'])mvalue = int(row['mvalue'])print(mvalue)  # 打印格式化后的 mvalue 值reclass_rules.append((value, mvalue))myRemapValue = RemapValue(reclass_rules)reclass_table = arcpy.sa.Reclassify(tif_path, "Value", myRemapValue, "NODATA")# 输出路径output_path = os.path.join(output_folder, tif_file)# 保存重分类后的栅格数据reclass_table.save(output_path)print("Batch processing completed.")

  其中,代码整体思路也很简单。

  首先,tif_folder是存储.tif格式栅格图像文件的路径,csv_folder是存储与每个.tif文件对应的.csv文件的路径,也就是包含重分类规则的Excel文件的路径;output_folder则是用于保存处理后的重分类结果(也是.tif文件)的路径。

  随后,format_value函数接收一个数值val,将其转换成字符串,并保证长度为6位;如果不足6位,则在右侧填充0,如果输入为空或无效值,则返回None

  接下来,列出tif_folder目录下所有以.tif结尾的文件名,并循环遍历每一个文件——首先构建当前.tif文件的完整路径,随后查找对应的.csv文件(同名但扩展名为.tif.csv的文件);使用Pandas读取.csv文件,删除mvalue列中为空的行,对mvalue列应用上面定义的format_value函数进行格式化;随后,再次删除格式化失败导致的空值;如果处理后没有有效数据,跳过该文件。

  紧接着,遍历DataFrame的每一行,提取Value和格式化后的mvalue,将它们构造成一个元组(原值, 新值),存入reclass_rules列表。随后,使用arcpy.sa.RemapValue()创建一个映射规则对象,并调用arcpy.sa.Reclassify()进行重分类——输入栅格为tif_path,按照像素值Value进行重分类(应用myRemapValue规则),且未匹配的像素设为NODATA

  最后,构建输出路径,并保存重分类后的栅格图像到指定位置。处理完所有文件后打印完成信息。

  执行上述代码,即可对每一个遥感影像,按照每一个Excel文件内的规则,加以重分类。

  至此,大功告成。

欢迎关注:疯狂学习GIS

http://www.whsansanxincailiao.cn/news/32051730.html

相关文章:

  • 多少钱能运营一个网站/湖南网站建设平台
  • wordpress搬家建立数据库连接时出错/武汉标兵seo
  • 2015年做哪些网站能致富/自己怎么创建网站
  • 这几年做哪些网站致富/网络网站推广
  • 公司网站后台导航链接怎么做/最新新闻热点事件2022
  • 网站建设和维护/seo关键词推广话术
  • 岳阳卖房网站/搜索引擎优化常用方法
  • 做网站经营流量/推推蛙网站诊断
  • 微网站建设使用程序/搜索指数查询
  • 做百度移动网站排名软/网络建站
  • 长春疫情最新消息今天分布图/上海知名seo公司
  • wordpress自定义用户头像/优化网站关键词排名
  • 做外贸网站渠道/山西网络推广
  • 莱芜做网站建设的公司/现在什么网络推广好
  • 做网站的公司算外包公司吗/优化网站推广教程排名
  • psd模板免费下载网站/百度下载
  • 站长工具源码/活动推广方案策划
  • 四川省建设厅建造师官方网站/百度推广app
  • 深圳公司网站设计哪家好/网络营销策划的主要特点
  • 凡科免费做网站/关键词优化报价
  • c 网站购物车怎么做/百度推广怎么优化
  • seo推广排名/南宁seo外包平台
  • 济南兼职做网站/网站推广和优化的原因网络营销
  • 广元百度做网站多少钱/网站设计框架
  • 58网站怎么做优化/seo推广教程seo推广技巧
  • 大型网站 div/百度快速排名案例
  • 厦门手机网站建设公司/竞价推广课程
  • 怎么再贴吧给自己的网站做宣传/下载百度极速版免费安装
  • 湖南省专业建设公司网站/百度百科优化排名
  • 万网备案初审过了后网站能访问吗/在线企业管理培训课程