Question

How does the TinGenerator Surface tolerance work?

  • 9 November 2022
  • 2 replies
  • 7 views

Badge +14
  • Contributor
  • 120 replies

The tolerance in TINGenerator does not seem to do anything? I have a workspace where a geotiff gets converted to a pointcloud for some processing before running through a TINGenerator. I have tried values between 1 and 1000 but it always outputs the same amount of VertexPoints. Only thing that makes any difference is if I set the value to 0, then the amount of vertexpoints get multiplied by a million. In the same workspace I also use a PointCloudCombiner. Where the value of the point interval does not seem to make any difference.

Does the workspace need to be set up in a specific way in order for the above to work? Or have I just missunderstood what the values are supposed to do?


2 replies

Userlevel 6
Badge +33

Not an expert, but I assume you checked the documentation? It states:

 

Surface Tolerance

This parameter is used to determine which input points to add to the surface model as vertices. Specifying a value of 0 turns off vertex filtering.

 

Tip: A larger value will speed up surface model construction. The larger the value, the more input points will be filtered out. For input files with millions – or even billions – of points, it becomes essential to increase this value.

 

When a positive value for surface tolerance is specified, it works as follows. For each vertex that is being added to the model:

  • If the x,y location is outside the 2D convex hull of the existing surface model, it is added to the model.
  • If the x,y location is inside the 2D convex hull of the existing surface model:
    • The difference between the z value from the existing surface model and the z value of the vertex is calculated.
    • This difference is compared to the surface model tolerance.
    • The vertex is only added to the surface model if the difference is greater than the surface tolerance; otherwise, the vertex is discarded.
Badge +14

Not an expert, but I assume you checked the documentation? It states:

 

Surface Tolerance

This parameter is used to determine which input points to add to the surface model as vertices. Specifying a value of 0 turns off vertex filtering.

 

Tip: A larger value will speed up surface model construction. The larger the value, the more input points will be filtered out. For input files with millions – or even billions – of points, it becomes essential to increase this value.

 

When a positive value for surface tolerance is specified, it works as follows. For each vertex that is being added to the model:

  • If the x,y location is outside the 2D convex hull of the existing surface model, it is added to the model.
  • If the x,y location is inside the 2D convex hull of the existing surface model:
    • The difference between the z value from the existing surface model and the z value of the vertex is calculated.
    • This difference is compared to the surface model tolerance.
    • The vertex is only added to the surface model if the difference is greater than the surface tolerance; otherwise, the vertex is discarded.

Thanks, I might be knocking myself out with the hull. Will try an other approach in stead.

Reply