91卫星助手大影像下载方法

当我们在利用91卫星助手下载大影像的时候需要进行渔网划分工具,

利用arcmap绘制矢量对范围,并进行渔网均匀划分、分割提取成单个shp文件

渔网范围

绘制矩形范围矢量shp文件

文件目录,选择一个目录,点击右键,新建,Shapefile...

设置名称,设置要素为面

编辑工具最后一个工具,选择矢量文件,选择矩形,后面就可以画上范围矩形了

绘制完成后,点击停止编辑按钮,即可保存矢量文件了。

对矩形范围矢量进行渔网操作

数据管理工具 -> 采样 -> 创建渔网

设置输出文件绝对路径,路径下这个文件可以不存在

选择范围文件

设置渔网参数,几行几列

设置输出矢量为"面"

点击确定按钮

按照属性ID分割成单个文件

用python程序进行分割

python 复制代码
# -*- coding: utf-8 -*-
import arcpy
import os

"""
将多面SHP文件按指定属性分割为单个面文件 ,运行环境python2.7 arcmap自带的环境

参数:
input_shp: 输入的多面SHP文件路径(如 r"C:\data\input.shp")
attribute_field: 用于分割的属性字段名(如 "ID" 或 "NAME")
output_folder: 输出单个面文件的文件夹路径

程序运行样例:
C:\Python27\ArcGIS10.8\python.exe C:\splitShp.py
"""
def split_shapefile_by_attribute(input_shp, attribute_field, output_folder):
    # try:
    print(input_shp)
    # 检查输入文件是否存在
    if not arcpy.Exists(input_shp):
        raise Exception("输入文件不存在: {input_shp}")

    # 检查属性字段是否存在
    fields = [f.name for f in arcpy.ListFields(input_shp)]
    if attribute_field not in fields:
        raise Exception("属性字段不存在: {attribute_field}")

    # 创建输出文件夹(若不存在)
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
        print("已创建输出文件夹: {output_folder}")

    # 获取属性字段的所有唯一值
    unique_values = []
    with arcpy.da.SearchCursor(input_shp, [attribute_field]) as cursor:
        for row in cursor:
            value = row[0]
            if value not in unique_values:
                unique_values.append(value)

    print("共检测到 {} 个唯一属性值,开始分割...".format(len(unique_values)))

    # 遍历每个唯一值,导出对应面要素
    for value in unique_values:
        # 处理属性值中的特殊字符(避免文件名错误)
        safe_value = str(value).replace("/", "_").replace("\\", "_").replace(":", "_")
        output_shp = os.path.join(output_folder, "{}.shp".format(safe_value))

        # 按属性筛选并导出
        # where_clause = "{arcpy.AddFieldDelimiters({}, {})} = '{}'".format(input_shp,attribute_field,value)
        # where_clause = f"{arcpy.AddFieldDelimiters(input_shp, attribute_field)} = '{value}'"
        # arcpy.Select_analysis(input_shp, output_shp, where_clause)
        # 按属性筛选并导出(兼容Python 2.7的字符串格式化)
        field_delimiter = arcpy.AddFieldDelimiters(input_shp, attribute_field)
        if isinstance(value, (int, float)):
            # 数值型字段不加引号
            where_clause = u"%s = %s" % (field_delimiter, value)
        else:
            # 字符串型字段加单引号
            where_clause = u"%s = '%s'" % (field_delimiter, value)

        arcpy.Select_analysis(input_shp, output_shp, where_clause)
        print(u"已导出: %s" % output_shp)

        print("已导出: {}".format(output_shp))

    print("分割完成!所有文件已保存至输出文件夹。")
    
    # except Exception as e:
    #     print("执行出错: {str(e)}")

# --------------------------
# 以下为脚本配置和运行部分
# --------------------------
if __name__ == "__main__":
    # 请根据实际情况修改以下参数
    input_shapefile = r"D:\temp\ArcMapCut\Cut\shp\xinzhu_yuwang_v2.shp"
    split_field = "FID"
    output_directory = r"D:\temp\ArcMapCut\Cut\shp\split"
    
    # 调用函数执行分割
    split_shapefile_by_attribute(input_shapefile, split_field, output_directory)
相关推荐
Lucky_云佳3 个月前
ArcMap-去除底图水印
经验分享·arcgis·arcmap·google earth
haokan_Jia4 个月前
【6、Gis数据-新疆下属流域划分及其数据】
gis·arcmap·河流
极海拾贝5 个月前
【最新最权威】ArcGIS ArcMap中添加在线地图-天地图(地形、矢量、影像、全球境界)的方法
arcgis·gis·地图·arcmap·天地图·底图
铉铉这波能秀7 个月前
如何在arcmap中将shp等文件类型导出为表格(四种方法)
数据库·arcgis·数据分析·arcmap·地理信息·shp
trojan__8 个月前
arcgis界面右侧目录如何打开
arcgis·gis·arcmap
Mike_6668 个月前
TIF图片怎么用ArcMap进行裁剪
arcmap·裁剪·tif图片
真就死难1 年前
ArcGIS及其组件抛出 -- “Sorry, this application cannot run under a Virtual Machine.“
arcgis·arcmap
疯狂学习GIS2 年前
ArcGIS计算矢量要素集中每一个面的遥感影像平均值、最大值等统计指标
arcgis·arcmap·遥感影像·面要素·矢量面·要素集·统计值
疯狂学习GIS2 年前
ArcGIS求取多个点距离线要素的最近距离以及距离倒数
arcgis·arcmap·矢量数据·点要素·线要素·最小距离·距离倒数