问题标签 [arcpy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

python - 使用字典将 python 数据类型转换为其他语言的数据类型

这是这篇文章的后续。重申一下,我有一个文本文件,其中包含给定位置的元数据和测量数据。我想将此数据写入名为 ArcGIS 的空间映射软件,我必须为列表中的每个值指定ArcGIS 中定义的数据类型。例如:

在 Python 中给出,但在 ArcGISstr中称为。text因此,我想将列表中每个元素的数据类型转换为 ArcGIS 中的适当数据类型。像这样的东西:

问题是:我怎么能从dtto 来dtArcGIS?我在想一个dictionary

但这会产生语法错误。任何帮助将不胜感激,谢谢!

0 投票
3 回答
3916 浏览

arcpy - ArcPy 中的简单字段计算

有人可以告诉我如何在 ArcPy 中进行简单的字段计算,例如从“A”复制到“B”吗?我在网上找到了很多例子,它们都使用了额外的表达式,而且很复杂。我需要的是 ArcMap Gui 之类的东西:

更新:这是我到目前为止的代码,但我在运行时遇到错误

NameError:名称“A”未定义

0 投票
1 回答
65 浏览

python - 匹配不同列表中的相同元素并用新元素替换旧元素


大家好,
我是一名python初学者,试图想出一个简单的解决方案来解决以下问题。

我有两个清单。每一个都是一列,还有很多行 dir/path/filename.ext

A 是旧列表
B 是新列表

我想创建一个新列表,这将是此工作流程的结果:
1. 在列表 A 的第一行中查找文件名
2. 在列表 B 中的任何位置查找匹配的文件名(这将是唯一的,所以没有问题重复)
3. 如果找到匹配项,将 A 的路径替换为 B 的路径
4. 遍历列表 A 的所有行。

最终结果应该是一个列表变量,其中所有旧路径 (A) 都被新路径 (B) 替换。如果未找到匹配项,则旧路径将保持不变。

例子:

列表 A
D:\Maps\Expeditions.shp
D:\Maps\Routes.shp
D:\Maps\Stations.shp
D:\Maps\Vegetation.shp

列表 B
C:\Project\Stations.shp
C:\Project\Routes.shp
C:\Project\Expeditions.shp
C:\Project\Lakes.shp
C:\Project\Mountains.shp

新列表
C:\Project\Expeditions.shp
C:\Project\Routes.shp
C:\Project\Stations.shp
D:\Maps\Vegetation.shp

非常感谢!

Ĵ

0 投票
4 回答
1338 浏览

python - 检查 Sphinx 文档是否调用了脚本

我目前正在尝试为使用 ArcGIS arcpy 库的脚本生成 sphinx 文档。

当 sphinx 在生成文档时尝试运行脚本时,我遇到了一个问题,因为 arcpy 脚本从 arcgis gui 获取输入参数。由于 sphinx 在没有 gui 的情况下调用脚本,因此这些参数为空并导致 Tracebacks,例如:

我通过在测试开始时设置一个变量来解决单元测试中的这个问题,脚本检查并在参数中设置测试值,我想知道狮身人面像是否有类似的解决方法?

0 投票
1 回答
2944 浏览

python - ArcPy Mapping:批量符号化图层并将每个图层导出为 JPEG (ArcGIS 10.2)

我目前正在尝试使用 ArcPy 映射,目的是自动创建 20 - 30 个地图,而不是一个接一个地手动创建它们。问题是什么都没有发生,当我实现代码时也没有产生错误。我正在尝试完成以下任务:

  • 将每个图层的符号系统设置为“GRADUATED_COLORS”,并且与我已经可视化的一个图层的符号系统相同。
  • 让每一层的分类间隔值基于自然间隔。
  • 然后稍后将每个保存为 JPEG

下面是我在 ArcMap 10.2 python 窗口中执行此操作的代码。任何帮助都会很棒。

lyr 文件是我在 ArcMap 中使用我想要的符号系统可视化的文件。

0 投票
1 回答
805 浏览

python - Python os.path.exists 变量问题

我正在尝试运行一个 python 模块来搜索一个表,并从该表中的一些 celss 中提取数据(使用变量“LayerExpression”)。在某些情况下,该单元格包含另一个 python 文件的路径名(例如,表格单元格中可能有以下路径名:'C:\Users\me\Documents\Working\PyFiles\Example.py')。我的 python 程序将每个单元格值分配给变量“CommentsExpression”,然后检查该变量以查看它是否确实引用了现有文件的路径名(使用 os.path.exists())。如果是这种情况,那么我的程序会将那个其他 python 文件作为模块导入,并从中提取特定的变量——在这个例子中是变量“表达式”。

我的问题是,当我从表中提取路径名时,将其分配给变量“CommentsExpression”并通过 os.path.exists() 运行它,它一直显示为假——即使文件路径在事实存在。我尝试使用 r'[path name]',但没有运气作为变量。我的代码示例如下。

0 投票
1 回答
196 浏览

python - 谷歌地图的多边形可以处理内环吗?

我已经将一个 python 脚本与 ArcGIS arcpy 放在一起,用于创建 polygonzo json 多边形 ( http://code.google.com/p/polygonzo/ )。这是我的python脚本...

当脚本遇到内部环时,它只打印一个警告。我不知道如何处理它们。不幸的是,我使用的许多多边形都有内环。我使用一个具有内环的多边形组合了一张测试地图。这是它的样子...... http://www.geology.ar.gov/test/test-polygonzo.html

polyzo 可以处理内环吗?

更新:我非常感谢您的回复 Michael Geary 先生!但是,我无法使用 json 模块让您的 python 脚本工作。其中有一些错误,我在上面对其进行了编辑,但它吐出了一个空白文档。可能是我不够努力。在查看了带有内环的多面体在 json 格式中应该是什么样子的示例之后,我回到了我的 python 脚本的工作上(是的,如果不使用 json 模块,让 json 有效有点困难)。我添加了更多评论,所以如果你有时间,你可以使用 json 模块让你的脚本工作——我想看看一个工作示例。这是我最终的python脚本....

我还要补充一点,polygonzo 以及您与他人分享的意愿给我留下了深刻的印象。但是,您提供的 javascript 和 python 确实可以使用更多注释来更快地理解这一切。

0 投票
2 回答
1347 浏览

python - AttributeError:“列表”对象没有属性“updateItem”

我正在使用 arcpy 进行地图自动化。

我需要根据添加到 mxd 的图层在地图布局上添加图例。我正在使用下面的代码(如教程中给出的):

但是每次我运行此代码时,都会出现以下错误:

什么可能导致出现此错误?

0 投票
1 回答
3359 浏览

python - select by attribute within for loop using variable in Where-statement

I have seen several similar posts related to this technique but I am still having issues. The following script is intended to select all points from one shapefile that are within the boundaries of a second polygon shapefile, then edit the number of points selected into one of the polygon fields. I have not been able to get the where clause statement to function properly although from the error message it appears to be correct. Both shapefiles are within a file geodatabase and feature layers where created for both in order to use the selection functions.

Error Message:

The treatment_maps features class contains polygons and counts (DI_Count) for points located within each polygon, which need to be updated. I'm hoping to get this script to work properly as I have around 100 polygons to update. Thank you for any help or advice!

Update: After experimenting with each line I've discovered that the select by attribute 'where' statement is functioning properly but the select by attribute function does not work while the cursor is set on the same object. I still need a solution though.

0 投票
1 回答
646 浏览

python - 如何使用python将一个dbf表划分为两个或多个dbf表

我有一个 dbf 表。我想使用 Python 自动将此表分成两个或多个表。主要问题是,该表包含更多行组。每组行由空行与前一组分开。所以我需要将每个组保存到一个新的 dbf 表中。我认为这个问题可以通过使用 Arcpy 包和 FOR 循环和 WHILE 中的一些函数来解决,但我的大脑无法解决它:D:/ 我的源 dbf 表更复杂,但我附上了一个简单的例子以便更好地理解。对不起我糟糕的英语。

源 dbf 表:

我想得到 dbf1:

我想得到 dbf2: