当前位置:首页>python>ArcGIS_Pro_Python_字段计算器与标注实战指南

ArcGIS_Pro_Python_字段计算器与标注实战指南

  • 2026-08-21 23:38:41
ArcGIS_Pro_Python_字段计算器与标注实战指南

ArcGIS Pro Python 实战指南

字段计算器 & 标注表达式 完全手册

──────────────────────────────

基于 ArcGIS Pro 3.x | 适用 ArcPy / Python 3

2026年7月

目录

第一章ArcGIS Pro Python 基础知识

ArcPy 简介 | 环境设置 | 常用模块 | 游标操作 | 列表与描述 | 错误处理 | 性能优化

第二章字段计算器(Field Calculator)

概述 | 基本语法 | Python 代码块 | 实战案例 | 常见问题

第三章标注(Labeling)

概述 | Python 标注表达式 | Arcade 标注表达式 | ArcPy 标注操作 | 实战案例

附录 A快速参考

字段类型 | 常用坐标系 WKID | ArcPy 快捷命令 | 在线资源

第一章ArcGIS Pro Python 基础知识

1.1ArcPy 简介

ArcPy 是 Esri 在 ArcGIS 10.0 引入的 Python 站点包,它取代了旧的 arcgisscripting 模块,提供了更丰富、更 Pythonic 的 API。在 ArcGIS Pro 中,ArcPy 基于 Python 3,支持所有地理处理工具的直接调用。

ArcPy 的核心功能包括:

地理处理工具调用:调用 ArcGIS Pro 中所有工具箱中的工具

数据访问模块 (arcpy.da):高性能游标操作,支持搜索、插入、更新

制图模块 (arcpy.mp):地图文档和布局的自动化操作

空间分析模块 (arcpy.sa):栅格分析与建模

网络分析模块 (arcpy.nax):网络分析功能

图表模块 (arcpy.charts):数据可视化制图

在 ArcGIS Pro 中运行 Python 的三种方式

运行方式

适用场景

打开路径

Python 窗口

交互式调试、快速测试

分析 选项卡 > Python

脚本工具 (.py)

重复执行、参数化运行

工具箱 > 脚本工具

Notebook

数据分析、逐步探索

插入 选项卡 > 新建 Notebook

1.2环境设置

ArcPy 环境设置用于控制地理处理工具的全局行为,包括工作空间、输出坐标系、处理范围等。正确的环境设置是脚本稳定运行的基础。

工作空间设置

import arcpy

# 设置工作空间(默认数据读取/写入位置)

arcpy.env.workspace = r"C:\Data\Project.gdb"

# 临时工作空间(中间结果的存储位置)

arcpy.env.scratchWorkspace = r"C:\Data\Scratch.gdb"

# 允许覆盖已有输出(避免因文件存在而报错)

arcpy.env.overwriteOutput = True

坐标系与范围设置

# 输出坐标系(所有输出将投影到此坐标系)

arcpy.env.outputCoordinateSystem = arcpy.SpatialReference(4490)# CGCS2000 地理坐标系

# 处理范围

arcpy.env.extent = "MAXOF"# 输入数据的并集范围

# arcpy.env.extent = "MINOF"# 输入数据的交集范围

# arcpy.env.extent = arcpy.Extent(104.0, 30.5, 104.5, 31.0)# 自定义范围

# 栅格处理参数

arcpy.env.cellSize = 30# 输出像元大小

arcpy.env.cellSizeProjectionMethod = "CONVERT_UNITS"# 单位转换

# 并行处理(提高大数据处理速度)

arcpy.env.parallelProcessingFactor = "75%"

👉 提示:设置坐标系时,中国地区一般使用 CGCS2000 (WKID 4490) 地理坐标系,或根据分带选择对应的投影坐标系,如 CGCS2000_3_Degree_GK_Zone_35 (WKID 4523)。

1.3常用模块一览

模块

导入方式

主要用途

所需许可

核心

import arcpy

地理处理工具入口

基础许可

数据访问

arcpy.da

游标操作(增删改查)

基础许可

空间分析

from arcpy.sa import *

栅格分析(插值、重分类等)

Spatial Analyst

制图

arcpy.mp

地图布局自动化

基础许可

网络分析

arcpy.nax

路径分析、服务区

Network Analyst

影像分析

arcpy.ia

影像处理与分类

Image Analyst

三维分析

arcpy.3d

三维表面、视线分析

3D Analyst

1.4游标操作(Cursor)

游标是 ArcPy 中最常用的数据访问方式。ArcGIS Pro 使用 arcpy.da 模块(Data Access)提供的游标,相比旧版游标性能更好、功能更强。

SearchCursor —— 读取数据

import arcpy

# 基本读取:遍历所有要素

with arcpy.da.SearchCursor(fc, ["NAME", "AREA", "SHAPE@"]) as cursor:

forrow in cursor:

name,area, geom = row

print(f"{name}:{area:.2f} 平方米")

# 带条件筛选(SQL WHERE 子句)

with arcpy.da.SearchCursor(

parcels,["OWNER", "LANDUSE"],

where_clause="LANDUSE= '0101' AND AREA > 500"

) as cursor:

forrow in cursor:

print(f"{row[0]}:{row[1]}")

# 几何令牌(避免加载完整几何,只取需要的信息)

with arcpy.da.SearchCursor(points, ["SHAPE@XY", "SHAPE@X", "SHAPE@Y"]) as cursor:

forrow in cursor:

print(f"坐标:({row[0][0]:.6f}, {row[0][1]:.6f})")

# 常用几何令牌:

# SHAPE@XY-> (x, y) 元组

# SHAPE@X-> x 坐标

# SHAPE@Y-> y 坐标

# SHAPE@JSON-> JSON 字符串

# SHAPE@WKT-> WKT 文本

# SHAPE@AREA-> 面积

# SHAPE@LENGTH -> 长度

InsertCursor —— 写入数据

fields = ["SHAPE@XY", "NAME", "TYPE", "HEIGHT"]

with arcpy.da.InsertCursor(output_fc, fields) as cursor:

#插入单条记录

cursor.insertRow([(104.0657,30.6574), "点1", "控制点", 15.5])

#从另一个数据源批量插入

fordata in source_data:

cursor.insertRow(data)

UpdateCursor —— 更新数据

# 更新字段值(面积换算)

with arcpy.da.UpdateCursor(fc, ["AREA_MU", "SHAPE@AREA"]) as cursor:

forrow in cursor:

row[0]= row[1] / 666.67# 平方米转亩

cursor.updateRow(row)

# 条件删除

with arcpy.da.UpdateCursor(

buildings,["STATUS"],

where_clause="STATUS= '已拆除'"

) as cursor:

forrow in cursor:

cursor.deleteRow()

# 注意:使用 with 语句可以自动释放数据锁,避免 "数据被独占锁占用" 错误

1.5列表与描述

# 列出当前工作空间中的所有要素类

fcs = arcpy.ListFeatureClasses()

fcs = arcpy.ListFeatureClasses("*村*", "Polygon")# 名称过滤 + 类型过滤

# 列出栅格

rasters = arcpy.ListRasters()

# 列出字段

fields = arcpy.ListFields(fc)

for f in fields:

print(f"{f.name}({f.type})")# 输出字段名和类型

# 获取数据描述

desc = arcpy.Describe(fc)

print(f"几何类型: {desc.shapeType}")# Point/Polyline/Polygon

print(f"坐标系:{desc.spatialReference.name}")

print(f"路径:{desc.path}")

# 检查数据是否存在

if arcpy.Exists(r"C:\Data\test.shp"):

print("文件存在")

1.6错误处理

良好的错误处理能让脚本在出错时给出有意义的信息,而不是直接崩溃。

try:

arcpy.env.workspace= r"C:\Data\Project.gdb"

arcpy.env.overwriteOutput= True

#执行地理处理

result= arcpy.analysis.Buffer("roads", "roads_buffer", "500 Meters")

