免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2707|回复: 6
收起左侧

[技术交流] python裁剪脚本如何生成gdb图层

[复制链接]

2

主题

78

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
21
发表于 2015-9-15 16:34 | 显示全部楼层 |阅读模式
本帖最后由 benu 于 2015-9-15 16:36 编辑

利用python裁剪脚本可以批量自动生成shp图层,且被裁剪的数据无论是gdb中的图层还是shp文件,都可以,但只会生成shp文件,如何才能让它生成gdb下的图层文件.
下面是一个对 f:/data/目录下AAAA.gdb中的B图层,用1.shp来裁剪,得到S1.shp文件的脚本.

如何生成gdb下的图层?如要f:/output/BBBB.gdb下生成T2文件.如何操作?


# Name: Clip_Example2.py
# Description: Clip major roads that fall within the gnatcatcher habitat study area.
# Author: ESRI

# Import system modules
import arcpy
from arcpy import env

# Set workspace
env.workspace = "f:/data"

# Set local variables
in_features = "/AAAA.gdb/B"
clip_features = "1.shp"
out_feature_class = "f:/output/S1.shp"
xy_tolerance = ""


# Execute Clip
arcpy.Clip_analysis(in_features, clip_features, out_feature_class, xy_tolerance)




113

主题

1万

铜板

173

好友

地信贵宾

Rank: 13Rank: 13Rank: 13Rank: 13

积分
39143

精华勋章宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章

发表于 2015-9-16 08:13 | 显示全部楼层
env.workspace设置为数据库即可
回复 支持 反对

使用道具 举报

2

主题

78

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
21
 楼主| 发表于 2015-9-17 17:23 | 显示全部楼层
# Set workspace
env.workspace = "f:/data"

# Set local variables
in_features = "/AAAA.gdb/B"
clip_features = "1.shp"
out_feature_class = "f:/output/S1.shp"
xy_tolerance = ""

是将env.workspace = "f:/data" 设为数据库?但这句应是指定源数据的目录路径的?而非生成数据的目录路径.
回复 支持 反对

使用道具 举报

113

主题

1万

铜板

173

好友

地信贵宾

Rank: 13Rank: 13Rank: 13Rank: 13

积分
39143

精华勋章宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章

发表于 2015-9-18 08:00 | 显示全部楼层
benu 发表于 2015-9-17 17:23
# Set workspace
env.workspace = "f:/data"

out_feature_class = "f:/output.gdb/S1"
回复 支持 反对

使用道具 举报

2

主题

78

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
21
 楼主| 发表于 2015-9-18 11:13 | 显示全部楼层
嗯,对了.
out_feature_class = "f:/output.gdb/S1" output.gdb是要预先建好;如果是输出指定文件夹目录,也是要预先先建好.

非常感谢版主的解答.

点评

你可以在python中判断路径是否存在,不存在可以用python代码创建,以增加程序的稳定性  详情 回复 发表于 2015-9-28 14:59
回复 支持 反对

使用道具 举报

113

主题

1万

铜板

173

好友

地信贵宾

Rank: 13Rank: 13Rank: 13Rank: 13

积分
39143

精华勋章宣传勋章爱心勋章组织勋章优秀斑主地信元老灌水勋章荣誉会员勋章活跃勋章官方团队地信专家组VIP勋章贡献勋章名人堂勋章成就学员勋章

发表于 2015-9-28 14:59 | 显示全部楼层
benu 发表于 2015-9-18 11:13
嗯,对了.
out_feature_class = "f:/output.gdb/S1" output.gdb是要预先建好;如果是输出指定文件夹目录,也 ...

你可以在python中判断路径是否存在,不存在可以用python代码创建,以增加程序的稳定性
回复 支持 反对

使用道具 举报

0

主题

181

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
66
发表于 2015-10-2 11:01 | 显示全部楼层
非常感谢版主

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表