Select to view content in your preferred language

Gridded 3D Point Array to NetCDF. Where am I going wrong?

2267
10
08-19-2022 06:59 AM
David_Brooks
MVP Regular Contributor

I have a very basic gridded array of PointZ features, each containing a variable based on their height above ground. The extent is irregular, but the horizontal grid is uniform (10m spacing) and height is also (1m spacing)

David_Brooks_0-1660917109797.png

I would like to convert these points into a NetCDF file to then visualise as a voxel model. My end game is to then assign soil types to points based on isosurface rasters, and convert to a voxel model.

I have to say, the documentation around NetCDF, Voxels and Multidimensional processing is chaotic and incomplete. The descriptions of variables and dimensions are confusing.

My assumption is that I could assign Shape.XYZ as dimensions, and the test variable (height) as a variable. But im getting errors.

Here's the Point dataset attribute table 

David_Brooks_1-1660917322659.png

Here's how i create the NetCDF:

David_Brooks_2-1660917399135.png

And here are the errors:

David_Brooks_3-1660917468109.png

 

Any ideas where I'm going wrong?

FYI, I don't want to go down the route of a Space Time Cube as I dont have a time variable, and I don't want to create a geostatistical dataset because I dont want to interpolate the data. I just need to visualise gridded points as a voxel model.

 


David
..Maps with no limits..
0 Kudos
10 Replies
DanPatterson
MVP Esteemed Contributor

you ruled out using shape.x, y and z as fields to variables as outlined in the help?

Feature to NetCDF (Multidimension)—ArcGIS Pro | Documentation


... sort of retired...
0 Kudos
David_Brooks
MVP Regular Contributor

Ive tried every iteration of adding xyz as variables or dimensions. But the help is fundamentally lacking in whats required. I don't think you even need to declare xy as variables, but have tried all the same 

 


David
..Maps with no limits..
0 Kudos
Andrew--Johnson
Esri Regular Contributor

Hi David,

Unfortunately this tool will not produce an output suitable for a voxel layer. The last point on the tool help mentions this:

  • The tool writes variables as Discrete Sample Geometry (DSG), such as points or trajectory, following the CF conventions. Since, this data is not gridded, the variables in the output netCDF file are not suitable for creating a voxel layer.

https://pro.arcgis.com/en/pro-app/latest/tool-reference/multidimension/feature-to-netcdf.htm 

Workflows for creating NetCDF data suitable for a voxel layer can be found here: 

https://pro.arcgis.com/en/pro-app/latest/help/mapping/layer-properties/create-a-voxel-layer.htm 

thanks,

Andrew

0 Kudos
David_Brooks
MVP Regular Contributor

@Andrew--Johnson sorry, but the point array I've made IS gridded. I converted duplicate rasters to PointZ  and want to assign variables to those points in order to display discrete data in a voxel model.


David
..Maps with no limits..
0 Kudos
David_Brooks
MVP Regular Contributor

Next step would be to convert back to rasters, load into mosaic, add multidimension info and then convert that to netcdf. Seems convoluted.


David
..Maps with no limits..
0 Kudos
Andrew--Johnson
Esri Regular Contributor

Hi David,

Based on how I read the doc in the tool, the output of the NetCDF will not be suitable for a voxel layer no matter how the input data is structured. I would recommend using the Raster to NetCDF tool and in that tools doc it specifies it will format the netCDF properly. 

"The tool writes variable as regularly spaced gridded data following the CF conventionsLink to CF Conventions website. Therefore, the variable in the output netCDF file is suitable for creating a voxel layer."

https://pro.arcgis.com/en/pro-app/latest/tool-reference/multidimension/raster-to-netcdf.htm 

thanks,

Andrew

0 Kudos
David_Brooks
MVP Regular Contributor

@Andrew--Johnson okay thank you for clarifying. That makes sense. In fact, on Sunday I focussed my efforts on working with that tool and it did create a voxel model from a multi-dimension raster. Albeit, I'm still in a muddle regarding variables and dimensions. But at least I know the workflow for me will be to assign data to rasters instead of a 3D point grid, before converting to netCDF.


David
..Maps with no limits..
0 Kudos
Andrew--Johnson
Esri Regular Contributor

I will say the workflow you are attempting to do will be easier in the ArcGIS Pro 3.1 (early 2023) release. The GeoStats team just installed a new tool Nearest Neighbor 3D which allows you to create a netCDF from categorical 3D points by assigning each voxel the category of the nearest neighbor in 3D. It will also allow you to input a minimum elevation raster and maximum elevation raster to constrain the output to an irregular study area so be on the lookout for that!

thanks,

Andrew

0 Kudos
David_Brooks
MVP Regular Contributor

@Andrew--Johnson take my money £££


David
..Maps with no limits..
0 Kudos