#检查执行结果

ifresult.maxSeverity == 0:

count= int(arcpy.management.GetCount("roads_buffer").getOutput(0))

print(f"成功生成{count} 个缓冲区")

else:

print(f"警告:{result.getMessages(1)}")

except arcpy.ExecuteError:

#ArcPy 工具执行错误

print(f"ArcPy错误: {arcpy.GetMessages(2)}")

except ImportError:

print("缺少必要的Python 模块")

except Exception as e:

print(f"未知错误:{e}")

finally:

#清理操作

print("脚本执行完毕")

1.7性能优化技巧

优化方法

说明

适用场景

in_memory 工作空间

中间结果写入内存而非磁盘,速度提升数倍

多步骤链式处理

指定游标字段列表

只读取需要的字段,避免 ["*"]

大属性表遍历

使用 where_clause

在数据库层面过滤,减少 Python 处理量

条件性数据处理

批量操作

用 Merge/Append 替代循环内的单个处理

多个要素类合并

关闭不必要的输出

不需要中间结果时写入 in_memory 或 scratchGDB

减少 I/O 开销

并行处理因子

arcpy.env.parallelProcessingFactor = "100%"

支持并行的 GP 工具

第二章字段计算器(Field Calculator)

2.1概述

字段计算器是 ArcGIS Pro 中最常用的数据操作工具之一,它允许用户通过表达式来更新属性表中的字段值。Python 3 是字段计算器的默认解析器,支持完整的 Python 语法和内置函数。

字段计算器可以在以下位置使用:

属性表右键 > 计算字段 (Calculate Field)

地理处理工具:数据管理工具 > 字段 > 计算字段

Python 脚本:arcpy.management.CalculateField()

模型构建器中的"计算值"工具

2.2基本语法

在字段计算器中,使用 ! 号来引用字段值。基本格式为:

!字段名!# 引用当前要素的字段值

!字段名![n]# 引用字段值的第 n 个字符(字符串切片)

简单表达式示例

# 1. 直接赋值

表达式: 100

说明:所有行设置为固定值 100

# 2. 字段间计算

表达式: !AREA_SQM! / 666.67

说明:将 Area_SQM 字段除以 666.67,结果写入目标字段

# 3. 数学运算

表达式: !PRICE! * !QUANTITY!

说明:价格乘以数量

# 4. 字符串拼接

表达式: !FAMILY_NAME! + !GIVEN_NAME!

表达式: f"{!PROVINCE!}-{!CITY!}-{!COUNTY!}"

说明:合并多个文本字段

# 5. 几何属性

表达式: !SHAPE.area!

表达式: !SHAPE.length!

表达式: !SHAPE.centroid.X!

表达式: !SHAPE.centroid.Y!

说明:获取要素的几何属性

# 6. 日期计算

表达式: datetime.datetime.now()

说明:填入当前日期时间

2.3Python 代码块(Code Block)

当计算逻辑比较复杂(条件判断、字典映射、循环等)时,可以使用"代码块"(Code Block)来定义自定义函数,然后在表达式中调用。

语法结构

# 代码块中定义函数

代码块:

def my_function(param1, param2):

#这里是自定义逻辑

returnresult

# 表达式中调用

表达式: my_function(!字段A!, !字段B!)

实例1:地类编码转名称

# 传入的代码块

code_block = '''

def get_landuse_name(code):

"""将编码转换为地类名称"""

names= {

"0101":"水田",

"0102":"水浇地",

"0103":"旱地",

"0201":"果园",

"0202":"茶园",

"0301":"乔木林地",

"0302":"竹林地",

"0601":"工业用地",

"0602":"采矿用地",

"0701":"城镇住宅用地",

"0702":"农村宅基地",

}

returnnames.get(code, "未分类")

'''

# 表达式

expression = "get_landuse_name(!DLBM!)"

# ArcPy 调用

arcpy.management.CalculateField(

fc,"DLMC", expression, "PYTHON3", code_block

)

实例2:条件判断(多分类)

