随笔分类 -  Python

摘要:ArcPy读取图斑折点坐标与AE有些差别,还有多部件、空洞、岛等特殊情况需要处理。 (1)代码读取结果会比软件程序多一个点(结束点,与首点实质是同一个点): 程序读取结果:0、1、2、3、4、5、6、7、8、9 软件显示结果:0、1、2、3、4、5、6、7、8 如下图所示: (2)在ArcPy外环与 阅读全文
posted @ 2024-10-15 23:08 我也是个傻瓜 阅读(126) 评论(0) 推荐(0)
摘要:问题描述 按掩膜提取是GIS数据处理中常用的功能之一。按照官方的示例,使用ArcPy的ExtractByMask方法可实现提取,代码如下: 1 import arcpy 2 from arcpy import env 3 from arcpy.sa import * 4 5 env.workspac 阅读全文
posted @ 2024-05-23 22:25 我也是个傻瓜 阅读(379) 评论(0) 推荐(0)
摘要:由于ArcGIS与Python版本兼容性问题,目前仍然在使用Python2.7,安装第三方组件十分不便。 安装PIP 由于Python2.7版本较老,默认不像3.0自带pip,需要手动安装。安装步骤: (1)将C:\Python27\ArcGIS10.2添加到系统环境变量Path中,这样才能在cmd 阅读全文
posted @ 2023-01-24 11:41 我也是个傻瓜 阅读(572) 评论(0) 推荐(0)
摘要:创建Python 工具箱后,使用任何文本编辑器打开PYT文件,就可以对其代码进行编辑。虽然它种方式比较自由,但不是太友好,没有智能提示,参数验证等。默认会生成一个工具模板。 import arcpy # 名为Toolbox的类,不可修改。 class Toolbox(object): def __i 阅读全文
posted @ 2022-12-07 21:41 我也是个傻瓜 阅读(150) 评论(0) 推荐(0)
摘要:如果是 Python 新手,使用ArcPy自定义脚本通过向导创建脚本工具箱非常简单。但它在数据类型、许可检查和管理维护等方面存在弊端,因此,从ArcGIS 10.1起,对于经验比较丰富的用户来说,使用Python工具箱效率会更高、管理更方便。 创建完成后,无法像tbx工具箱一样,进行编辑、复制。 自 阅读全文
posted @ 2022-12-06 08:57 我也是个傻瓜 阅读(213) 评论(0) 推荐(0)
摘要:我们知道,使用ArcMap在文件地理数据库(*.gdb)里要素类或表可设置别名,而个人地理数据库(*.mdb)和Shape File文件(*.shp)不可设置。 那么在ArcPy对应的也一样,获取图层别名不是在FeatureClass、Table的描述(Describe),而是GDB Table的描 阅读全文
posted @ 2022-10-16 21:22 我也是个傻瓜 阅读(416) 评论(0) 推荐(0)
摘要:在Python自带的IDLE里编写Pyhton脚本代码着实不方便,尤其是编辑ArcPy代码。自从VS Code出来后,就再也没用过IDLE了。但在VS Code中编写要配置好环境参数,否则将出现"Import arcpy could not be resolved"的警告,并且没有智能补全。 检查配 阅读全文
posted @ 2022-07-04 09:51 我也是个傻瓜 阅读(342) 评论(0) 推荐(0)
摘要:Python作为流行的脚本而强大语言,对路径处理得不是很好。使用ArcPy2.7时,对包含空格、中文括号等特殊符号的路径不支持,如下图所示,执行时报路径不存在(实际是存在的) 但仔细看一下,路径首末两个位置多了一个单引号。解决方法也很简单,输入的路径不要带空格、括号等特殊字符即可。但我们无法预料用户 阅读全文
posted @ 2022-04-24 10:29 我也是个傻瓜 阅读(245) 评论(0) 推荐(0)
摘要:Python脚本非常强大,实现功能也比较方便快捷,但它需要在特定的Python环境下运行,受版本、依赖库的影响很大,为了方便共享,可以使用如Pyinstaller将python代码、依赖库和编译环境等一键打包成可执行程序exe。基本流程如下: 编译测试脚本 为了方便演示,这里编写两个脚本main.p 阅读全文
posted @ 2022-02-12 22:19 我也是个傻瓜 阅读(2330) 评论(0) 推荐(0)
摘要:在GIS数据处理中,选择数据是十分频繁的操作,常用的是"按属性选择"和"按位置选择",这两个功能虽然比较强大,但有时也不能满足实际需求。比如可能时常会遇到这样一种情景:将指定OID(假设3和6)的要素选择出来。 1、按属性SQL选择 最容易想到的是使用按属性选择构造WHERE子句("OBJECTID 阅读全文
posted @ 2020-10-31 12:00 我也是个傻瓜 阅读(4975) 评论(8) 推荐(0)
摘要:使用python中的pip安装一些组件,都报错,与 SSL有关: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(S 阅读全文
posted @ 2020-06-10 22:25 我也是个傻瓜 阅读(4362) 评论(0) 推荐(1)
摘要:ArcPy是一个很香的地理空间数据库处理模块,但它必须依赖ArcGIS和Python环境,由于常用的ArcGIS版本默认支持的是Python2.7,它对中文支持并不好,因此,编码问题是入门时必须解决的问题。 这里不细说ASCII、GB2312、Unicode、UTF-8的区别,可自行百度之;Pyth 阅读全文
posted @ 2020-06-08 23:13 我也是个傻瓜 阅读(3454) 评论(5) 推荐(1)
摘要:拓扑检查是GIS的特性,在ArcGIS可使用多种方法进行检查,包括: 1、在数据集上右键按向导建立; 2、使用拓扑工具箱的一系列工具分步建立; 3、创建模型工具,制作专门的拓扑工具; 4、利用ArcPy灵活定制拓扑检查脚本; 5、使用ITopologyContainer等接口二次开发。 基本步骤 无 阅读全文
posted @ 2019-10-09 09:15 我也是个傻瓜 阅读(2898) 评论(0) 推荐(0)
摘要:情景再现 现需要将Excel表信息批量赋值(不是挂接)到Shp文件的属性表,两张表的字段、记录数一模一样,至于为什么会出现这样的问题,咱也不敢问,只有想个法子把它搞定! 原始的Excel信息表共57列,总共3万多条记录,包含了正确的记录数据,如下: 目标的ArcGIS属性表也是57列(不是Table 阅读全文
posted @ 2019-09-14 13:48 我也是个傻瓜 阅读(10344) 评论(5) 推荐(0)
摘要:在GIS数据处理中,批量操作是经常遇到的问题,Python脚本是解决问题的最好方法。现在需要将arcgis10.1的mxd另存为10.0,不仅数量较多,而且每个mxd要素和标注非常多,手动来操作确实慢一些。 下面是测试通过的Python脚本: 关键点在于: 1.遍历mxd文件,使用了os.walk; 阅读全文
posted @ 2016-04-21 17:18 我也是个傻瓜 阅读(3001) 评论(1) 推荐(0)
摘要:曾经写过《使用Python脚本批量裁切栅格》,但今天又遇到这个情况则发现了问题。我们遇到的实际问题往往是有一个需要裁剪的影像(大块的),另外有一个矢量面,现在需要按矢量面每一个要素进行裁剪,无奈arcgis里的工具无法方便地做到。只能自己写工具,这次使用了clip而不是ExtractByMask,因 阅读全文
posted @ 2015-07-21 15:30 我也是个傻瓜 阅读(5088) 评论(2) 推荐(1)
摘要:好久没写Python脚本了,今天一运行就报错:未找到名称为 arcpy 的模块(ImportError: No module named arcpy)。 多半是环境变量出问题了,Python最令人讨厌的就是版本与编码问题了。仔细看了一下,电脑上多了一个Python2.5,这一定是安装CityEngine时安装上的,于是把Python2.5卸载,修复原来的Python2.7后,即不会报错。 阅读全文
posted @ 2015-04-08 11:25 我也是个傻瓜 阅读(2732) 评论(0) 推荐(0)
摘要:今天在写Python脚本时,调用了数据管理-制图综合-融合工具,在ArcGIS里操作的参数设置如下:如果融合字段只有一个那好办,如果融合字段有多个我该怎么表达,查看帮助文档中的示例代码明白了:所以,我这里获取所有字段,剔除不需要的FID、OBJECTID、SHAPE、HAPE_LENGTH和SHAP... 阅读全文
posted @ 2015-02-12 08:29 我也是个傻瓜 阅读(905) 评论(0) 推荐(0)
摘要:我把写好的Python脚本导入到ArcGIS中的ToolBox中,在本机测试是没有问题的。为了把工具分享给其他人,即在其他电脑上使用,我必须将脚本文件(*.py)导入到工具箱文件(*.tbx)。 脚本的路径是本地系统的路径,拷到其他机子上,这个路径就不存在了,除非在其他机子了也建立如此路径。 好在ArcGIS提供了导入脚本、设置密码的功能。 但在本地测试通过... 阅读全文
posted @ 2015-02-05 14:31 我也是个傻瓜 阅读(708) 评论(0) 推荐(0)
摘要:在实际操作中,经常对数据库文件进行合并、裁切等。如果遇到gdb比较多,要素层比较多,而且还存在数据集。虽然ArcGIS中的批量处理的功能,但填写参数过程也比较麻烦,如果一次性处理过多,程序容易停止工作。 所以,选用Python来处理这样的问题,优势就非常明显了。把路径设置好,读取数据库及要素类,然后 阅读全文
posted @ 2015-02-04 10:23 我也是个傻瓜 阅读(7866) 评论(0) 推荐(0)