- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不确定这是否更多是一个 Python、FME 还是 Esri 问题...
情况如下 - 用户打开了一个 MXD 文档,该文档连接到具有某个版本的 ArcSDE 数据库。我创建了一个 FME 工作台来写入该数据库,但用户不想手动输入 ArcSDE 版本名称作为用户参数(当前的设置方式)。相反,他们希望在工作台中使用当前在 MXD 中连接的任何版本。
我整理了一些Python代码,为打开的MXD创建当前版本名称的文本文件,但我想使用这个值(或者可能是返回的值)作为新的脚本(Python) 在 FME 工作台中使用的私有(private)参数。
现在有两个问题:
这是我到目前为止的代码(我是 Python 新手,所以请耐心等待!)
import arcpy, os
mxd = arcpy.mapping.MapDocument(r'CURRENT')
text_file = open("C:\\temp\\VersionName.txt","w")
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.supports("SERVICEPROPERTIES"):
servProp = lyr.serviceProperties
if lyr.serviceProperties["ServiceType"] != "SDE":
print "Service Type: " + servProp.get('ServiceType', 'N/A')
else:
text_file.write (servProp.get('Version'))
text_file.close()
del mxd
最佳答案
假设所有层都使用相同的版本,您可以这样做:
import arcpy
mxd = arcpy.mapping.MapDocument(r'CURRENT')
layer_list = arcpy.mapping.ListLayers(mxd)
first_layer = layer_list[0] #The first item in layer_list
servProp = first_layer.serviceProperties #Get properties for the first layer
version = servProp.get('Version') #Get the version
要在 FME 中使用版本名称作为参数,您可以使用 PythonCaller 转换器并将“version”设置为要公开的属性。请参阅https://knowledge.safe.com/articles/How_To/Python-and-FME-Basics用于文档。
祝你好运!
汤姆
关于python - ArcPy ListLayers 用作 FME 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283683/
我正在尝试清理我的脚本,这样我就不必每次使用它时都更改变量。 我有美国每个州(加上华盛顿特区和波多黎各)的 arcgis 表。我想迭代文件夹中的这些表,一次将每个表连接到一个 shapefile,将连
我正在编写一个程序,它接受使用 pgsql2shp.exe 导出的两个形状文件的输入,并在它们之间进行交集。这是我的代码 print sys.argv[1], sys.argv[2] intersec
我正在尝试获取要素类的数据库路径,该要素类可能在也可能不在要素数据集中。我正在使用要素类的 os.path.dirname。如果要素类不在要素数据集中(很好),这将为我提供数据库路径,但如果要素类在要
我正在尝试检查 arcpy 中是否提供三个扩展。如何返回列出可用扩展的声明? import arcpy if arcpy.CheckExtension("3D, Network, Spatial")
R 包 sf 在“几何二元谓词”标题下有一组令人惊叹的函数,详细描述了 here . 如链接中所述,如果仅提供一个 sf 对象,则这些函数将递归地应用于同一数据集中的所有几何图形(参见下面的示例) p
我希望能够获取一个包含每个要素类记录和一些元数据字段(如摘要、描述等)的 Excel 文件,并将其转换为要素类元数据。根据我所做的研究,我似乎需要将 Excel 表中的每条记录转换为 xml,然后从那
我正在尝试使用更新游标来替换字段中的缩写(例如:ST 到 STREET,AVE 到 AVENUE 等),但似乎无法让它工作。我已经尝试了每一种排列,但显然遗漏了一些东西。代码运行但未对该字段进行任何更
所以我试图编写一个脚本,其中包含许多用户定义的变量。我已经到了最后一步,但似乎无法让它正确溶解。 目的:该脚本应该让我定义一个 shapefile/layer 文件,缓冲区要使用的距离,创建缓冲区然后
我在属性表中有一个文本字段,如下所示: NAME_ID Smith-123-456 Stewart-13-0931-2312 Brown-47 Jack-678-987-3-A 我创建了一个新的文本字
有没有办法在 python 中使用新添加的图层刷新 ArcMap (.mxd) 文档而不保存文档? 我已经使用Python完成了一系列任务的自动化,最后一步是将输出转储到arcmap文档中并弹出该文档
我正在开发一种工具,可以识别功能并使用现有工具修复它们。然而,目前我正在努力将我的想法转化为代码。目的是使用“按位置选择要素”图层中的搜索光标来识别并选择原始数据中的要素并执行另一个工具。截至目前,我
我已经创建了 python 脚本工具,并且能够通过提供如下要素类来选择图层。 import arcpy arcpy.env.workspace = "C:/project/pmms.gdb" arcp
我正在尝试对同一脚本中的多个工作空间使用 arcpy.ListFeatureClasses()。查看其他示例脚本,我想我可以简单地将工作空间分配给一个变量,然后在 arcpy.ListFeatureC
我希望使用 reticulate 在 R 中导入 arcpy 库。 我尝试在 R 中运行此代码: library(reticulate) use_python("C:/Python27/ArcGIS1
我遇到了 ArcPy 和 Python 编码之间的奇怪行为。我使用安装了用于 VS (PTVS) 的 Python 工具的 VisualStudio 2010 Shell。我通过一个简单的脚本文件隔离
作为毕业论文的结果,我正在尝试使用 Python 脚本为 ArcGIS 创建一个新的工具箱。问题是我被我的代码困住了,因为 Arcpy 中的现有函数都没有做我需要做的事情。所以我的问题是,是否可以在
不确定我是否在正确的位置发帖,但我在让我的 python GIS 程序在 Windows 7 64 位上运行时遇到了问题。这些程序适用于 XP 32 位。我做了很多研究并尝试更改我的 PythonPa
环境:Win 7 企业版,SP1 | ArcGIS Desktop 10.0(Python 2.6.5) 我正在尝试将 Arcpy Polyline 对象作为值存储在 Python 字典中,以便可以在
我正在将一些旧工具和模型从 9.3 更新到 10.3,并在尝试从网络分析图层保存特定图层时遇到问题。 下面是我的脚本的副本及其生成的错误: arcpy.CheckOutExtension("Netwo
ogr2ogr 或 arcpy 可以直接将 csv 转换为 shapefile 吗? 我正在尝试使用一个小脚本自动化一些流程,并希望我可以使用我不熟悉的 ogr2ogr 或 arcpy 轻松完成。 任
我是一名优秀的程序员,十分优秀!