code_block = '''

def classify_area(area):

"""根据面积大小分类"""

ifarea is None:

return"未知"

elifarea < 100:

return"微小地块"

elifarea < 500:

return"小型地块"

elifarea < 2000:

return"中型地块"

elifarea < 10000:

return"大型地块"

else:

return"超大型地块"

'''

expression = "classify_area(!SHAPE.area!)"

arcpy.management.CalculateField(fc, "AREA_CLASS", expression, "PYTHON3", code_block)

实例3:字符串处理

code_block = '''

def clean_name(raw_name):

"""清理地名:去除空格、统一格式"""

ifraw_name is None:

return""

#去除首尾空格

result= raw_name.strip()

#替换多个空格为单个

importre

result= re.sub(r'\s+', ' ', result)

#统一全角/半角括号

result= result.replace('(', '(').replace(')', ')')

returnresult

'''

expression = "clean_name(!PLACE_NAME!)"

实例4:计算几何中心坐标

code_block = '''

def get_center_x(geom):

"""获取面要素中心点X 坐标"""

ifgeom and geom.area > 0:

returnround(geom.centroid.X, 6)

return0.0

def get_center_y(geom):

"""获取面要素中心点Y 坐标"""

ifgeom and geom.area > 0:

returnround(geom.centroid.Y, 6)

return0.0

'''

arcpy.management.CalculateField(fc, "CENTER_X", "get_center_x(!SHAPE!)", "PYTHON3", code_block)

arcpy.management.CalculateField(fc, "CENTER_Y", "get_center_y(!SHAPE!)", "PYTHON3", code_block)

实例5:累计编号(使用全局变量技巧)

code_block = '''

counter = 0

def auto_number():

"""自动递增生成编号"""

globalcounter

counter+= 1

#格式化为 4 位数字,如 0001, 0002...

returnf"{counter:04d}"

'''

expression = "auto_number()"

# 注意:代码块中计数的持久性取决于数据量和小数点精度等因素,

# 较大数据量建议使用 arcpy.da.UpdateCursor 替代

2.4字段计算器在 ArcPy 中的完整用法

import arcpy

fc = r"C:\Data\Project.gdb\parcels"

# 方式1:简单表达式(单行)

arcpy.management.CalculateField(fc, "AREA_MU", "!SHAPE.area! / 666.67", "PYTHON3")

# 方式2:带代码块的表达式

code = '''

def get_status(landuse_code):

codes= ["0101", "0102", "0103"]

return"耕地" if landuse_code in codes else "非耕地"

'''

arcpy.management.CalculateField(

fc,"CATEGORY",# 目标字段

"get_status(!DLBM!)",#表达式

"PYTHON3",#表达式类型

code#代码块

)

# 方式3:批量计算多个字段

calculations = [

("AREA_HA","!SHAPE.area! / 10000", None),

("IS_VALID","1", None),

("LABEL","clean_name(!NAME!)", "def clean_name(n):\nreturn n.strip() if n else ''"),

]

for target, expr, cb in calculations:

arcpy.management.CalculateField(fc,target, expr, "PYTHON3", cb or "")

2.5常见问题与注意事项

问题

原因

解决方案

字段名区分大小写

ArcGIS 字段名不区分大小写,但 Python 区分

统一使用大写字段名

None 值处理

空值直接用 !field! 引用会导致错误

函数内对参数做 if param is None 判断

中文路径/字段名

Python 2 遗留问题已不存在

Python 3 支持中文,但建议英文字段名

内存溢出

超大数据表逐行计算

使用 UpdateCursor 分块处理

小数点精度

浮点运算精度丢失

使用 round() 函数控制精度

锁冲突

数据被其他程序打开

关闭其他使用该数据的程序

第三章标注(Labeling)

3.1概述

标注是在地图上显示要素属性信息的文本。ArcGIS Pro 提供三种标注引擎:

标注引擎

特点

适用场景

Python

基于 Python 3,语法灵活,可调用完整标准库

复杂计算、条件判断

Arcade

