ArcPy常用类介绍

          ArcGIS Pro中的ArcPy类列表如表1所示。

                                                                                     表1  ArcPy类列表

类名称

类别

类名称

类别

ArcSDESQLExecute

常规

Array

常规

CrossValidationResult

地统计分析

Chart

图表

ExecuteWarning

异常

env

常规

ExecuteError

异常

Cursor

游标

GeostatisticalDatasets

地统计分析

FieldMap

字段

FieldMappings

字段

FieldInfo

字段

FeatureSet

FeatureSet/RecordSet

Field

字段

ArcSDESQLExecute

常规

Filter

参数

Geometry

几何

Extent

常规

SpatialReference

常规

Multipoint

几何

NetCDFFileProperties

常规

Parameter

参数

PointGeometry

几何

Point

几何

Polygon

几何

Polyline

几何

RandomNumberGenerator

常规

Raster

常规

RecordSet

FeatureSet/RecordSet

Result

常规

SearchNeighborhoodSmooth

地统计分析

Row

游标

SearchNeighborhoodSmoothCircular

地统计分析

Schema

参数

SearchNeighborhoodStandard

地统计分析

Index

常规

SearchNeighborhoodStandardCircular

地统计分析

Value

参数

ValueTable

常规

 

 

                                         注:详细信息请查看http://pro.arcgis.com/zh-cn/pro-app/arcpy/classes/alphabetical-list-of-arcpy-classes.htm。

1.  ArcPy常用类功能介绍

1. 1 图表

          Chart类用于定义ArcGIS Pro图表。可通过该类创建不同类型的图表,包括条形图、折线图、直方图和散点图,同时也可以使用该类来定义图表标题、轴线以及其他属性。

         Chart类语法说明如表2所示。

                                                                                                     表2  Chart类语法说明

参数

数据类型

说明

name

String

图表的名称。图表在每个图层都必须有一个唯一的名称。这个名称仅用于识别,而不会显示出来。

         Chart类属性如表3所示。

                                                                                         表3  Chart类属性信息

属性

数据类型

说明

bar (可读写)

Object

设置仅适用于条形图的附加属性。

description (可读写)

String

设置图表描述。该描述文本会显示于图表视图底部。

histogram (可读写)

Object

设置仅适用于直方图的附加属性。

legend (可读写)

Object

设置图表图例的属性。

line (可读写)

Object

设置仅适用于折线图的附加属性。

title (可读写)

String

设置图表的标题。

type (可读写)

String

设置所要创建图表的类型。有效选项包括:bar、line、scatter、histogram。

xAxis (可读写)

Object

设置x轴的属性。

yAxis (可读写)

Object

设置y轴的属性。

                                     注:Chart类属性详细信息请查看http://pro.arcgis.com/zh-cn/pro-app/arcpy/classes/chart.htm。

                 Chart类方法如下:

1) addToLayer (layer)

               addToLayer方法可以实现将图表添加至图层中,其参数及返回值说明分别如表4和表5所示。

                                                                                   表4  addToLayer方法参数说明

参数

数据类型

说明

layer

Layer

图表将添加到此目标 Layer 对象中。

                                                                                  表5  addToLayer方法返回值说明

数据类型

说明

Object

Chart类将保持不变,但此类的属性将设置到图层定义,并将创建一个新图表。

            addToLayer使用示例如示例1所示。

                                                                                                        示例1:addToLayer方法

import arcpy

aprx = arcpy.mp.ArcGISProject("current")

censusLayer = map.listLayers('Census Block Groups')[0]

c = arcpy.Chart('MyChart')

c.type = 'bar'

c.xAxis.field = 'State'

c.yAxis.field = 'Population'

c.addToLayer(censusLayer)

2) updateChart()

           updateChart方法可将所有更改同步到已添加图层的图标中,而不是从头开始创建一个新的图标。其返回值说明如表6所示。

                                                                                              表6  updateChart方法返回值说明

数据类型

说明

Object

不会以任何形式对Chart类进行修改。只是将类的设置与之前添加到图层的图表进行同步。

             updateChart方法使用示例如示例2所示。

                                                                   chart.addToLayer(myLayer)
                                                                   chart.description = "Data from the U.S. Census Bureau"
                                                                   chart.updateChart()

1.2 FeatureSet和RecordSet

