arcmap批量处理

2 篇文章 0 订阅
2 篇文章 0 订阅

    今天教教大家用arcmap批量处理,很简单哦,一键操作,别害怕,坐稳,真的很简单的!大家一般在上课、学习期间都用不上批处理,就几张图而已,是我我也不用,纯属装bi,真讨人嫌。

 

                                    教教你简易快速批处理

 

 

    arcmap批处理方式很多,最简单的是在工具上右键选择“批处理”,

    这种方式比较简单,适合不那么多的情形,十个八个的,十几个都能勉强接受。不要问为什么,因为你点开就会发现,我去,这是半自动,顿时有种被欺骗的感觉,那是一个气啊,这还是手动啊!右键“浏览”可以一次输入多个文件,切记,切记,不然1/16自动了简直。

 

                                                         脚本处理

脚本处理

这个真的是最容易接受的了,你以为要你写代码?oh my God,很多人一听见就头疼,我不学我不学,我拉肚子,我腿抽经,我困!别怕,叔叔是不会骗人的!来,很简单,就一个字,“脱”,呸呸呸,是“拖”。

第一步:打开python窗口

第二步:将需要的功能拖进上面的脚本,我拖进去的是“面转栅格”

第三步:要干嘛?看不懂这个框啊?没关系,右键你刚才拖动的按钮,查看“项目描述”,在这里面,它会告诉你所需要输入的参数,说的非常详细,按照它说的,把参数写进去就Ok了,按键盘的“Enter”就行了,真的非常简单,不需要你写代码,是真的简单一“拖”就OK。

实际上,我骗了你们,不是“拖”了不认账啊?不能胡说的啊!大家都知道,那是命令行,虽然可以一次处理多个文件,但是比较麻烦。那怎么才能一次处理很多个呢?往下看,真的下次你直接复制过去就能用。

                                        脚本批处理

第一步:打开arcgis自带的python编辑器。下图最下面的那个。然后,“file”--->"New window",这里打开的是编辑器,为什么要用自带的呢?因为它里面有arcpy的包,这个要付费,不能装在自己的python编辑器里面,只能用它这个又丑又慢的编辑器。

 

 

第二步:在刚才打开的“项目描述”中,往下翻,能看见示例代码,别多想,直接复制进第一步的编辑器里面。下面的是我直接复制进去的。我复制的仍然是刚才“面转栅格”的功能。

第三步:怎么批处理呢?这时你得让程序知道你需要处理的文件在哪里?下面,将展示一下我写的读取文件的全部shp文件,并转为栅格tif文件的代码,你们用的时候直接复制我的进去,改改路径就好。是不是很Nice,我还不懂你,复制多爽。写完后,点击"run"运行即可

# Name: PolygonToRaster_Ex_02.py

# Description: Converts polygon features to a raster dataset.



# Import system modules

import arcpy

from arcpy import env

import os

import sys

import time



def vector_tif():

    path = r"E:/BS2/data/shp"#存放shp的文件夹,改为自己的

    list_name = []

    #读取文件中的全部.shp

    for file in os.listdir(path):  

        file_path = os.path.join(file)  

        if os.path.isdir(file_path):  

            os.listdir(file_path, list_name)  

        elif os.path.splitext(file_path)[1]=='.shp':  

            list_name.append(file_path)  



    #下面程序就是复制arcmap工具里面的”项目描述的内容“

    # Set environment settings

    env.workspace = r"E:/BS2/data/shp"#工作空间,选择自己的

    

    # Set local variables

    for i in range(len(list_name)):#玄魂全部shp文件

        name = list_name[i]

        print(name)

        #以下参数,可以根据不同功能所需的输入做出更改

        inFeatures = r'E:/BS2/data/shp/'+name#shp文件的名字

        valField = "gwaterEle"#输出栅格的分配字段

        outRaster = r'E:/BS2/data/tif/tif'+name[:-4] + '.tif'#输出tif的名字

        assignmentType = "CELL_CENTER"#像元分配方法

        priorityField = "NONE"

        cellSize = 25#栅格大小

        

        # Execute PolygonToRaster

        arcpy.PolygonToRaster_conversion(inFeatures, valField, outRaster, 

                                         assignmentType, priorityField, cellSize)





if __name__ == "__main__":   

    print("shp转为tif")

    s_time=time.time()

  

    vector_tif()#调用函数

    e_time=time.time()

    print("程序共耗时: %.2f s!" % (e_time - s_time))

 

对于工具栏力的其他功能,都能通过查看“项目描述”,复制参考代码,然后简单修改即可,关于怎么一次性读取文件件下所用文件,这个可以参考我写的,也可以根据需要去查一查,还是需要一点编程功底的。

还有一种最牛的方式是模型编辑器,这玩意儿是真的一句代码不写,就能完成批处理,但是逻辑性行要求比较高,我也不怎么会,学通透了在来刚告诉你们。

  • 8
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值