[python] 对于arcpy的简单使用。

every blog every motto: Don`t talk,show me you activition.

0. 前言

arcpy 的简单尝试,包括clip , intersect, buffer,等
说明:

  1. 程序文件来源与ArcGIS官方文档
  2. 基于python2.7,

1. 正文

1. clip

1.1 程序

# -*- coding: utf-8 -*-
import arcpy
from arcpy import env

# 配置环境
env.workspace = "D:/Data_saved/Desktop/graduate_down/GIS/postgraudate"
# env.workspace = "D:\Data_saved\Desktop\graduate_down\GIS\postgraudate"
# 设置变量
input_features = "切分格网.shp"
clip_features = "土地调查图斑.shp"
ouput_feature_class = "D:/Data_saved/Desktop/graduate_down/GIS/output/cliped.shp"

# 执行

arcpy.Clip_analysis(input_features, clip_features, ouput_feature_class)

1.2 结果图

在这里插入图片描述

2. intersect

2.1 程序文件

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/3/20 11:44
# @Author  : none
# @File    : intersection_.py
import arcpy
import traceback, sys
from arcpy import env

try:

    # 设置工作环境
    env.workspace = "D:/Data_saved/Desktop/graduate_down/GIS/postgraudate"

    # 第一步 相交 intersect
    inFeatures = ["土地调查图斑.shp", "切分格网.shp"]
    intersectOutput = "intersection1.shp"  # step1 output
    arcpy.Intersect_analysis(inFeatures, intersectOutput)

    # 第二步 增加缓冲区 buffer
    bufferOutput = "buffer_5m.shp"  # step2 output
    bufferDist = "5 meters"  # 5m 缓冲区
    arcpy.Buffer_analysis(intersectOutput, bufferOutput, bufferDist)

    # 第三步 clip
    clipInput = "clip_polygon.shp"
    clipOutput = "clipOoutput.shp"  # step3 output
    arcpy.Clip_analysis(bufferOutput, clipInput, clipOutput)

    # 第四步 statsFields
    statsOutput = 'statsOutput.shp'  # step4 ouput
    statsFields = [["shape_area", "sum"]]
    caseField = "ydlx_Y"
    arcpy.Statistics_analysis(clipOutput, statsOutput, statsFields, caseField)

except Exception, e:
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

2.2 结果图

intersect 如下图
在这里插入图片描述
添加buffer,如下图
在这里插入图片描述
clip,如下图
在这里插入图片描述
统计结果,如下图。
在这里插入图片描述

发布了39 篇原创文章 · 获赞 32 · 访问量 5777

猜你喜欢

转载自blog.csdn.net/weixin_39190382/article/details/104999001
今日推荐