1) FeatureSet

           FeatureSet对象是要素类的轻量级表示。它是一种既包含方案又包含数据的特殊数据元素。而且,FeatureSet 对象也表示通过服务器发送和接收要素数据的方式。

           值得注意的是:如果要将某个要素类加载到新的FeatureSet,并使用可对类似计算字段的输入或类似UpdateCursor的arcpy函数进行修改的地理处理工具来修改FeatureSet,那么原始要素类也将被修改。

           FeatureSet对象的语法说明、属性信息及方法说明分别如表7、表8和表9所示。

                                                                                           表7  FeatureSet对象说明

参数

数据类型

说明

table

String

要加载到FeatureSet对象中的要素数据。

                                                                                            表8  FeatureSet对象属性信息

属性

数据类型

说明

json (可读写)

String

返回一个字符串形式的几何Esri JSON制图表达。

                                                                                            表9  FeatureSet对象方法概述

方法

说明

load(table_path)

从表导入。

save(table_path)

导出到表。

                    load方法、save方法的参数描述分别如表10、表11所示。

                                                                                             表10  FeatureSet对象load方法参数说明

参数

数据类型

说明

table_path

String

要导入的表。

                                                                                               表11  FeatureSet对象save方法参数说明

参数

数据类型

说明

table_path

String

要创建的输出表。

                  FeatureSet对象使用示例如示例3所示。

                                                                                               示例3:FeatureSet对象使用示例。

import arcpy

arcpy.env.overwriteOutput = True

arcpy.ImportToolbox("http://flame7/arcgis/services;BufferByVal", "servertools")              

# 坐标列表

coordinates = [[-117.196717216, 34.046944853],

               [-117.186226483, 34.046498438],

               [-117.179530271, 34.038016569],

               [-117.187454122, 34.039132605],

               [-117.177744614, 34.056765964],

               [-117.156205131, 34.064466609],

               [-117.145491191, 34.068261129],

               [-117.170825195, 34.073618099],

               [-117.186784501, 34.068149525],

               [-117.158325598, 34.03489167]]

feature_class = arcpy.CreateFeatureclass_management("in_memory", "tempfc", "POINT")[0]

with arcpy.da.InsertCursor(feature_class, ["SHAPE@XY"]) as cursor:

    for (x, y) in coordinates:

        cursor.insertRow([(x, y)])

feature_set = arcpy.FeatureSet()

feature_set.load(feature_class)

results = arcpy.BufferPoints_servertools(feature_set)

2) RecordSet

             RecordSet对象是表的轻量级表示。它是一种既包含方案又包含数据的特殊数据元素。RecordSet对象也表示通过服务器发送和接收表的方式。

             值得注意的是:如果要将某个表加载到新的RecordSet,并使用可对类似计算字段的输入或类似UpdateCursor的arcpy函数进行修改的地理处理工具来修改RecordSet,那么原始表也将被修改。

             RecordSet对象的语法说明、属性信息及方法说明分别如表12、表13和表14所示。

                                                                                          表12  FeatureSet对象说明

参数

数据类型

说明

table

String

要加载到RecordSet对象中的表。

                                                                                            表13  RecordSet对象属性信息

属性

数据类型

说明

json (可读写)

String

返回一个字符串形式的几何 Esri JSON 制图表达。

                                                                                             表14  RecordSet对象方法概述

方法

说明

load(table_path)

从表导入。

save(table_path)

导出到表。

                load方法、save方法的参数描述分别如表15、表16所示。

                                                                                             表15  Record对象load方法参数说明

参数

数据类型

说明

table_path

String

要导入的表。

                                                                                               表16  Record对象save方法参数说明

参数

数据类型

说明

table_path

String

要创建的输出表。

           RecordSet对象使用示例如示例4所示。

                                                                                              示例4:RecordSet对象使用示例。

import arcpy

arcpy.ImportToolbox("http://myserver/arcgis/services;Geocode")

in_recordset = arcpy.GetParameterValue("GeocodeAddress", 0)

 

附录

       欢迎大家关注我的收费课程《ArcGIS Pro 2.6和ArcGIS Enterprise学习》,共8小时,有理论有实操:https://edu.csdn.net/course/detail/31690

课程主要包含:

  1. ArcGIS Pro2.6学习

                    ①GIS中的数据

                    ②GIS中的坐标系

                    ③企业级地理数据库(SDE)设置

                    ④数据编辑及拓扑检查

                    ⑤简单制图

                   ⑥空间分析

     2.ArcGIS Enterprise学习

                  ①环境部署

                  ②二三维服务发布(矢量切片、要素服务、地图切片、地形服务、三维服务等)

                  ③使用及运维(详细介绍如何确定enterprise部署架构,简单介绍相应的运维工具)

      3.开发体系梳理

 

 

 

你可能感兴趣的:(Python学习,arcpy,arcgis,pro)