形状操作函数可以应用于映射工作簿中表达式列的几何行。 该函数用于定义将数据从源加载到目标时如何转换几何。 此转换可包括几何类型之间的转换。
以下部分描述了可用的形状操作函数。
面转点
面转点函数使用面的质心将面转换为点。 当源是面且目标是点时,会在映射工作簿中自动选择该函数。
插图

语法
polygon_to_point(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
polygon_to_point(!Shape!)
面转多点
面转多点函数将面转换为多点,源面的每个顶点都有一个点。 当源是面且目标是多点时,会在映射工作簿中自动选择该函数。
插图

语法
polygon_to_multipoint(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
polygon_to_multipoint(!Shape!)
面转直径折线
面转直径折线函数将面转换为单段折线,该单段折线连接沿其边界相距最远的面的两个顶点。 该函数不会在映射工作簿中自动选择,必须在表达式列中手动输入。
插图

语法
polygon_to_diameter_polyline(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
polygon_to_diameter_polyline(!Shape!)
面转折线
面转折线函数使用面的边界将面转换为折线。 当源是面且目标是折线时,会在映射工作簿中自动选择该函数。
插图

语法
polygon_to_polyline(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
polygon_to_polyline(!Shape!)
折线转面
折线转面函数使用指定的缓冲距离将折线转换为面。 当源是面且目标是面时,会在映射工作簿中自动选择该函数。
插图

语法
polyline_to_polygon(shape, distance)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
distance | 与要缓冲的输入要素之间的距离。 | 双精度 |
示例
polyline_to_polygon(!Shape!, 20)
折线转点
折线转点函数使用线长度的比率将折线转换为点。 当源是折线且目标是点时,会在映射工作簿中自动选择该函数。
插图

语法
polyline_to_point(shape, {ratio})
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
ratio(可选) | 沿线放置点的距离,以 0 到 1 的比率表示。 默认值为 0.5。 | 双精度 |
示例
polyline_to_point(!Shape!, 0.5)
折线转多点
折线转多点函数将折线转换为多点,在源折线的每个顶点创建一个点。 当源是折线且目标是多点时,会在映射工作簿中自动选择该函数。
插图

语法
polyline_to_multipoint(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
polyline_to_multipoint(!Shape!)
点转面
点转面函数使用指定的缓冲距离将点转换为面。 当源是点且目标是面时,会在映射工作簿中自动选择该函数。
插图

语法
point_to_polygon(shape, distance)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
distance | 与要缓冲的输入要素之间的距离。 | 双精度 |
示例
point_to_polygon(!Shape!, 50)
点转折线
点转折线函数使用指定的距离和角度将点转换为折线。 当源是点且目标是折线时,会在映射工作簿中自动选择该函数。
注:
生成的线的起始顶点将与源点位于同一位置。插图

语法
point_to_polyline(shape, angle, distance)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
angle | 生成折线的角度。 角度必须位于 0 和 360 之间。 | 双精度 |
distance | 与要缓冲的输入要素之间的距离。 | 双精度 |
示例
point_to_polyline(!Shape!, 30, 100)
点转多点
点转多点函数将点转换为多点,其中包含以源点为中心的随机生成的点的集合。 当源是点且目标是多点时,会在映射工作簿中自动选择该函数。
插图

语法
point_to_multipoint(shape, num_points, radius)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
num_points | 要随机生成的点的数量。 | 短整型 |
radius | 随机生成的点将分散在其中的半径。 | 双精度 |
示例
point_to_multipoint(!Shape!, 30, 200)
多点转面
多点转面函数使用源多点的凸包将多点转换为面。 当源是多点且目标是面时,会在映射工作簿中自动选择该函数。
注:
如果多点要素只有一个或两个点,则将以默认缓冲区大小生成面缓冲区。 如果多点要素大于两点,则将使用凸包方法生成面。插图

语法
multipoint_to_polygon(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
multipoint_to_polygon(!Shape!)
多点转折线
多点转折线函数使用源多点的凸包将多点转换为折线。 当源是多点且目标是折线时,会在映射工作簿中自动选择该函数。
注:
如果多点要素是单点,则将以默认方向和长度生成折线。 如果多点要素是两个点或更多,则将使用凸包方法生成折线。插图

语法
multipoint_to_polyline(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
multipoint_to_polyline(!Shape!)
多点转点
多点转点函数使用源多点的质心将多点转换为点。 当源是多点且目标是点时,会在映射工作簿中自动选择该函数。
插图

语法
multipoint_to_point(shape)
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
示例
multipoint_to_point(!Shape!)
创建点
创建点函数从表中的 x 坐标和 y 坐标创建点。 您还可以包含 z、m 和空间参考信息。 当源是表且目标是点时,会在映射工作簿中自动选择该函数。
语法
create_point(x, y, {z}, {m}, {spatial_reference})
名称 | 说明 | 数据类型 |
---|---|---|
x | x 值或包含 x 值的字段。 | 双精度 |
y | y 值或包含 y 值的字段。 | 双精度 |
z(可选) | z 值或包含 z 值的字段。 | 双精度 |
m(可选) | m 值或包含 m 值的字段。 | 双精度 |
spatial_reference(可选) | 定义空间参考的水平坐标系。 可以使用投影文件、名称或工厂代码来设置坐标系。 | SpatialReference |
示例
create_point(!x!, !y!, !z!, !m!, 8745)
移动要素
移动要素函数可将任何几何类型的 x、y 和 z 坐标移动一个值。 该函数不会在映射工作簿中自动选择,必须在表达式列中手动输入。
语法
move(shape, {x}, {y}, {z})
名称 | 说明 | 数据类型 |
---|---|---|
shape | 包含形状几何的字段。 | 几何 |
x(可选) | x 值的平移量。 | 双精度 |
y(可选) | y 值的平移量。 | 双精度 |
z(可选) | z 值的平移量。 | 双精度 |
示例
move(!Shape!, 50, 50, 50)