VertexCreator
Appends coordinates to null, point, text, line, and arc geometry, or replaces existing geometry with point geometry.
If the feature turns into a closed polygon as a result of adding the point, it will be tagged as an area feature; otherwise, it will be tagged as a line or a path ending in a line for arcs. (However, if this was the first point added, it will be tagged as a point.)
Configuration
Input Ports
The table below shows input features and their resulting geometries.
Input Feature |
Add Point - Resulting Geometry |
---|---|
null geometry |
point |
point geometry |
line |
text geometry |
line |
line geometry |
line or polygon |
arc geometry |
path or polygon (with path boundary) |
other geometry |
untouched original geometry |
Text features are treated as though their geometry is a point at the text's location.
If the input feature has 3D geometry and only the X and Y parameters are specified, The added point will inherit a z value from the nearest vertex on the input feature.
If the Z parameter is an attribute whose value is null, missing or an empty string, the resulting geometry will also be 3D with z from the nearest original vertex.
Conversely, if the input feature has 2D geometry and the X, Y, and Z parameters are all specified, then the resulting geometry will be promoted to 3D and any pre-existing 2D coordinates will gain the same Z value specified for the added vertex.
If the Mode parameter is set to Replace with Point, then this transformer accepts features with all types of geometries.
If the Mode parameter is set to Insert Point at Index or Replace Point at Index, then this transformer will accept only lines, paths, and polygons. If the input is a path, the last point in one segment and the first point in the next segment will be treated as two separate points (but with the same coordinates), and will therefore take up two index positions. For example, a path consisting of two segments and a total of 5 points will technically have 6 points (and consequently, 6 index positions that can be replaced/inserted to).
For polygons, the transformer will operate on the polygon's boundary as a curve, then replace the polygon's old boundary with the modified one.
Output Ports
The features with the new point geometry appended to, or replacing, the existing geometry.
Features that caused processing failures are output to the <Rejected> port. This may happen if the geometry does not support point appending, or if the specified coordinate attribute values were not numerical. Null, missing or empty string values for the x or y attributes will cause the feature to be rejected.
Parameters
Mode |
The features with the new point geometry appended to, or replacing, the existing geometry. If the Mode parameter is set to Add Point, the VertexCreator will attempt to append the specified coordinates as a point on the given feature geometry. This geometry must be of the type null, point, text, line, or arc. Other types of input feature geometry will be ignored. If this parameter is set to Replace with Point, the VertexCreator will replace any existing geometry on the feature with a point geometry at the specified coordinates. If this parameter is set to Insert Point At Index, the VertexCreator will insert a point with x, y, and z (if the input geometry is 3D, a Z value will be interpolated if not specified) coordinates into the input geometry at the index specified. If this parameter is set to Replace Point At Index, the VertexCreator will replace the current point at the index specified of the input geometry with a new point that has the coordinates specified. The measures at that index will not be replaced. If the Z value is blank, the Z value at that index will not be replaced. |
X Value |
You can either choose coordinates from the value of a feature attribute by selecting the attribute name from the pull-down list, or enter numbers. If a selected attribute has a value that is null, missing or an empty string, the feature will be output through the <Rejected> port. |
Y Value |
You can either choose coordinates from the value of a feature attribute by selecting the attribute name from the pull-down list, or enter numbers. If a selected attribute has a value that is null, missing or an empty string, the feature will be output through the <Rejected> port. |
Z Value |
You can either choose coordinates from the value of a feature attribute by selecting the attribute name from the pull-down list, or enter numbers. If the optional Z Value parameter is specified, the resulting feature will have a 3D geometry. You can either choose coordinates from the value of a feature attribute by selecting the attribute name from the pull-down list, or enter constants. See the “Advanced Parameters” section for information on how to deal with elevation when vertices do not have the same dimension as the input geometry. Note The SurfaceDraper transformer can be used to supply interpolated elevation values to the vertices of 2D features based on a 3D grid or set of 3D features.
|
Index |
If the Mode parameter is set to Insert Point At Index or Replace Point At Index, then the VertexCreator transformer will insert or replace a point at the Index specified. Negative index values count back from the last vertex in the input feature. |
Measures/Z Conflict Value |
This parameter specifies how to deal with geometries that have a measure, but are missing at least one value, or that have z values, but are missing at least one value.
In Add Point mode, if the feature geometry is 3D, and the coordinate to add is 2D and its x and y values match one of the endpoints of the feature geometry, the transformer will attempt to use the z value of one of those points before using the specified conflict value. |
Treat Measures as |
When using the Compute mode to compute missing measure values, measures can be considered Continuous, and linearly interpolated from their neighbors, or they can be Discrete, and taken exactly from the nearest neighbor. |
Ignore Duplicated Coordinates |
In Add Point mode, this parameter specifies whether to add a coordinate if it is the same as the existing last coordinate of the feature geometry. If Yes, existing consecutive duplicate coordinates are removed when closing a line into a polygon. If No, existing consecutive duplicate coordinates are not removed when closing a line into a polygon. |
Closed Line Handling |
In Add Point mode, this parameter specifies whether to attempt to close lines into polygons or to keep them as lines. |
Editing Transformer Parameters
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
Defining Values
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Conditional Values
Set values depending on one or more test conditions that either pass or fail.
Parameter Condition Definition Dialog
Content
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.
These functions manipulate and format strings. | |
Special Characters |
A set of control characters is available in the Text Editor. |
Math functions are available in both editors. | |
Date/Time Functions | Date and time functions are available in the Text Editor. |
These operators are available in the Arithmetic Editor. | |
These return primarily feature-specific values. | |
FME and workspace-specific parameters may be used. | |
Creating and Modifying User Parameters | Create your own editable parameters. |
Dialog Options - Tables
Transformers with table-style parameters have additional tools for populating and manipulating values.
Row Reordering
|
Enabled once you have clicked on a row item. Choices include:
|
Cut, Copy, and Paste
|
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers. |
Filter
|
Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output. |
Import
|
Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers. |
Reset/Refresh
|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers. |
Note: Not all tools are available in all transformers.
FME Community
The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.
Search for all results about the VertexCreator on the FME Community.
Keywords: 2DPointAdder 3DPointAdder 2DPointReplacer 3DPointReplacer