FME Transformers: 2024.2
FME Transformers: 2024.2
GeometryValidator
Detects selected issues in input features, and optionally repairs detected issues. Each input feature is processed individually.
Issue Detection and Repair
For more information about the issues that are detected and/or repaired, see GeometryValidator Issues Table.
Issue detection only occurs within geometries, including geometric properties such as text rotation and arc sweep angle. That means attributes, traits, geometry names, and other non-geometric properties are not processed.
Features with a geometry unsuited to a test (like line features in a test for area orientation) count as a pass and no repair is attempted.
In general, input geometry types are preserved unless they cannot be.
For example, an arc that degenerates into a point cannot remain an arc and at the same time be non-degenerate. So, when the issue Degenerate and Corrupt Geometries is selected, and Attempt Repair is set to Yes, the arc should be repaired into a point.
As another example, a donut that contains a non-degenerate outer shell, a degenerate hole, and a non-degenerate hole can remain a donut after degeneracy repair. The donut simply drops the degenerate hole, and remains a donut.
If an input geometry contains multiple issues, but only a subset of them is being detected and repaired, expect undefined behavior. For example, if an arc containing a NaN (Not a Number) is being repaired only for degeneracy and corruption, the number of NaNs in that arc could increase. As another example, if you attempt to repair self-intersections in a degenerate geometry, it may come out with a different geometry type and lose its coordinates.
Input Dependencies for Issues
The detection and repair of the following issues depends on the absence of other issues:
Degenerate or Corrupt Geometries | no NaNs or infinities in input |
Tip To avoid undefined behavior, select Degenerate or Corrupt Geometries and Contains NaN (Not a Number) or Infinity before selecting Self-Intersections in 2D.
|
no NaNs, infinities, degeneracies, or corruptions in input |
Non-Planar Surfaces | no NaNs or infinities in input |
Invalid Solid Boundaries or Invalid Solid Voids | no NaNs or infinities, duplicate consecutive coordinates, degeneracies or corruptions, or self-intersections within individual faces in input |
Invalid Solid Voids | no invalid solid boundaries |
Output Dependencies for Issues, Assuming Input Dependencies Respected
Repairing the following issues can produce other issues:
Contains -0, NaN, or Infinity | can produce degenerate output |
Degenerate or Corrupt Geometries | can produce self-intersecting output |
Contains Null Geometry Parts | can produce degenerate output |
Duplicate Consecutive Points | can produce degenerate output |
Self-Intersections in 2D | can produce degenerate output |
Invalid Solid Boundaries | can produce degenerate faces in the boundary |
The recommended ordering of issues to detect is built into the Issue column. If a different ordering is desired, highlight an issue, then click the up and down arrows on the bottom of the issues table.
Tip Different orderings of issues to detect and repair may cause output geometries to change.
Configuration
Input Ports
Input
All input geometries are accepted but not all of them are subject to issue detection. Some geometries are only superficially supported (for example, point and lines will always pass detection on surface and solid issues).
Some geometries are not currently supported. If a feature consists solely of currently unsupported geometries, it will be output onto the Passed port. If a feature contains a geometry that is not currently supported, a once-per-session warning message will be printed in the log.
Note If you discover a Passed feature that is clearly invalid, check the log first to see whether that feature might contain a geometry that is not currently supported.
Output Ports
Passed
When a feature is output through the Passed port, it has passed issue detection.
Failed
If a feature is output through the Failed port, it has failed issue detection. Features are output from this port for three reasons:
- When Attempt Repair is set to No, this port contains features in which selected issues are detected.
- When Attempt Repair is set to Yes, this port contains features that could not be fully repaired. Whether a feature is fully repaired can be determined by observing the repair state attribute associated with reported issues. If any detected issue is reported as Not Fully Repaired, then the feature will, as a whole, be considered not fully repaired, and is output via the Failed port.
- When Attempt Repair is set to Yes, this port can contain Remnant features. For example, repairing a self-intersecting donut could produce a repaired area and a number of remnant areas from holes that extend beyond the outer shell.
To distinguish between the above situations, ensure that you specify a Detected Issue List Name.
Repaired
This port is used only when Attempt Repair is set to Yes. If a feature is output onto the Repaired port, at least one issue has been detected, and all detected issues have been repaired.
IssueLocations
This port outputs point locations that correspond to the issues found by the Failed and Repaired ports. Each location will have attributes explaining what issue it corresponds to, as well as the attributes of the original feature.
InvalidParts
This port outputs the smallest part(s) of the geometry that show the issues found by the Failed and Repaired ports. Each part will have attributes explaining what issue it corresponds to, as well as the attributes of the original feature.
<Rejected>
This port outputs features that cannot be processed. This could occur if a numeric parameter is set to take its value from an attribute, but the value of the attribute for a feature is non-numeric. Any rejected feature will have an fme_rejection_code attribute that will provide more details.
Parameters
Validation
Set of Issues to Detect |
Use this parameter to quickly select multiple related issues. When you select an issues set, the related issues are added to the issues table. Alternatively, add your own issues to the table one row at a time using the “+” button. Once a row exists, the “Issue to detect” can be specified by double clicking an empty entry. Depending on the issue that was added, an issue specific parameter may appear in the “Parameters” column. If an issue has more than one associated parameter, an “Edit…” button will appear in the “Parameters” column. Clicking on this button will display a dialog with all of the issue specific parameters. For more information about detection and repair of issues, see Issues below, and GeometryValidator Issues Table.
Selected issues are detected in the order shown in the Issue column. Issue detection ordering can be changed by highlighting an issue and then clicking the small up/down arrows just outside the issues table. |
||||||||||||||||||||||||||||||||||||||
Issue To Detect Parameters |
Contains -0, NaN, or Infinity
If Process Measure is selected, the following operations will also account for measures. Don’t Process Measure is the default. If Attempt Repair is set to No, NaNs, negative zeros, and infinities will be detected. If Attempt Repair is set to Yes, one of the following operations will take place:
For example, when Attempt Repair is set to Yes, an arc containing a NaN rotation will be output from the Failed port because there is no redundant information to recalculate the rotation. As another example, an arc that has NaNs in the end points can have its end points recalculated based on the center point and the arc properties. Contains Null Geometry Parts
If Attempt Repair is set to No, IFMENull parts will be detected. Note that an IFMENull by itself is not considered a “part”. Only IFMENulls that are the children of some aggregate will be considered “parts”. If Attempt Repair is set to Yes, IFMENull parts will be removed. Duplicate Consecutive Points
If Attempt Repair is set to No, consecutive points that are within the specified tolerance are detected. If Attempt Repair is set to Yes, consecutive points that are within the specified tolerance are removed. If Include Z Values is set to No, duplicate detection is performed in 2D. If Include Z Values is set to Yes, duplicate detection is performed in 3D. The default for Tolerance is 0, which means that only consecutive duplicate points will be considered. Degenerate or Corrupt Geometries
ParametersConnect Z Mode
When viewed in 2D (ignoring Z), a path (which may define the border of a polygon) may appear to be closed as shown in the left figure below. This same path, when viewed in 3D, may appear to be open as shown in the right figure below.
To specify how (and if) paths should be closed in 3D, select one of the listed modes.
Arc Endpoints Accuracy Mode
If set to Auto, a tolerance value will be automatically calculated for each geometry part, based on the properties of the geometry part. If set to Custom, the user may specify an attribute or a fixed value for the tolerance. Tolerance
The Tolerance parameter describes the maximum difference, in ground units, permitted between the explicit and implicit end points of an arc. If the difference exceeds this tolerance, an arc is flagged as corrupt. If the difference exceeds the tolerance but is as accurate as possible within the limits of numerical precision, an arc will not be considered corrupt. If Attempt Repair is set to No, degeneracies and corruptions will be detected. A degenerate geometry is one whose geometry type can be simplified. For example, a polygon that has 0 area is degenerate, and can be simplified to a line, point, or IFMENull. A corrupt geometry in contrast contains conflicts in the geometry definition, such as an arc whose angles and endpoints disagree. If Attempt Repair is set to Yes, degeneracies and corruptions are repaired in combination. It would not be helpful to separate this issue into two. If a degenerate geometry is repaired into a corrupt geometry, or vice versa, the output could be in worse shape than the input. As an example, a donut that contains a degenerate hole will become corrupt after the degenerate hole is repaired into a point in place. If you do not repair this point-hole corruption in the donut definition, the result would be a donut that is “sicker” than the input. The correct action is to remove the point-hole from the donut. In the case of meshes, parts containing invalid indices will be detected. In the case of corrupt vertex normal or texture coordinate indices, only that information will removed from the corrupt part upon repair. If the vertex indices are corrupt, the invalid part will be deleted from the repaired mesh. As a second example, a corrupt arc whose angles and endpoints mismatch may be repaired into a degenerate arc that is equivalent to a point. If you stopped there and output the degenerate arc, you could end up with more downstream issues than not repairing the arc at all. The correct action is to convert the arc into a point. Expect that arcs with 0 curvature will be replaced by, or stroked into, a line or point. Arcs with endpoints may be subject to precision limitations that cause a drift between the explicit endpoints, and the implicit arc definition. The parameters below may be used to control the amount of endpoint drift that is tolerated before an arc is flagged as corrupt. Self-Intersections in 2D
ParametersCheck Self-Touching Polygon
If set to Yes and if Attempt Repair is set to Yes, then donuts that have a hole touching the outer boundary will have the hole added to the outer boundary. This will convert the outer boundary to a pinch polygon. This option will only affect donut holes touching the original outer boundary. The donuts that have been repaired may become donuts without holes, and thus become degenerate. Example
Connect Z Mode
When viewed in 2D (ignoring Z), a path (which may define the border of a polygon) may appear to be closed as shown in the left figure below. This same path, when viewed in 3D, may appear to be open as shown in the right figure below.
If using the “Repair” mode, this parameter specifies how ambiguous Z values for self-intersection locations are chosen. Ambiguous Z values occur when two line segments share an X and Y value, but have a differing Z value.
Tolerance
The maximum distance, in ground units, that may qualify as self-intersection. If the distance between parts of a geometry is within the tolerance, the geometry will be marked as self-intersecting. If the tolerance is None, the geometry must actually intersect for self-intersection to be detected. If the tolerance is Automatic, a tolerance will be automatically computed based on the properties of the geometry. Additionally, a Custom tolerance may be used. If the Custom tolerance is invalid, Automatic tolerance will be used instead. Intersect Across Multis
Specifies whether or not to check for intersections between the parts of a multi. No indicates that each part should be checked for self-intersection, but the parts will not be checked for intersection against one another. Yes indicates that each part will be checked for self-intersection, and the parts will also be checked for intersection against one another. If Attempt Repair is set to No, self-intersection points are detected. If Attempt Repair is set to Yes, an input geometry with self-intersections will be divided into a collection of geometry parts that do not contain self-intersections. For example, a figure-8 polygon that has a “waist size” of 0 will be repaired into an IFMEMultiArea of two polygons. As another example, meshes, triangle strips and triangle fans will be repaired into composite surfaces. Expect self-intersections to be detected in x and y only. Duplicate coordinates (duplicate in x and y) are considered self-intersections and are reported as such. Duplicate consecutive coordinates are reported as a single self-intersection point. Faces are rotated onto the x-y plane, self-intersected in x and y, and then un-rotated. Oriented arcs are checked for self-intersections with respect to their orientation, which are defined by their transformation matrices. Aggregates, composite surfaces, meshes, triangle strips, and triangle fans are tested for self-intersection on a per-part (or per-face) basis, but the parts are not self-intersected against each other. Donut holes and rings are self-intersected against each other. For example, if a composite surface has a face that self-intersects, it will be output via the Failed or Repaired port. If a composite surface has two faces that intersect each other but do not self-intersect on their own, the composite surface will be output via the Passed port. Self-intersections are reported via .location traits. When self-intersections are detected, but no self-intersection points are available for reporting, the transformer reports a nearby location. Non-Planar Surfaces
If Attempt Repair is set to No, non-planar faces and surface parts, such as mesh parts or parts of a composite surface, will be detected. A non-planar face or surface part does not have all of its vertices on the same plane in 3D space. If Attempt Repair is set to Yes, non-planar faces and surface parts will be triangulated.
Also Check Areas If set to No, this check will output all areas through the Passed port. If set to Yes, this check will determine an area’s output port based on its planarity. Thickness ModeIf set to Automatic, thickness values will be automatically calculated for each geometry part. If set to Custom, the user may specify an attribute or a fixed value for the thickness. If set to Ignore, the thickness check will be ignored. ThicknessThe Thickness parameter describes the maximum “thickness” a face can have before it is considered non-planar. See FaceReplacer. Angular ModeIf set to Automatic, surface normal deviation values will be automatically calculated for each geometry part. If set to Custom, the user may specify an attribute or a fixed value for the surface normal deviation. If set to Ignore, the surface normal deviation check will be ignored. Surface Normal Deviation (degrees)The Surface Normal Deviation parameter describes the maximum deviation between the average surface normal of a face and the surface normals resulting from a triangulation of that face, before it is considered non-planer. See FaceReplacer. Invalid Solid Boundaries
The following family of issues can be detected:
If no issues are detected, a solid geometry will be output via the Passed port. Informally, a Passed solid boundary is water-tight, non-self-intersecting and properly oriented. If Attempt Repair is set to No, the above family of issues will be detected within solid geometries. If Attempt Repair is set to Yes, solid geometries with open boundaries, too few faces, reversed orientation, or multiple components will be repaired. All input solids will first be triangulated. Open solid boundaries and boundaries with too few faces will be repaired by filling the disconnected regions in the boundary with triangles. Incorrect orientations will be fixed by reversing the surface normal of all faces that compose the solid. If Flip Appearances is selected, the appearances of each face will also switch sides, otherwise appearances will not move. A boundary with multiple connected components will be repaired by removing all components except the one with the most faces. Invalid Solid Voids
A void is a cavity, or an empty region within a solid, and is defined by an inner boundary. A solid is defined by an outer boundary and a number of inner boundaries. The following family of issues can be detected:
If no issues are detected, the solid geometry will be output via the Passed port. Informally, a Passed solid is a solid with inner boundaries that reside completely within the outer boundary and none of the boundaries intersect each other. Tip Self-intersections in boundaries are not detected. To detect and repair self-intersections in the boundaries, select Invalid Solid Boundaries.
If Attempt Repair is set to No, the above family of issues will be detected within solid geometries. If Attempt Repair is set to Yes, a solid geometry with these issues will be repaired by subtracting the voids from the outer boundary. If the repaired solid is the empty set, the original solid will be output onto the Failed port and gain a .repair_state of Not Fully Repaired. OGC Compliant
A geometry is “OGC Compliant” if it can be represented losslessly in the geometry model defined by the OGC. See https://www.ogc.org/standards/sfa for more details on what geometries can be represented in the OGC’s Simple Feature Access geometry model . The OGC Version parameter specifies which version of the standard to use. If a geometry is determined to be OGC Compliant, it will be output via the Passed port. Otherwise it will be output via the Failed port. OGC Simple
“Simple” is a property of some geometries in the Simple Feature Access model from the OGC (https://www.ogc.org/standards/sfa). The term is explicitly defined for geometries in the OGC geometry model. It is assumed that any geometries that are being checked for “OGC Simple” are already “OGC Compliant.” If they are not, the results of this check are undefined. If an OGC Compliant geometry is determined to be OGC Simple, it will be output via the Passed port. Otherwise it will be output via the Failed port. A non-OGC Compliant geometry is not a valid input to this rule, and may arbitrarily come out of the Passed or Failed port. Note OGC Compliant and OGC Simple treat IFMEAggregates as OGC GeometryCollections, and IFMEMultis as OGC Multis.
Mismatched Dimensions
If Attempt Repair is set to No, geometries containing a mixture of 2D and 3D parts will be detected. If Attempt Repair is set to Yes, one of two operations will take place:
Missing Measures and Elevations
Vector geometries, such as points, curves, and areas, may have measures and elevation. If any vertex on a single instance of one of those geometries has a value for either a measure or the elevation, then all other vertices on that geometry must also have a value for that same measure (or elevation). This rule is used to ensure that none of those values are “NaN.” If one of them is, then this rule can be used to replace the value with an alternative. If all of them are “NaN,” then this rule will remove the measure (or elevation), regardless of which Measures/Z Conflict Mode is specified. Measures/Z Conflict Mode: specifies how these values should be dealt with. Use Default Value will cause the NaNs to be replaced with whatever value is specified in the Default Value parameter. Drop will cause all of the measures (or elevation) for that geometry to be removed if any NaNs are present. Compute will calculate a new value based on the neighboring values, the remaining settings are used only for this mode. Treat Measures As: specifies whether measures are Discrete and must equal one of their neighboring values (eg. bus stop numbers, house addresses), or are Continuous and can be some value in between their neighboring values (eg. distance along a line). Length Dimension: specifies whether 2D or 3D distances should be used when computing new measure values. Missing Texture Coordinates
Some geometries, such as meshes and faces, support appearances. These geometries may form part of complex surfaces and solids. In some cases, these appearances may have raster-based textures associated with them. If this is the case, then it is also necessary for the corresponding geometries to have texture coordinates. Without texture coordinates, there is not enough information on how to render the texture on the geometry when visualizing it, for example. Missing texture coordinates are detected and reported in bulk. That is, regardless of the number of vertices with missing texture coordinates, only one such vertex is reported per geometry. If Attempt Repair is set to No, missing texture coordinates are detected. If Attempt Repair is set to Yes, every geometry that has at least one missing texture coordinate will have all of its texture coordinates re-computed. Geometries with no missing texture coordinates are left unmodified. For example, if a solid has 6 faces, one of which is missing texture coordinates, then 5 of the 6 faces will not be modified, and 1 of the 6 will have its texture coordinates re-computed. When computing missing texture coordinates, the entire texture is draped onto the geometry, and the texture is draped in the direction of the surface normal of the geometry. Missing Vertex Normals
Vertices without normals are detected and reported in bulk. That is, regardless of the number of vertices with missing normals, only one such vertex is reported per geometry. If Attempt Repair is set to No, missing vertex normals are detected. If Attempt Repair is set to Yes, every geometry that has at least one normal missing will have all its normals re-computed. Each computed vertex normal is equivalent to the normal of the face that the vertex belongs to. For meshes, newly computed normals will be stored inside their normal pools. For other surfaces, the measures named fme_vertex_normal_x, fme_vertex_normal_y, and fme_vertex_normal_z, will be used to store the vertex normals. Rectangle faces will be repaired into faces. Triangle strips and triangle fans will be repaired into composite faces. Invalid Area Orientation
Areas, such as polygons, ellipses, and donuts, have an orientation. Their orientation can be either left-handed, right-handed or invalid. A left-handed orientation means the area's outer boundary has its vertices arranged in a counterclockwise direction, and the holes have their vertices in a clockwise direction. In a right-handed orientation, the area's outer boundary has its vertices arranged in a clockwise direction, and the holes have their vertices in a counterclockwise direction. An example of an invalid area, would be a donut, whose inner and outer rings are all right-handed, or all left-handed. If Attempt Repair is set to No, then the orientation of all areas will be checked. Selecting Left for the mode will check if all areas follow the left-hand rule. Selecting Right for the mode will check if all areas follow the right-hand rule. Selecting Valid will check that each area is either left handed, or right handed. This check will not produce meaningful results for degenerate features whose orientation is ambiguous, such as a figure-8 boundary, or a polygon with no coordinates. If Attempt Repair is set to Yes, all areas will be forced to the specified mode. Solid Orientation
Solids, such as boxes, BRep solids, CSG solids, extrusions, and composite solids, have an orientation. This orientation is considered invalid by the GeometryValidator if the normals of outer shells do not face out or the normals of inner shells do not face in. Their orientation is also invalid if they are inconsistent. If Attempt Repair is set to No, then the orientation of all solids will be checked. If Attempt Repair is set to Yes, solids that have an invalid orientation will be reoriented so that all normals of outer shells face out and all normals of inner shells face in. Surface Orientation
Surfaces have orientations. Faces, composite surfaces, and meshes can have invalid orientations. Faces can have an invalid orientation if they have a donut area where the normal of any inner boundary has the same direction as the normal of the outer boundary. Meshes and composite surfaces can have an invalid orientation if they have two parts that share an edge and those parts are not consistently oriented with respect to each other. If Attempt Repair is set to No, then the orientation of all surfaces will be checked. This check will not produce meaningful results for surfaces that are improperly noded. If Attempt Repair is set to Yes, all surfaces will be forced to be consistent. |
Output
Detected Issue List Name |
Detected issues will be reported within Attribute lists and Trait lists. These lists will have the same name, which is the value of this parameter. If this list name is left empty, no detected issues will be reported. Issue attributes and traits do not accumulate through multiple GeometryValidators. In fact, the first operation GeometryValidator performs is to remove existing issue attributes and traits that collide with the specified Detected Issue List Name. This removal takes place even if no issues are selected. Note List attributes are not accessible from the output schema in FME Workbench unless they are first processed using a transformer that operates on them, such as ListExploder or ListConcatenator. Alternatively, AttributeExposer can be used.
Note To preserve existing issue attributes and traits reported by an upstream GeometryValidator, modify Detected Issue List Name.
|
|||||||||||||||||||||||||||||||||||||||||||||
Attempt Repair |
If this parameter is set to Yes, detected issues will either be fully repaired, in which case the feature would be output to the Repaired port, or not fully repaired, in which case the feature would gain at least one .repair_state of Not Fully Repaired and be output to the Failed port. If a single issue is selected for repair, it can be expected that the primary (as opposed to remnant) output feature will either have all occurrences of the selected issue repaired, or gain a .repair_state of Not Fully Repaired. For example, if Self-Intersection in 2D is selected with Attempt Repair set to Yes, the primary output feature can be expected to be free of self-intersections. If this parameter is set to No, detected issues will not be repaired, and features with detected issues will be output via the Failed port. Note You can preview issue repair by setting Attempt Repair to No. However, this preview will only align with the actual repair if you select exactly one issue to detect, or if you select a set of independent issues.
When Attempt Repair is set to Yes, it is possible for a geometry part to become incompatible with its container geometry after repair. In some cases, these geometry parts are removed or output as remnants. In other cases, these geometry parts are kept, and their container geometries change geometry types, so that the parts and the container become compatible again. Here is a list of container geometries whose incompatible parts are removed or output as remnants:
Here is a list of container geometries that will change types to accommodate its incompatible parts:
There is an exception to the first list of container geometries when Degenerate or Corrupt Geometries is selected and Attempt Repair is set to Yes. In such cases, if a container geometry becomes empty after all degeneracies and corruptions have been removed, then one of the incompatibly repaired parts will be output as the Repaired feature. See FME Geometry Model for more information on geometry types. |
|||||||||||||||||||||||||||||||||||||||||||||
Summary Mode |
|
Editing Transformer Parameters
Transformer parameters can be set by directly entering values, using expressions, or referencing other elements in the workspace such as attribute values or user parameters. Various editors and context menus are available to assist. To see what is available, click beside the applicable parameter.
How to Set Parameter Values
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.
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.
Content Types
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
Table Tools
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.
For more information, see Transformer Parameter Menu Options.
FME Community
The FME Community has a wealth of FME knowledge with over 20,000 active members worldwide. Get help with FME, share knowledge, and connect with users globally.
Search for all results about the GeometryValidator on the FME Community.
Keywords: GeometryRepairer GeometryCleaner Mender Fixer NaNRemover InfinityRemover NullRemover IFMENullRemover GeometryTypeRepairer DegenerateGeometryRepairer CorruptGeometryRepairer MeshNormalRepairer FeatureValidator FeatureRepairer FeatureCleaner GeometryOGCValidator DuplicateCoordinateRemover SelfIntersector OGC-simple OGC-valid Duplicated Corrupted self intersected damaged erroneous error data repair fix bad data