首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arcpad、arcpy、检出/检入数据和限制为所选要素

Arcpad、arcpy、检出/检入数据和限制为所选要素
EN

Stack Overflow用户
提问于 2014-02-05 23:42:10
回答 1查看 423关注 0票数 0

我致力于开发一个python工具箱,以自动化检出和返回到文件地理数据库所需的步骤。我的问题是,在使用python命令行和ArcPad数据管理工具而不是ArcPad数据管理器时,将检出的特性限制为仅选定的特性的最佳方法是什么?ArcPad数据管理器中的“仅获取选定要素”复选框可简化此操作。这一点很重要,因为我希望限制使用区域并减小文件大小,因为其中一个要素类是大型地块地图。

EN

回答 1

Stack Overflow用户

发布于 2014-10-08 20:25:53

我确实知道一种只使用arcpy获取所选项目的方法。

代码语言:javascript
复制
    #get an map object
    mxd = arcpy.mapping.MapDocument("CURRENT")
    #get an dataframe object, here the first one is taken
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    #get a layer object
    lyr = arcpy.mapping.ListLayers(mxd,"NameOfRequiredLayer",df)
    #now get the FIDs of the selected Elements of your layer
    selection = arcpy.Describe(lyr).FIDSet

"selection“则包含所选元素的FID。有了它,你就可以随身携带一台你想做的事情了。例如,您可以设置图层定义查询:

代码语言:javascript
复制
    #shapes use FID, feature classes use OBJECTID, so you better check
    IDname = "\"OBJECTID\""
    if lyr.dataSource.endswith("shp"):
        IDname = "\"FID\""
    querystring = IDname + " = " + str(selection[0])
    for count in range(1,len(selection)):
        querystring = querystring + " OR " + IDname + " = " + str(selection[count])   
    if lyr.supports("DEFINITIONQUERY"):
        lyr.definitionQuery = querystring
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21581704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档