轻量级表达式语言,跨平台运行

Web GIS、移动端共享

VBScript

旧版引擎,功能有限

不推荐,仅用于兼容旧项目

3.2Python 标注表达式

Python 标注表达式与字段计算器共享相同的语法风格,使用 ! 引用字段。标注表达式的返回值必须是字符串。

基本标注表达式

# 单字段标注

表达式: [!NAME]

# 多字段组合

表达式: [!FAMILY_NAME] + [!GIVEN_NAME]

# 带分隔符的组合

表达式: [!PROVINCE] + "-" + [!CITY] + "-" + [!COUNTY]

# 换行标注(使用 \n 转义换行符)

表达式: "名称:" + [!NAME] + "\n面积:" + str(!AREA!U) + " 亩"

# 或使用 f-string 风格(Python 3)

表达式: f"{!NAME!}\n{!AREA!:.2f} 亩"

高级 Python 标注(自定义函数)

# 代码块:定义标注函数

def FindLabel([字段1], [字段2], ...):

#自定义逻辑

return标注字符串

# 示例1:地类标注(编码转名称 + 换行)

def FindLabel([DLBM], [DLMC], [AREA]):

if[DLBM] is None:

return"无数据"

#ArcGIS Pro Python 标注中,换行使用 chr(13)+chr(10) 或 "\n"

returnf"编码:{[DLBM]}\n名称:{[DLMC]}\n面积:{float([AREA]):.2f} 亩"

# 示例2:条件标注

def FindLabel([NAME], [POPULATION], [LEVEL]):

label= [NAME]

if[POPULATION]:

label+= f"\n人口:{int([POPULATION])} 人"

if[LEVEL] == "省会":

label+= "\n★ 省会城市"# ★ = ★

returnlabel

# 示例3:格式化数值

def FindLabel([PRICE], [AREA]):

unit_price= float([PRICE])# 总价

land_area= float([AREA])# 面积

ifland_area > 0:

price_per_mu= unit_price / land_area# 亩均单价

returnf"{price_per_mu:,.0f} 元/亩"

return"无数据"

👉 提示:在 ArcGIS Pro 标注表达式中,Python 换行符 \n 可能被忽略。稳妥的做法是使用 chr(13) + chr(10) 或直接在代码块中构造多行标注字符串。

3.3Arcade 标注表达式

Arcade 是 ArcGIS Pro 推荐的现代标注语言,相比 Python 标注有以下优势:

跨平台一致:在 Pro、Web Map、移动端显示效果一致

内置函数丰富:提供大量地理和文字处理函数

性能更好:轻量级引擎,适合大量要素标注

安全性:无法执行系统级操作

Arcade 基本语法

// Arcade 使用 $feature 引用要素字段

// 单字段

$feature.Name

// 多字段拼接

$feature.Province + "-" + $feature.City

// 条件判断

IIF($feature.Population > 1000000, "大城市", "中小城市")

// 字符串格式化

Concatenate(["名称:", $feature.Name, " 面积:", $feature.Area, "亩"])

// 文本换行

$feature.Name + TextFormatting.NewLine + $feature.Code

Arcade 常用函数

// 1. 条件判断

IIF(condition, true_value, false_value)

// 示例: IIF($feature.LEVEL == "省会", "省会", "地级市")

When(condition1, value1, condition2, value2, defaultValue)

// 多条件判断,类似 switch-case

// 2. 数学函数

Round($feature.Area, 2)// 四舍五入

Ceil($feature.Value)// 向上取整

Floor($feature.Value)// 向下取整

Abs($feature.Value)// 绝对值

Sqrt($feature.Value)// 平方根

// 3. 字符串函数

Left($feature.Code, 2)// 取左边2个字符

Right($feature.Code, 2)// 取右边2个字符

Mid($feature.Code, 1, 3)// 从位置1取3个字符

Lower($feature.Name)// 转小写

Upper($feature.Name)// 转大写

Trim($feature.Name)// 去除首尾空格

Replace($feature.Text, "旧","新")// 替换

