九溪

溪水润知林,滴露启慧心

用户工具

站点工具


wiki:gis:arcpy-batch-clip-shp

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
wiki:gis:arcpy-batch-clip-shp [2020/05/11 17:31] – 创建 colinwiki:gis:arcpy-batch-clip-shp [2023/01/03 15:25] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
-====== 批量处理裁剪矢量数据 ======+====== 批量处理裁剪矢量数据 (ArcPy+Clip) ======
  
 ===== 需求 ===== ===== 需求 =====
行 13: 行 13:
 ===== 思路 ===== ===== 思路 =====
  
-ArcGIS 可以通过 ArcToolbox - Analysis Tools - Extract - Clip 实现对矢量数据的裁剪功能。但是只能一次只能处理生成一个文件。+ArcGIS 可以通过 ArcToolbox - Analysis Tools - Extract - Clip 实现对矢量数据的裁剪功能。但是一次只能处理生成一个文件。
  
 {{https://i.loli.net/2020/05/11/nOgAZFHYKjPu4lI.png|ArcGIS-Clip}} {{https://i.loli.net/2020/05/11/nOgAZFHYKjPu4lI.png|ArcGIS-Clip}}
行 28: 行 28:
   - [[https://pro.arcgis.com/zh-cn/pro-app/arcpy/get-started/a-quick-tour-of-arcpy.htm|ArcPy快速浏览]]   - [[https://pro.arcgis.com/zh-cn/pro-app/arcpy/get-started/a-quick-tour-of-arcpy.htm|ArcPy快速浏览]]
  
-===== 创建北戴河图层 ======+===== 一、创建裁剪基准图层 ======
  
 单独编辑县界图层,只保留北戴河,保存为 北戴河.shp 单独编辑县界图层,只保留北戴河,保存为 北戴河.shp
行 36: 行 36:
 具体方法就不说了。 具体方法就不说了。
  
-===== 创建 ArcPy 脚本 =====+===== 二、创建 ArcPy 脚本 =====
  
 ArcPy 进行Clip处理,主要代码如下 ArcPy 进行Clip处理,主要代码如下
  
-  arcpy.Clip_analysis("公路面.shp","北戴河.shp","C:/home/00-library/download/SHP_OUTPUT/公路面.shp")+  arcpy.Clip_analysis("clipfrom.shp","base.shp","C:/clipto.shp")
      
 本次使用python遍历工程文件夹,将所有shp进行clip处理,所需代码如下 本次使用python遍历工程文件夹,将所有shp进行clip处理,所需代码如下
行 57: 行 57:
 from arcpy import env from arcpy import env
  
-path_out="C:/home/00-library/download/SHP_for" 
 path_in="C:/home/00-library/download/SHP" path_in="C:/home/00-library/download/SHP"
 +path_out="C:/home/00-library/download/SHP_for"
 path_clipfile="北戴河.shp" path_clipfile="北戴河.shp"
  
行 79: 行 79:
 </code> </code>
  
-成果如下:+===== 三、运行脚本 =====
  
-{{https://i.loli.net/2020/05/11/bVW6jJBM8CxPZED.png}}+打开 ArcGIS Python (command line),将代码粘贴进去,回车即可运行
  
 +{{https://i.loli.net/2020/05/11/pPMeiCZ4B9V27GT.png}}
 +
 +运行成功后,处理的成果如下:
 +
 +{{https://i.loli.net/2020/05/11/bVW6jJBM8CxPZED.png}}
  
 ===== 可能遇到的问题 ===== ===== 可能遇到的问题 =====
 +
 +
 +1. 使用“裁剪(clip)”工具出现了“000117 警告: 生成的输出为空”拓扑无效 [空多边形不完整] 原因和解决办法:
 +
 +(1)拓扑无效 [空多边形不完整]错误:
 +  * 原因:两个图册的空间坐标系不同
 +  * 解决:“Data Management Tools”-“投影与变换”-“要素”-“投影”工具,统一图层的坐标系
 +
 +(2)000117错误:
 +  * 原因:失量图层有问题
 +  * 解决:“Data Management Tools”-“要素”-“修复几何”工具先修复,再裁剪
 +
 +2. Python 处理文件中文路径问题
   - [[https://www.giserdqy.com/arcgis/arcpy/32790/|python 编码问题:’ascii’ codec can’t encode characters in position 的解决方案]]   - [[https://www.giserdqy.com/arcgis/arcpy/32790/|python 编码问题:’ascii’ codec can’t encode characters in position 的解决方案]]
-  - [[https://blog.csdn.net/symoriaty/article/details/103102594|ArcGIS Clip(裁剪)时出现000117错误的解决办法]]+
  
  
wiki/gis/arcpy-batch-clip-shp.1589189470.txt.gz · 最后更改: 2023/01/03 15:24 (外部编辑)