ARCGIS PRO SDK VB2022 常用工具调用

1、追加字段:

         1、in_table:要添加指定字段的输入表。
         2、field_name:将添加到输入表的字段的名称。类型:String
         3、field_type:指定新字段的字段类型。类型:String
                          TEXT—此字段类型将为文本类型。 文本字段支持字符串。
                          FLOAT—此字段类型将为浮点型。 
                          DOUBLE—此字段类型将为双精度型。 
                          SHORT—此字段类型将为短整型。 介于 -32,768 和 32,767 之间的整数。
                          LONG—此字段类型将为长整型。 介于 -2,147,483,648 和 2,147,483,647 整数。
                          DATE—此字段类型将为日期类型。 日期字段支持日期和时间值。
                          BLOB—此字段类型将为二进制数的数据。 
                          RASTER—此字段类型将为栅格。但建议您仅使用小影像。
                          GUID—此字段类型将为 GUID。 GUID 字段可存储注册表样式的字符串,
                                      该字符串包含用大括号括起来的 36 个字符。
                               尽管 Field 对象的 type 属性值与添加字段工具的 field_type 参数所使用的
                        关键字不完全匹配,但是所有 Field 对象的 type 值均可用作此参数的输入。 不
                        同的字段类型映射如下:Integer 到 LONG、String 到 TEXT,以及 SmallInteger 
                        到 SHORT。
          4、field_precision:(可选)可存储在字段中的位数。 所有位数都被计算在内,无论其位于
                                       小数点的哪一侧。
                                        此参数仅适用于 float、double、short 或 long 类型的字段。
                                        如果输入表是文件地理数据库,则将忽略字段精度值。类型:Long
          5、field_scale:(可选)可存储在字段中的小数位数。此参数仅适用于 float 或 double 类型
                                   的字段。如果输入表是文件地理数据库,则将忽略字段小数位数值。
                                   类型:Long
          6、field_length:(可选)字段长度。 它为字段的每条记录设置最大允许字符数。
                                    此参数仅适用于文本类型的字段。类型:Long
           7、field_alias:(可选)字段名称的备用名称。 此名称用于描述含义隐晦的字段名称。 此参
                                   数仅适用于地理数据库。
                                   类型:String
           8、field_is_nullable:(可选)指定该字段是否可包含空值。 空值不同于零字段或空字段,
                                           仅支持地理数据库中的字段。
                                            NON_NULLABLE—字段可包含空值。
                                            NULLABLE—字段不可包含空值。 这是默认设置。
                                            类型:Boolean
           9、field_is_required:(可选)指定要创建的字段是否是表的必填字段。 必填字段仅在地理
                                           数据库中受支持。
                                            NON_REQUIRED—字段不是必填字段。 这是默认设置。
                                            REQUIRED—此字段是必填字段。 必填字段具有永久性,不能删除。
                                            类型:Boolean
          10、field_domain:(可选)约束地理数据库中的表、要素类或子类型的任何特定属性的允许值。 
                                          您必须指定现有属性域的名称才能将其应用于该字段。
                                           类型:String