// 4. 空值处理

DefaultValue($feature.Count, 0)// 如果为空则返回默认值

IsEmpty($feature.Name)// 判断是否为空

// 5. 日期函数

Year($feature.DateField)// 提取年份

Month($feature.DateField)// 提取月份

Day($feature.DateField)// 提取日

Now()// 当前日期时间

DateDiff($feature.Start, $feature.End, "days")// 日期差值

// 6. 几何函数

Area($feature, "mu")// 面积(单位可选: acres, hectares, sqm 等)

Length($feature, "km")// 长度

Centroid($feature)// 中心点

3.4Python 标注 vs Arcade 标注 对比

对比维度

Python 标注

Arcade 标注

表达风格

Python 语法,灵活

类 JavaScript,简洁

函数支持

Python 标准库 + ArcPy

内置函数集

跨平台

仅 ArcGIS Pro / Desktop

Pro + Web + 移动端

性能

中等

高(轻量级引擎)

安全性

可执行系统操作

沙箱环境,无系统访问

字段引用

!FIELD_NAME! 或 [FIELD_NAME]

$feature.FIELD_NAME

推荐场景

复杂业务逻辑、数据转换

标准标注、跨平台共享

3.5ArcPy 操作标注类

通过 arcpy.mp 模块可以在 Python 脚本中对图层的标注进行编程控制。

import arcpy

# 获取当前项目

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

# 获取地图和图层

m = aprx.listMaps()[0]

lyr = m.listLayers("地类图斑")[0]

# 开启标注

lyr.showLabels = True

# 获取标注类

lblClass = lyr.listLabelClasses()[0]

# 设置标注表达式(Python)

lblClass.expression = "[DLBM] + '\\n' + [DLMC]"

lblClass.parser = "Python"

# 设置标注字体

lblClass.symbol.color = {"RGB": [0, 0, 0, 100]}# RGBA

lblClass.symbol.size = 10# 字号

# 设置标注位置

lblClass.placement = "CENTER_CENTER"# 居中放置

# 批量设置多个图层的标注

for lyr_name in ["道路", "水系", "建筑"]:

lyr= m.listLayers(lyr_name)[0]

iflyr.supports("SHOWLABELS"):

lyr.showLabels= True

3.6实战案例

案例1:地类图斑标注(编码 + 名称 + 面积)

# Python 标注 - 带代码块

def FindLabel([DLBM], [DLMC], [SHAPE_AREA]):

area_mu= float([SHAPE_AREA]) / 666.67

return(

"编码:"+ str([DLBM]) +

chr(13)+ chr(10) +

"名称:"+ str([DLMC]) +

chr(13)+ chr(10) +

"面积:"+ f"{area_mu:.2f} 亩"

)

# 等价 Arcade 标注

$feature.DLBM +

TextFormatting.NewLine +

$feature.DLMC +

TextFormatting.NewLine +

"面积:" + Round($feature.SHAPE_AREA / 666.67, 2) + " 亩"

案例2:道路标注(分级显示不同样式)

# Python 标注

def FindLabel([ROAD_NAME], [ROAD_LEVEL]):

if[ROAD_LEVEL] in ("国道", "高速"):

return"" + [ROAD_NAME] + ""# 粗体

elif[ROAD_LEVEL] == "省道":

return"" + [ROAD_NAME] + ""# 斜体

else:

return[ROAD_NAME]# 普通样式

# ArcGIS Pro 中可用格式化标签:

#粗体斜体下划线

上标下标

#文字

#字号

#颜色

案例3:统计标注(显示计数)

# 按行政区标注地块数量

# 需要先做空间连接或属性统计

# Python 标注

def FindLabel([NAME], [COUNT]):

if[COUNT]:

returnf"{[NAME]}\n共 {int([COUNT])} 个地块"

return[NAME]

# Arcade 标注

$feature.NAME + TextFormatting.NewLine +

"共 " + Text($feature.COUNT) + " 个地块"

3.7标注格式化标签速查

标签

语法

效果

