arcgis新标识、擦除工具箱使用说明

工具箱下载:【免费】arcgis新标识、擦除工具箱资源-优快云文库

使用说明:本工具针对原标识、擦除工具箱进行升级,升级后标识、擦除图层可以指定多值。工具运行后请刷新显示,如发现问题欢迎指正,需求和交流,Q:775915005

标识工具箱代码:

# -*- coding:utf-8 -*-
# ---------------------------------------------------------------------------
# Author: LGZ
# Created on: 
# Reference:
# coding:cp936 or coding:utf-8
# ---------------------------------------------------------------------------

import logging, os, pprint
import pandas as pd
import numpy as np

import arcpy

if __name__ == '__main__':
    try:
        logprint("start of program")
        # TODO

        argv = tuple(arcpy.GetParameterAsText(i) for i in range(arcpy.GetArgumentCount()))
        fcpath = argv[0]
        idfc = argv[1]
        outputname = argv[2]
        idpathlst = idfc.split(";")

        arcpy.env.overwriteOutput = True

        arcpy.AddMessage(str(idpathlst))

        n = 0
        for i0 in idpathlst:
            if n == 0:
                idOutputn = r"in_memory\idOutput" + str(n)
                arcpy.Identity_analysis(fcpath, i0, idOutputn)
                n += 1
                continue
            idOutputn = r"in_memory\idOutput" + str(n - 1)
            idOutputn1 = r"in_memory\idOutput"  + str(n)

            arcpy.Identity_analysis(idOutputn, i0, idOutputn1)
            n += 1
            if n == len(idpathlst):
                arcpy.CopyFeatures_management(idOutputn1, outputname)  # 输出os.path.basename(fcpath)+"multiidoutput"



    except arcpy.ExecuteError:
        print(arcpy.GetMessages())

    # 无错误运行else后代码
    else:
        logprint("program success")
        arcpy.AddMessage("program success")

    # 有没有错误均运行finally后代码
    finally:
        pass

擦除工具箱代码:

# -*- ################
# -------------------------------------------
# Author:            LGZ
# Created on:        2022/08/31
# Version:
# Reference:

import arcpy


inputfeature_lyr = arcpy.GetParameterAsText(0)
analsfeature_lyr = arcpy.GetParameterAsText(1)
outputfeature_lyr = arcpy.GetParameterAsText(2)
analsfeature_lyr_list = analsfeature_lyr.split(";")
item_count = len(analsfeature_lyr_list)
cpfeature = "copyInput"

arcpy.env.overwriteOutput = True
arcpy.CopyFeatures_management(inputfeature_lyr, cpfeature)

list1 = []
n = 0
try:
    for analyr in analsfeature_lyr_list:
        if n == 0:
            eraseOutputn = "eraseOutput" + str(n)
            arcpy.Erase_analysis(cpfeature, analyr, eraseOutputn)
            n += 1
            continue
        eraseOutputn = "eraseOutput" + str(n-1)
        eraseOutputn1 = "eraseOutput" + str(n)


        arcpy.Erase_analysis(eraseOutputn, analyr, eraseOutputn1)
        n += 1
        if n == item_count:
            arcpy.CopyFeatures_management(eraseOutputn1, outputfeature_lyr)
    arcpy.Delete_management(cpfeature)
    for i in range(item_count):
        eraseOut = "eraseOutput" + str(i)
        arcpy.Delete_management(eraseOut)

except:
   print arcpy.GetMessages()



欢迎使用,如发现问题欢迎指正,需求和交流请私信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值