ArcPy
文章平均质量分 59
使用ArcPy制作的脚本工具的源码
学学GIS
这个作者很懒,什么都没留下…
展开
-
【更新】地图系列批量导出图片
这篇是 地图系列批量导出图 脚本工具的更新文章。原文章请见链接ArcMap的数据驱动或ArcPro的地图系列大家应该都用过了。但是做地图系列容易,导出地图系列就有点膈应了。地图系列的所有页面无法一次性导出为png、jpg等常用的格式,最多只能一次性导出为单张的pdf或者pdf合集。但是导出为pdf可能不够,很多时间还是要将单张的pdf转为png或者jpg,中间还要注意保留原pdf的文件名。原创 2024-05-20 10:24:26 · 562 阅读 · 0 评论 -
【ArcGIS 小技巧&脚本工具】批量修复CAD图层的数据源
批量修复CAD图层数据源原创 2024-05-12 13:15:38 · 224 阅读 · 0 评论 -
【ArcGIS 脚本工具】格式化简单渲染图层或图层组
统一设置多个简单渲染的线、面图层符号。原创 2024-05-09 18:30:51 · 398 阅读 · 0 评论 -
【ArcGIS 脚本工具】强制移动要素类,绕过空间参考不一致
强制移动要素类,绕过空间参考不一致原创 2024-03-18 13:19:06 · 518 阅读 · 0 评论 -
【ArcGIS 脚本工具】修改多个布局的同一文本元素
规划编制的战线有多长,估计各位规划人已经深有体会了。以村规为例,不服务个两年别想跑哈。其他规划编制时间更长,以至于图纸右下角的年月也是改了又改。本着分散改不如统一改,手动改不如自动改的原则,小编制作了这个脚本工具——修改多个布局的同一文本元素。它用以在不打开布局的情况下,批量修改多个布局的同名的文本元素,最适合的当然就是修改图纸年月喽。原创 2024-03-14 21:23:40 · 203 阅读 · 0 评论 -
【ArcGIS 脚本工具】点要素XY坐标标注
以前写过一篇小技巧来生成点要素的XY坐标标注。不止小伙伴们嫌弃,连我自己也觉得太麻烦了。为了以后做控规能丝滑一些,所以肝出来这个工具——点要素XY坐标标注,一键为点要素生成带牵引线的坐标标注。原创 2024-03-14 10:57:05 · 828 阅读 · 1 评论 -
ArcGIS Pro脚本工具(3)——直线转弧线
OD成本矩阵求解后的生成线为直线,如下左图,略丑。一通捣鼓终于实现了将直线转为弧线,效果见右图。实现的方法主要是参考了这片文章,在此先感谢前辈大佬。生成流向弧线工具 - GIS知乎-新一代GIS问答社区 http://zhihu.geoscene.cn/article/2811在前文的基础上,修改了添加折点的方法(为此还解了一道几何题,几乎抓破脑壳,不得不说高中才是知识的顶峰),增加了对弧线方向和弧度的控制。值得一提的是,将原直线的属性信息也一并增加到了新生成的弧线中,方便后续的符号化。.原创 2022-04-26 21:22:50 · 4007 阅读 · 9 评论 -
使用Python保存微信文章的图片到本地
经常我们导师丢一个微信文章过来,让我们把其中的图片整理成文档学习。有时候文章里面的图片特别多,这个时候一张一张的保存就太费时。使用Python自动保存看起来是个不错的办法。# coding=utf-8import reimport requestsdef spider(paperurl, picpat): headers = { "User-Agent": "Mo...原创 2020-05-07 20:55:12 · 1221 阅读 · 1 评论 -
ArcGIS Pro将标注以固定字符长度换行
在Pro中以某个字段标注要素,如何属性值太长,标注显示会很难看。可在标注表达式窗口中,使用Python语言创建表达式。def FindLabel(field): w=4 #设置每一行的字符长度 n = len(field) // w showlabel = '' i = 0 while i <= n + 1: showlabel = showlabel + field[i*w:(i+1)*w] + "\n" i += 1原创 2021-01-07 16:02:23 · 1341 阅读 · 0 评论 -
ArcGIS Pro脚本工具(17)——生成多分式标注
自制ArcGIS Pro脚本工具生成多分式标注原创 2023-01-22 12:30:03 · 2181 阅读 · 7 评论 -
ArcGIS Pro脚本工具(16)——要素类转txt坐标文件
之前介绍过txt坐标文件如何转为GIS要素类。网友反馈希望做一个相反功能的工具,也就是从要素类转为txt坐标文件,虽然自己的工作基本没碰到这个需求,不过还是尝试制作了一下。原创 2023-01-09 10:18:40 · 2624 阅读 · 1 评论 -
ArcGIS Pro脚本工具(15)——按字段属性值分类导图
比如,有江西省所有的县, 现在需要按市级(下图中用颜色区分)各导出一张图,之前的配合地图系列批量导图工具是做不到的,因为地图系列是索引图层中的每个要素,而不是一类要素。原创 2023-01-06 22:45:31 · 2464 阅读 · 0 评论 -
ArcGIS Pro脚本工具(14)——裁剪文件夹或数据库(保留文件夹结构)
如果能裁剪整个文件夹,能省下很多组织文件的功夫。原创 2022-09-14 22:13:39 · 1615 阅读 · 2 评论 -
ArcGIS Pro脚本工具(13)——合并多个文件夹或数据库
合并相同结构的文件夹或者数据库,如多个县的三调数据库可合并为整个市的三调数据库。原创 2022-09-13 22:23:04 · 2803 阅读 · 3 评论 -
ArcGIS Pro脚本工具(12)——样式符号属性对调
为地类做样式符号匹配经常碰到这样的问题:属性表里面只有地类代码,但是做样式文件的时候名称框里面填的是地类名称,或者是反过来,这都匹配不到一块嘛。如果我把地类名称、地类代码分别做到这几处,需要用地类代码匹配就把地类代码换到符号的名称属性,需要地类名称匹配就把地类名称换到符号的名称属性,岂不美哉?Python中用sqlite3模块对.stylx样式文件进行读写,考虑到这种对调操作将会是多次的,所以做成Python脚本工具。Pro里观察一下样式符号可以发现,符号可修改的属性有名称、标签、键3处。.........原创 2022-08-14 14:51:20 · 1313 阅读 · 4 评论 -
从excel表格生成ArcGIS Pro样式符号
这里提供另外一种方法。湘源可以导出当前用地标准的图层信息成excel表格,其中包括了各类用地的名称、RGB值,那从excel表格生成样式符号就成了更好的选择。做国土空间规划用地用海样式符号发现,将CAD拖入Pro之后,有些图层的颜色在Pro中识别出错了,没有出错的颜色在Pro中的RGB值也有出入,如下对比图。这表明从CAD图层生成样式符号的办法有很大疏漏。Python中使用xlrd模块读取excel表格,使用sqlite3模块读写.stylx样式文件,便可将湘源的用地用海配色表做成Pro的样式文件。...原创 2022-08-12 18:33:06 · 827 阅读 · 0 评论 -
ArcGIS Pro脚本工具(11)——修改图层唯一值符号的标注
做用地的符号系统经常碰到这样的问题,使用用地代码匹配样式之后,符号的标注默认也是用地代码,但是图纸上需要显示的是用地名称。这个时候一个一个改符号的标注就太繁琐了。之前编写的代码是在Pro自带的Python窗口中运行的,使用起来不是很方便,而且最近发现写的有点bug,所以修改之后做成了脚本工具,方便使用。...原创 2022-07-30 10:40:02 · 1581 阅读 · 2 评论 -
ArcGIS Pro脚本工具(10)——从图层生成.stylx样式符号
做这个工具的原因是,想做一个湘源控规用地颜色的.stylx文件。但是湘源所有用地类型太多了,如下图所示,足足110类。这么多颜色的面符号,一个个做到.stylx文件里不得累死?好在Pro对CAD文件的支持比较好,我们直接加载CAD的Polygon到Pro中,Polygon已经按图层分好了,并且颜色也与CAD中一致(仔细对一下CAD与Pro中相同图层的RGB颜色,还是能发现RGB值有一些出入,但是颜色大致是对的,不清楚有没有办法能保持完全一致。......原创 2022-07-24 16:25:07 · 3545 阅读 · 12 评论 -
ArcGIS Pro脚本工具(9)——配合地图系列批量导图
Pro的地图系列是批量制图的利器,但是有个不便的地方,就是设置完成地图系列后,只能批量导出为PDF,而不能批量导出为JPG、PNG这些通用的图片格式。以上脚本即可实现将地图系列批量导出为PNG图像文件,但是使用起来还不够简单。另外有一些功能还需要加入。在示例脚本的基础上,增加实现上述功能的代码,可制作脚本工具的完整Python代码如下。不过帮助文档还是很贴心的为我们准备了解决方案。.........原创 2022-07-18 10:11:59 · 3824 阅读 · 18 评论 -
ArcGIS Pro脚本工具(7)——标注换行及增加前后缀
使用标注表达式为标注换行,并构建脚本工具原创 2022-07-10 15:57:34 · 3894 阅读 · 1 评论 -
ArcGIS Pro脚本工具(6)——修复CAD图层数据源
Pro对CAD文件的支持显而易见的优于ArcMap。虽然都是将CAD识别成点、线、面、多面体和注记5大类,但是当我们拖动其中一类到Pro中时,Pro自动将其分图层显示,并且图层的颜色与CAD一致。nice!但是尴尬的是,一旦CAD文件移动了位置或者改了名字,就是一长列的红色惊叹号警告。有经验的使用者可能期望修复一个图层后,其他图层自动修复,但是很可惜这对这些CAD图层无效。那我重新拖CAD进来不就成了?可能不太行,因为已经在Pro里改过一些图层的符号系统了,重新拖CAD进来就得重新做很多图层的符原创 2022-06-28 23:24:14 · 1009 阅读 · 0 评论 -
ArcGIS Pro脚本工具(5)——排序后删除重复项
自定义排序后删除相同项工具演示原创 2022-06-10 11:30:57 · 3520 阅读 · 3 评论 -
ArcGIS Pro脚本工具(4)——连续擦除
ArcGIS Pro 模型构建器(2)——创建连续擦除模型_圈圈的圈圈的博客-CSDN博客ArcGIS自带的擦除工具功效大概是这样:100-10=90即使使用擦除工具的批处理,效果也只限于这样:100-10=90,100-20=80,100-30=70或者100-10=90,90-10=80,80-10=70如果需要一步达到这样的效果呢:100-10-20-30=40该模型构建器发挥作用了其中,输出要素类的值为 %输出工作空间%\%名称%Erase%Name%...https://blog.csdn.net原创 2022-05-24 11:23:21 · 1927 阅读 · 3 评论 -
ArcGIS Pro脚本工具(2)——生成沿网络的OD成本矩阵(改进)
这篇是上篇和上上篇文章的改进版ArcGIS Pro脚本工具(2)——生成沿网络的OD成本矩阵ArcGIS Pro生成沿网络的OD成本矩阵改进的地方使用了更高效的添加停靠点的方式,也就是上上篇文章里说的指数型成倍地添加。 起点和目的地图层不再必需一个Name字段,可以选择其他字段作为添加至停靠点时引用的名称,如数据库要素类必有的“OBJECTID”。字段可在脚本工具的运行界面选择。 可重复使用路径分析图层,且不必手动清除停靠点。Python脚本import arcpy# 必.原创 2022-05-10 21:09:45 · 1005 阅读 · 0 评论 -
ArcGIS Pro脚本工具(2)——生成沿网络的OD成本矩阵
前段时间,我使用模型构建器完成了“沿网络OD成本矩阵”工具集的构建。这个工具集包含多个子模型,虽然能实现预期的功能,但是实在是不方便使用。原文见下ArcGIS Pro生成沿网络的OD成本矩阵_圈圈的圈圈的博客-CSDN博客_arcgisod成本矩阵ArcGIS中求解OD成本矩阵只能得到两种形式的结果,一种是没有输出几何只有属性表的OD成本矩阵表,一种是OD点之间生成直线的成本矩阵表。不过路径分析是可以沿网络生成路径的,所以考虑借助路径分析生成沿网络的OD成本矩阵。OD成本矩阵只有没有线和直线两种几何输出原创 2022-05-08 11:08:54 · 1923 阅读 · 2 评论 -
ArcGIS Pro脚本工具(1)——CAD转GIS
两年前,我创建过模型工具用来将CAD转为GIS,但是受限于一个模型只能使用一次迭代工具,我是做了多个子模型才完成转换的。原文如下。ArcGIS Pro 模型构建器(1)——CAD转GIS_圈圈的圈圈的博客-CSDN博客_arcgis pro模型构建器最近拿到一个比较大的CAD测绘地形图,让帮忙转成GIS。尝试使用ArcGIS自带的工具——CAD至地理数据库、按属性分割,都不符合自己的需求。还是使用模型构建器构建一个模型吧。模型的示意图如下,因为涉及到两个迭代工具,所以做了一个主模型和一个子模型,另外设计原创 2022-05-04 21:58:39 · 1901 阅读 · 0 评论 -
ArcGIS Pro生成沿网络的OD成本矩阵
ArcGIS中求解OD成本矩阵只能得到两种形式的结果,一种是没有输出几何只有属性表的OD成本矩阵表,一种是OD点之间生成直线的成本矩阵表。不过路径分析是可以沿网络生成路径的,所以考虑借助路径分析生成沿网络的OD成本矩阵。OD成本矩阵只有没有线和直线两种几何输出方式路径可以沿网络生成连接线但是路径分析默认是生成两点或多点的单条路径,为了达到像OD成本矩阵一样的效果,我们需要对路径分析图层的停靠点图层做一些改造,主要是改造RouteName字段。 在单个分析中生成多个路径。使用 RouteName原创 2022-03-23 20:55:56 · 3084 阅读 · 0 评论 -
ArcGIS Pro脚本工具(8)——txt坐标文件转shp
国土部门给过来的数据经常需要转换,比如土地报批和高标准农田的数据经常给一个txt文件过来,不能直接在GIS软件中使用。这些txt文件结构通常如下。如果txt文件的数据量小,那么在Excel中预处理再在ArcGIS中使用工具生成面还算简单。如果面的个数很多,那用Excel预处理这一步就很繁琐了。之前已经接触过Python以及ArcPy,估计可以使用编程的方法解决。在一番面向百度编程之后,终于找到一个堪称完美的解决办法。在此也感谢一下趟水的前辈。arcgis 经纬度转大地坐标_土地报备坐标txt原创 2022-02-07 17:20:13 · 5854 阅读 · 4 评论 -
ArcPy脚本工具重置要素类别名
因为各种原因,数据库中的要素类的别名和要素类名不一致了偏偏工具箱没有内置的工具可以批处理,那只能自己造了,一个个改怎么会是我的风格脚本import arcpyfeatureClass = arcpy.GetParameterAsText(0) #arcpy.GetParameterAsText(0)为第一个输入的参数aliasName = arcpy.Describe(featureClass).namearcpy.AlterAliasName(featureClass, aliasNa原创 2021-05-04 15:50:23 · 635 阅读 · 0 评论 -
ArcGIS要素类中自定义方法删除相同项
ArcGIS自带的 删除相同项 工具在指定了要素类和字段之后,删除哪些相同项并不受控制。如上图,不清楚到底会删除那一项。如果我需要保留最新年份的怎么办呢?import arcpyp = arcpy.mp.ArcGISProject('CURRENT')m = p.listMaps('地图')[0]l = m.listLayers('JMD')[0]cursor = arcpy.SearchCursor(l)uniqueArea = []for row in cursor: v原创 2020-06-22 19:11:12 · 1488 阅读 · 4 评论 -
ArcGIS Pro批量修改图层唯一值符号的标注(改进)
在之前的文章中介绍了使用aycpy批量修改图层唯一值符号的标注,但是之前的代码写的不够好,主要是在运行代码之前还要在符号系统界面对项目按值进行排序。这次直接使用字典,将对应的DLBM和DLMC做成一对键值,这样根据DLBM给标注赋值DLMC时便不受排序的影响。代码如下import arcpyp = arcpy.mp.ArcGISProject('CURRENT')m = p.listMaps('地图')[0]l = m.listLayers('DLTB')[0]sym = l.symbolo原创 2020-06-09 22:35:05 · 3334 阅读 · 6 评论 -
使用Arcpy合并多个GDB数据库
现有多个县的GDB数据库,每个数据库包含多个要素数据集,每个要素数据集下又包含多个要素类。现在需要创建一个新的GDB数据库,其包含之前所有数据库的要素数据集和数据集下的要素类,且每个要素类保留字段而不包含要素。人工处理工作量过大,使用Arcpy处理更有效率。代码如下import osimport arcpygdblist=[]file_dir="D:\\Desktop"dirlist=os.listdir(file_dir) #获取 D:\\Desktop 下一层级目录的路径for di原创 2020-06-08 23:16:44 · 4021 阅读 · 19 评论 -
ArcGIS Pro批量修改图层唯一值符号的标注
ArcGIS Pro2.5新增 将图层符号系统与样式匹配的功能(其实也不算新功能,Map中一直是有的),但是匹配之后如果想将图层的唯一值符号的标注由匹配字段改为其他字段并不太容易,因为没有现成的功能,只能手动更改。如果唯一值符号较多就太费时间。如图这里介绍一种通过arcpy批量更改的办法,最终的成果如下图运行的代码如下import arcpyp = arcpy.mp.ArcGISProject('CURRENT')m = p.listMaps('地图')[0]l = m.listLayer原创 2020-05-15 21:25:23 · 4741 阅读 · 2 评论 -
获取某个文件夹下所有的GDB及其它删除操作
给定一个文件夹路径,获取其下的所有GDB的路径import arcpyimport osfile_dir="D:\\Documents\\ArcGIS\\Projects"for root, dirs, files in os.walk(file_dir): if ".gdb" in root: print(root)删除GDB下的独立要素类 ...原创 2020-04-27 22:48:38 · 1060 阅读 · 0 评论