I’m new in ParaView and have been trying to optimise the development of a 3D implicit model.
I have created a CSV file that contains two different surfaces, and the objective is to generate a volume from these surfaces. I have attempted to use the
Delaunay 3D filter; however, the program crashes each time I run it. This may be due to the dataset being quite large or complex.
I have uploaded the CSV file in case anyone is able to help with this issue.
Thanks in advance for your support.
So you will need to generate .csv file with the correct content.
Alterantively, you should consider not using .csv to describe 1M points, and instead use a more efficient format which stores the totpology as well. .vtkhdf, .vtr or .vtk comes to mind.
The CSV file contains two different surfaces that share the same X and Y coordinates but have different elevation values.
I understand that handling around one million points can be challenging. Do you know how to convert a CSV file into VTK format? It seems that this format is more natively supported and better suited for use in ParaView.
I am assuming these data, are being generated by some numerical model. If so, is there any chance you can request a binary format? CSV is probably the worst format you could work with. Can you output netcdf?
I tried pre-processing your data, in python, and converting to a vtk file. I enclose what the first 5000 point look like. As you can see the surface is terrain following (i.e. following sea bed) and showing sand thickness.
A direct binary output would greatly simplify things, also allowing some more advanced option (like extruding and/or stacking vertical bins for each layer, in case you have multi-layered outputs.)
Brief follow-up, I have tried converting it to netcdf, avoiding loops and vectorizing (so I could use GPUs). I have built gridded data by interpolating sand and seabed surfaces onto a regular grid using IDW with KDTree acceleration. That is: a KDTree spatial index for each layer to enable fast nearest-neighbour queries from grid points to scattered geological measurements. This avoids O(N²) distance computations and reduces interpolation to efficient O(N log N) searches per surface. The sand thickness is computed as the difference between the two interpolated surfaces, with negative and poorly constrained values masked. The final output is stored as a NetCDF dataset.