粗体

文本

粗体显示

斜体

文本

斜体显示

下划线

文本

下划线

上标

文本

上标显示

下标

文本

下标显示

字体

文本

更改字体

字号

文本

更改字号

颜色

文本

红色文字

比例

文本

放大150%

附录A快速参考

A.1常用字段类型

类型代码

说明

示例值

SHORT

短整型

1, 100, -50

LONG

长整型

100000000

FLOAT

单精度浮点

3.14159

DOUBLE

双精度浮点

3.14159265358979

TEXT

文本字符串

"hello world"

DATE

日期时间

2026-07-07

BLOB

二进制大对象

图片、文件附件

GUID

全局唯一标识符

{12345678-...}

RASTER

栅格字段

栅格数据

A.2常用坐标系统 WKID

坐标系

WKID

说明

CGCS2000 (GCS)

4490

中国大地坐标系统 2000

WGS 1984

4326

全球定位系统坐标系

Xian 1980

4610

西安 80 坐标系

Beijing 1954

4214

北京 54 坐标系

CGCS2000 3 Degree GK Zone 35

4523

中央经线 105°E

CGCS2000 3 Degree GK Zone 36

4524

中央经线 108°E

CGCS2000 3 Degree GK Zone 37

4525

中央经线 111°E

CGCS2000 3 Degree GK Zone 38

4526

中央经线 114°E

CGCS2000 3 Degree GK Zone 39

4527

中央经线 117°E

A.3ArcPy 常用快捷命令

# 获取要素数量

count = int(arcpy.management.GetCount(fc).getOutput(0))

# 获取字段唯一值

with arcpy.da.SearchCursor(fc, "LANDUSE") as cursor:

unique_values= sorted({row[0] for row in cursor if row[0] is not None})

# 计算字段总和

total = 0

with arcpy.da.SearchCursor(fc, "AREA") as cursor:

total= sum(row[0] for row in cursor if row[0] is not None)

# 创建 GDB

arcpy.management.CreateFileGDB(r"C:\Output", "NewData")

# 复制要素类

arcpy.management.CopyFeatures(source_fc, target_fc)

# 定义投影

arcpy.management.DefineProjection(fc, arcpy.SpatialReference(4490))

# 添加字段

arcpy.management.AddField(fc, "NEW_FIELD", "DOUBLE", field_alias="新字段")

A.4在线资源

ArcGIS Pro Python 官方参考:

ArcPy 文档:https://pro.arcgis.com/en/pro-app/latest/arcpy/main/arcpy-functions.htm

Python 标注指南:https://pro.arcgis.com/en/pro-app/latest/help/mapping/text/labeling-with-python-expressions.htm

Arcade 标注指南:https://pro.arcgis.com/en/pro-app/latest/help/mapping/text/arcade-expressions-for-labeling.htm

字段计算器指南:https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/calculate-field-examples.htm

─ 全文完 ─

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 01:20:36 HTTP/2.0 GET : https://f.mffb.com.cn/a/504484.html
  2. 运行时间 : 0.337820s [ 吞吐率:2.96req/s ] 内存消耗:4,825.98kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8002de2c20835daf5c7ea507bb0d122d
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000885s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001334s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.011033s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000681s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001450s ]
  6. SELECT * FROM `set` [ RunTime:0.030052s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001563s ]
  8. SELECT * FROM `article` WHERE `id` = 504484 LIMIT 1 [ RunTime:0.017041s ]
  9. UPDATE `article` SET `lasttime` = 1787332837 WHERE `id` = 504484 [ RunTime:0.028157s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000709s ]
  11. SELECT * FROM `article` WHERE `id` < 504484 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004008s ]
  12. SELECT * FROM `article` WHERE `id` > 504484 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004070s ]
  13. SELECT * FROM `article` WHERE `id` < 504484 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.044712s ]
  14. SELECT * FROM `article` WHERE `id` < 504484 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.021959s ]
  15. SELECT * FROM `article` WHERE `id` < 504484 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005091s ]
0.341607s