地理工具学习--arcgis篇:单工具学习(1)

一直以来就想做这个系列。记录学习arcgis、geoda、python、cad等工具的过程。

在arcgis篇,最开始的打算是想把arcgis中的工具都整理一遍,不过经过几年得使用和学习,发现其中有很多工具都用不上,或者不常用,所以我觉得应该把精力集中在常用的工具上。

arcgis篇初步打算是分为两个子系列,包括:单工具学习和综合应用。

在单工具篇里,我会对arcgis得某些工具进行单独得说明;在综合应用篇(如果后面时间充足有时间可以做下来得话),对某几个工具进行联合得操作以实现某个效果,或者说为了达到某个目的应该怎么去做。

 

1.Clip工具

clip工具的操作逻辑是:

这个工具主要是做裁剪,对原数据裁剪出自己需要的范围。

值得注意的是,针对矢量数据和栅格数据有两个clip。

1处的clip是裁剪矢量数据,2处的clip是裁剪栅格数据。

矢量数据可以为面数据、线数据以及点数数据。clip 元素也不限制。

通过查阅arcgis帮助文档,也可以找到两个clip工具的python代码:

(1)矢量clip工具python代码:

#python window 
import arcpy 
from arcpy import env 
env.workspace = "C:/data" arcpy.Clip_analysis("majorrds.shp", "study_quads.shp", "C:/output/studyarea.shp")
#stand-alone Python script
import arcpy
from arcpy import env

# Set workspace
env.workspace = "C:/data"

# Set local variables
in_features = "majorrds.shp"
clip_features = "study_quads.shp"
out_feature_class = "C:/output/studyarea.shp"
xy_tolerance = ""

# Execute Clip
arcpy.Clip_analysis(in_features, clip_features, out_feature_class, xy_tolerance)

(2)栅格clip工具python代码:

#python window
import arcpy
arcpy.env.workspace = "C:/Workspace"
    
arcpy.Clip_management(
    "image.tif","1952602.23 294196.279 1953546.23 296176.279",
    "clip.gdb/clip", "#", "#", "NONE")
#stand-alone Python script
import arcpy
arcpy.env.workspace = "C:/Workspace"
    

arcpy.Clip_management(
    "image.tif","1952602.23 294196.279 1953546.23 296176.279",
    "clip.gdb/clip", "#", "#", "NONE")

 

2.split工具

这个工具可以看作是clip工具的进阶版。分割工具,可以进行按着数据的属性对元数据进行分割。

对矢量数据操作界面:

对栅格数据操作界面:

比如当我们拿到县级地类数据,现在需要分到各乡。对某个乡而言,我们可以利用一个乡的行政数据clip地类数据,但当我们拿到的是多个县级数据,需要同时处理的时候,就可以使用split工具。

使用片区的乡级行政区数据,然后再split field选择乡的代码就行,然后再target workspace选择以一个文件夹。

值得注意的是对栅格数据分割得到的分割数据命名好像只能以一个名字为开头,后续叠加,比如在output base name填a,得到的命名就是a0、a1、a2……可能是我还没找到怎么改变这个名字,如果有知道的同学可以告诉一下;然后在栅格分割中如果要按矢量进行分割,还有一个地方要选择,在split method中要选择polygon_features。

最后分割出来的数据就是需要的各个乡的地类数据。操作逻辑如下:

split工具也有两个版本,和clip工具属于同一层。

其python代码分别如下:

(1)矢量split工具python代码:

#python window
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.Split_analysis("Habitat_Analysis.gdb/vegtype", "climate.shp", "Zone", 
"C:/output/Output.gdb", "1 Meters")
#stand-alone Python script
import arcpy 
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Split vegetation layer by climate zones, write to Output.gdb
veg = "Habitat_Analysis.gdb/vegtype"
splitFeatures = "climate.shp"
splitField = "Zone"
outWorkspace = "C:/output/Output.gdb"
clusterTol = "1 Meters"
arcpy.Split_analysis(veg, splitFeatures, splitField, outWorkspace, clusterTol)

(2)栅格split工具python代码:

#python window 
import arcpy
arcpy.SplitRaster_management("c:/source/large.tif", "c:/output/splitras",
                             "ras", "NUMBER_OF_TILES", "TIFF", "NEAREST",
                             "2 2", "#", "10", "PIXELS", "#", "#")
#stand-alone Python script
try:
    import arcpy
    arcpy.env.workspace = r"\\myServer\PrjWorkspace\RasGP"
    
    ##Equally split a large TIFF image by number of images
    arcpy.SplitRaster_management("large.tif", "splitras", "number", "NUMBER_OF_TILES",\
                                 "TIFF", "NEAREST", "2 2", "#", "4", "PIXELS",\
                                 "#", "#")
    
    ##Equally split a large TIFF image by size of images
    arcpy.SplitRaster_management("large.tif", "splitras", "size2", "SIZE_OF_TILE",\
                                 "TIFF", "BILINEAR", "#", "3500 3500", "4", "PIXELS",\
                                 "#", "-50 60")

except:
    print "Split Raster exsample failed."
    print arcpy.GetMessages()

 

 

今天先介绍两个工具,后续会慢慢更新,目前单工具以图文为主,后续如果是多工具同时联动的时候,可能就会采用视频的方式进行讲解了。大家有什么想看的也可以给我私信留言。欢迎大家提建议。

参考资料:

ArcGIS的clip操作_java能飞翔-CSDN博客

https://desktop.arcgis.com/zh-cn/arcmap/10.3/tools/analysis-toolbox/split.htm

 

当前会在知乎、哔哩哔哩、CSDN同步更新。

以后将主要发布在微信公众号和知乎上。欢迎大家关注:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三街打工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值