共10个输入参数:1-3不可少。
例如定义文本,一般需要6个参数
va = Geoprocessing.MakeValueArray(pfeatureClass, "Name", "Sting",#,#,10,"名称")

Dim va As IReadOnlyList(Of String)
Dim gpResult As ArcGIS.Desktop.Core.Geoprocessing.IGPResult 
Await QueuedTask.Run(Sub()
                         '添加字段
                         pfeatureClass = FeatureLayer.GetFeatureClass
                         va = Geoprocessing.MakeValueArray(pfeatureClass, "XB", "LONG")
                         gpResult=Geoprocessing.ExecuteToolAsync("Management.AddField", va, Nothing)
                          If gpResult.IsFailed = false Then
                              MsgBox("字段添加成功。")
                          Else
                              MsgBox("字段添加未成功。")
                          End If
                       End Snb)

2、调用分割工具

  1. in_features:要分割的要素。类型:Feature Layer
  2. split_features:包含表格字段的面要素,其中表格字段的唯一值用于分割输入要素并提供输出要素类的名称。类型:Feature Layer
  3. split_field:用于分割输入要素的字符字段。 此字段值可标识用于创建每个输出要素类的分割要素。 “分割字段”的唯一值用于生成输出要素类的名称。类型:Field
  4. out_workspace:用来存储输出要素类的现有工作空间。类型:GDB
Dim va As IReadOnlyList(Of String)
Dim result As IGPResult
 va = Geoprocessing.MakeValueArray(in_features, split_features, split_field, out_workspace)
 Result = Await Geoprocessing.ExecuteToolAsync("analysis.Split", va, Nothing, Nothing, Nothing, Nothing)

3、地理数据库导入要素类

  1. Input_Features[Input_Features,...]:要导入到地理数据库的一个或多个要素类或要素图层。类型:Feature Layer
  2. Output_Geodatabase输出或目标地理数据库。类型:Feature Dataset; Workspace
  3. 多个要素类导入用“;”分割
va = Geoprocessing.MakeValueArray(Input_Features[Input_Features,...], Output_Geodatabase)
Await Geoprocessing.ExecuteToolAsync("conversion.FeatureClassToGeodatabase", va, Nothing, Nothing, Nothing, Nothing)

4、 调用裁切命令

  1. in_features:要裁剪的要素。类型Feature Layer; Scene Layer; File; Building Scene Layer
  2. clip_features:用于裁剪输入要素的要素。类型Feature Layer
  3. out_feature_class:要创建的数据集。类型Feature Class; File
va = Geoprocessing.MakeValueArray(in_features, clip_features, out_feature_class)
 result = Await Geoprocessing.ExecuteToolAsync("analysis.Clip", va, Nothing, Nothing, Nothing, Nothing)

5、联合

     1. in_features:输入要素类或图层。所有输入要素都必须是面。
     2. out_feature_class:将包含结果的要素类。类型Feature Class
     3. join_attributes:(可选)指定将输入要素的哪些属性传递到输出要素类。类型String
                         ALL—输入要素的所有属性都将传递到输出要素类。 这是默认设置。
                         NO_FID—除 FID 外,将输入要素的其余所有属性都传递到输出要素类。
                         ONLY_FID—仅输入要素的 FID 字段将传递到输出要素类。
     4.cluster_tolerance:(可选)所有要素坐标(节点和折点)之间的最小距离以及坐标可以沿
                                     x 和/或 y 方向移动的距离。
     5.gaps:(可选)指定是否会为输出中被面完全包围的区域创建要素。
            GAPS—不会为输出中被面完全包围的区域创建要素。 这是默认设置。
            NO_GAPS—将为输出中被面完全包围的区域创建要素。 此要素不会具有属性值,并且 FID 值为 -1。

va = Geoprocessing.MakeValueArray(in_features,out_feature_class, 0.0001, "ALL", "GAPS")
Dim Result = Await Geoprocessing.ExecuteToolAsync("analysis.Union", va, Nothing, Nothing, Nothing, Nothing)
If Result.IsFailed = False Then
    MsgBox("数据联合失败。")
    Exit Sub
End If

6、相交

   1. in_features:[[in_features, {Rank}],...] 输入要素类或图层列表。类型Value Table
   2. out_feature_class:输出要素类。 类型Feature Class
   3. join_attributes:(可选)指定将输入要素的哪些属性传递到输出要素类。类型String
                        ALL—输入要素的所有属性都将传递到输出要素类。 这是默认设置。
                        NO_FID—除 FID 外,将输入要素的其余所有属性都传递到输出要素类。
                        ONLY_FID—仅输入要素的 FID 字段将传递到输出要素类。
   4. cluster_tolerance:(可选)所有要素坐标(节点和折点)之间的最小距离以及坐标可以沿
                        x 和/或 y 方向移动的距离。
   5. output_type:(可选)指定要返回的相交类型。类型String
                       INPUT—所返回的相交要素的几何类型与具有最低维度几何的输入要素的
                                 几何类型相同。 如果所有输入都是面,则输出要素类将包含面。 如
                                 果一个或多个输入是线但不包含点,则输出是线。 如果一个或多个输
                                 入是点,则输出要素类将包含点。 这是默认设置。
                       LINE—返回的交集为线。 这仅在输入都不是点时才有效。
                       POINT—返回的交集为点。 如果输入是线或面,则输出将是多点要素类。

va = Geoprocessing.MakeValueArray(in_features, out_feature_class, "ALL" , 0.0001, "INPUT")
result = Await Geoprocessing.ExecuteToolAsync("analysis.Intersect", va, Nothing, Nothing, Nothing, Nothing)

7、将图层符号系统与样式匹配 :

     1、in_layer:      匹配符号作为唯一值符号类应用于其上的输入图层
                                 或图层文件。输入图层可以包含点、线、面、多点
                                 或多面体符号系统。图层上的现有符号系统将被覆
                                 盖。类型:Feature Layer
    2、match_values:用于符号化输入图层的字段或表达式。字段值
                                   或结果表达式值与指定样式的符号名称相匹配,
                                   以将符号分配给结果符号类。
                                  类型:Calculator Expression
    3、in_style:          包含名称与字段或表达式值相匹配的符号的样式。
                                 类型:String

va = Geoprocessing.MakeValueArray(in_layer, match_values, in_style)
result = Await Geoprocessing.ExecuteToolAsync("management.MatchLayerSymbologyToAStyle", va, Nothing, Nothing, Nothing, Nothing)
8、应用图层的符号设置
   用于将指定图层或图层文件中的符号系统应用于新的指定图层
         1、 in_layer:将应用符号系统的图层。类型:Feature Layer; Raster Layer; Layer
         2、in_symbology_layer:包含将应用于输入图层的符号系统的图层。 支持 .lyrx 和 .lyr 
                                文件。类型: Layer 
         3、 symbology_fields  [[field_type, source_field, target_field],...] (可选):
                                与符号系统图层中使用的符号系统字段相匹配的输入图层中的字段。
                                符号系统字段包含以下三个属性:
                                字段类型-符号系统值、归一化或其他类型。
                                源字段-符号系统图层中使用的符号系统字段。
                                如果不知道源字段并要使用默认值,请使用空白值或 "#"。
                                目标字段 - 应用符号系统时要使用的输入图层中的字段。
          4、update_symbology(可选):指定是否将更新符号系统范围。
                                   DEFAULT—除了以下情况外,将更新符号系统范围:
                                   当输入图层为空时,当符号系统图层使用分类间隔
                                  (例如,分级色彩或分级符号),并且分类方法为手动间隔或定
                                   义间隔时
                                   当符号系统图层使用唯一值,并且选中显示所有其他值选项时
                                   UPDATE—符号系统范围将更新。
                                   MAINTAIN—符号系统范围将不会更新;这些范围将保留不变。
                                   类型:String

               输入原型:in_layer, in_symbology_layer, {symbology_fields}, {update_symbology})

va = Geoprocessing.MakeValueArray(in_layer, in_symbology_layer)
result = Await Geoprocessing.ExecuteToolAsync("ApplySymbologyFromLayer_management", va, Nothing, Nothing, Nothing, Nothing)
9、定义投影
va = Geoprocessing.MakeValueArray(in_layer, "PROJCS["CGCS2000_3_Degree_GK_Zone_36",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",36500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",108.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]")
result = Await Geoprocessing.ExecuteToolAsync("management.DefineProjection", va, Nothing, Nothing, Nothing, Nothing)
10、多部分到单部分 (数据管理):management.MultipartToSinglepart
      management.MultipartToSinglepart(in_features, out_feature_class)
       

ARCGIS PRO SDK VB2022 常用工具调用_第1张图片

11、用到候补

你可能感兴趣的:(arcgis)