创建ArcGIS Pro按钮——修复图层及独立表名称

使用模型构建器的过程中,因为模型中使用了行内变量,并且输出结果使用了添加至显示,结果在内容面板中自动添加上来的图层和独立表的名称都是带了 %行内变量% 的名称。移除之后从目录中重新添加会正常显示原始的名称,但是觉得点选之后添加比较麻烦,所以想到使用SDK构建按钮一键修复图层和独立表的显示名称。按钮核心代码protected override void OnClick(){ var m...
分类: 其他 发布时间: 10-25 04:11 阅读次数: 0

ArcGIS Pro模型构建器——CAD转GIS

最近拿到一个比较大的CAD测绘地形图,让帮忙转成GIS。尝试使用ArcGIS自带的工具——CAD至地理数据库、按属性分割,都不符合自己的需求。还是使用模型构建器构建一个模型吧。模型的示意图如下,因为涉及到两个迭代工具,所以做了一个主模型和一个子模型,另外设计一个Python截取字符串的脚本工具。主模型重命名模块2InterceptString(Python截取字符串脚本工具)impor...
分类: 其他 发布时间: 10-25 04:10 阅读次数: 0

ArcGIS Pro偷懒式读取mdb

从ArcGIS 10.x版本升到ArcGIS Pro的同学应该注意到了一个问题,就是Pro不支持读写mdb数据库了,这样需要使用mdb数据库的话只能打开map查看或者导出,这对经常处理mdb数据库的我来说超级不方便。...
分类: 其他 发布时间: 10-25 04:10 阅读次数: 0

Model Builder中构建模型的注意事项

1、单独创建的SQL表达式变量无法根据输入的要素类来新建表达式,只能手动填写;从工具参数中创建的表达式变量则可以根据具有依赖关系的要素类来输入表达式...
分类: 其他 发布时间: 10-25 04:10 阅读次数: 0

获取某个文件夹下所有的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下的独立要素类 ...
分类: 其他 发布时间: 10-25 04:10 阅读次数: 0

使用Python保存微信文章的图片到本地

经常我们导师丢一个微信文章过来,让我们把其中的图片整理成文档学习。有时候文章里面的图片特别多,这个时候一张一张的保存就太费时。使用Python自动保存看起来是个不错的办法。# coding=utf-8import reimport requestsdef spider(paperurl, picpat): headers = { "User-Agent": "Mo...
分类: 其他 发布时间: 10-25 04:09 阅读次数: 0

ArcGIS Pro批量修改图层唯一值符号的标注

ArcGIS Pro2.5新增 将图层符号系统与样式匹配的功能(其实也不算新功能,Map中一直是有的),但是匹配之后如果想将图层的唯一值符号的标注由匹配字段改为其他字段并不太容易,因为没有现成的功能,只能手动更改。如果唯一值符号较多就太费时间。如图这里介绍一种通过arcpy批量更改的办法,最终的成果如下图运行的代码如下import arcpyp = arcpy.mp.ArcGISProject('CURRENT')m = p.listMaps('地图')[0]l = m.listLayer
分类: 其他 发布时间: 10-25 04:09 阅读次数: 0

构建Python脚本工具修改shp字段的名称

ArcGIS中shp要素类不能直接修改字段的名称,更改字段工具也不支持修改shp要素类。这次打算使用Python构建一个脚本工具,先新建特定名称的字段,再使用计算字段工具将原字段的值赋予新建字段,最后删除原字段。构建脚本工具的代码如下import arcpyfeature_class = arcpy.GetParameterAsText(0)fields = arcpy.ListFields(feature_class)for field in fields: if field.n
分类: 其他 发布时间: 10-25 04:09 阅读次数: 0

Tableau创建计算字段——提取乡镇名

//判断 Zldwmc 中是否为镇IF CONTAINS([Zldwmc],'镇')//提取 镇 之前的名称,并加上 镇 为后缀THEN SPLIT([Zldwmc],'镇',1)+'镇'//判断 Zldwmc 中是否为乡ELSEIF CONTAINS([Zldwmc],'乡')//提取 乡 之前的名称,并加上 乡 为后缀THEN SPLIT([Zldwmc],'乡',1)+'乡'END...
分类: 其他 发布时间: 10-25 04:09 阅读次数: 0

使用Arcpy合并多个GDB数据库

现有多个县的GDB数据库,每个数据库包含多个要素数据集,每个要素数据集下又包含多个要素类。现在需要创建一个新的GDB数据库,其包含之前所有数据库的要素数据集和数据集下的要素类,且每个要素类保留字段而不包含要素。人工处理工作量过大,使用Arcpy处理更有效率。代码如下import osimport arcpygdblist=[]file_dir="D:\\Desktop"dirlist=os.listdir(file_dir) #获取 D:\\Desktop 下一层级目录的路径for di
分类: 其他 发布时间: 10-25 04:08 阅读次数: 0

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
分类: 其他 发布时间: 10-25 04:08 阅读次数: 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
分类: 其他 发布时间: 10-25 04:08 阅读次数: 0

ArcGIS API for JavaScript学习笔记(2)编辑器的使用

一、CodePenTutorials中默认的编辑器,不过似乎没有代码补全二、VS Code1 下载地址:https://code.visualstudio.com/2 安装Open In Browser插件
分类: 其他 发布时间: 10-25 04:08 阅读次数: 0

ArcGIS API for JavaScript学习笔记(3)加载谷歌卫星图和天地图标注

ArcGIS Pro自2.4起可以从自带的底图中一键加载天地图的卫星图、矢量图和地形图,但是从实际使用中看,卫星图的显示效果模糊,更要命的是时效性差,比如某一块用地已经开展了建设,但是从天地图的卫星图上看还是一片空地。从这个需求上看,google的卫星图仍然是首选。ArcGIS Pro的底图中没有自带谷歌的卫星图,不过可以使用ArcGIS Online间接满足要求。方法:在ArcGIS Online中新建地图,从Web添加图层-切片图层,输入google卫星图的链接http://mt0.google.cn
分类: 其他 发布时间: 10-25 04:07 阅读次数: 0

ArcGIS API for JavaScript学习笔记(4)加载Online上的要素图层

一、发布要素类为Web图层从ArcGIS Pro中共享要素类为Web图层,如数据不涉密,此处可以勾选共享给所有人。共享成功后在ArcGIS Online上的要素图层页面复制URL链接备用二、编写代码<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1,
分类: 其他 发布时间: 10-25 04:07 阅读次数: 0

ArcGIS API for JavaScript学习笔记(5)解决运行html时无法登录Online的问题

从本地运行html文件时,如果加载的是Online上的组织内共享的数据,那么会弹出登录对话框,但是即使正确输入账号密码也不能登陆。原因是本地运行html浏览器使用的是file:///的传输协议而不是http://,会出现跨域的问题。参考文章:https://blog.csdn.net/u014465934/article/details/89212304?utm_medium=distribute.pc_relevant.none-task-blog-title-6&spm=1001.2101
分类: 其他 发布时间: 10-25 04:07 阅读次数: 0

ArcGIS API for JavaScript学习笔记(6)网页端编辑Web图层

一、发布要素类为Web图层从ArcGIS Pro中共享要素类为Web图层,贡献时在配置中启用编辑并设置编辑权限。共享成功后在要素图层页面复制URL链接备用二、编写html代码如下,url处粘贴上一步复制的链接<html><head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"&
分类: 其他 发布时间: 10-25 04:07 阅读次数: 0

分布式数据(1)概念与使用场景

目录分布式地理数据库概念分布式地理数据库的使用场景1、ArcSDE数据库数据量较大2、将ArcSDE数据库带至工作现场编辑分布式地理数据库概念将主机上的ArcSDE数据库分发到多台副机之中,主机中的数据库出现更改时,副机可以同步这些更改,副机中的数据库出现更改时,先同步到主机中的数据库,进而同步给其他副机,这组地理数据库集合可以称为分布式地理数据库。分布式地理数据库的使用场景1、ArcSDE数据库数据量较大主机中的ArcSDE数据库可以在副机中采用直连的办法进行连接,但是当ArcSDE数据库的数据
分类: 其他 发布时间: 10-25 04:06 阅读次数: 0

企业级地理数据库(1)ArcGIS10.7 & PostgreSQL10 & PostGIS2.5 安装与配置

目录安装ArcGIS10.7安装PostgreSQL10安装PostGIS2.5从ArcGIS安装目录复制dll文件到 postgresql 安装目录修改PostgreSQL安装目录下的pg_hba.conf文件安装ArcGIS10.7安装PostgreSQL10除设置密码外,其他都按照默认设置安装安装PostGIS2.5安装时注意勾选此处,其他全部安部分默认安装从ArcGIS安装目录复制dll文件到 postgresql 安装目录修改PostgreSQL安装目录下的pg_hba.conf
分类: 其他 发布时间: 10-25 04:06 阅读次数: 0

企业级地理数据库(2)创建并加载企业级地理数据库

pgAdmin中创建初始数据库1. 打开pgAdmin创建服务器2. 编辑地理数据库模板3. 创建初始地理数据库创建企业级地理数据库在ArcMap10.7中打开 创建企业级地理数据库 工具
分类: 其他 发布时间: 10-25 04:06 阅读次数: 0