arcpy操作sde中的要素类

环境:

ArcGIS10.6.1、Oracle12c R1

示例一:对sde中的要素类执行缓冲区分析

import arcpy 
from arcpy import env 


env.workspace = r"C:\Users\admin\AppData\Roaming\ESRI\Desktop10.6\ArcCatalog\Connection to orcl.sde" 

arcpy.Buffer_analysis("SDE.area_1" , "E:/output/majorrdsBuffered", "200 Meters", "FULL", "ROUND", "NONE")

其中env.workspace获取的是sde的名称路径,通过在catalog中选中sde,右键属性,在Database Properties下的“Name”选项能够看到sde的路径。

而“SDE.area_1”是sde中存放的要素类的名称,也就是对这个要素类执行缓存区分析。 

“E:/output/majorrdsBuffered”是执行缓存区后输出文件的路径,也就是存放在output文件夹,生成的文件名为“majorrdsBuffered” 。

示例二:遍历sde中的要素类,以及获取指定要素类的某个字段下要素记录内容

import arcpy  
import os  
from arcpy import env  
env.overwriteOutput = True  

env.workspace = r"C:\Users\admin\AppData\Roaming\ESRI\Desktop10.6\ArcCatalog\Connection to orcl.sde"


# check name
fc_list = arcpy.ListFeatureClasses()    

for fcname in fc_list:  
    print fcname, arcpy.Exists(fcname), arcpy.Exists(os.path.join(env.workspace,fcname))

fcname = "SDE.area_1"
with arcpy.da.SearchCursor(os.path.join(env.workspace,fcname), "NAME") as cursor:
    for row in cursor:
        print row[0]

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值