形状操作

形状操作函数可以应用于映射工作簿中表达式列的几何行。 该函数用于定义将数据从源加载到目标时如何转换几何。 此转换可包括几何类型之间的转换。

以下部分描述了可用的形状操作函数。

面转点

面转点函数使用面的质心将面转换为点。 当源是面且目标是点时,会在映射工作簿中自动选择该函数。

插图

面转点函数

语法

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)