Hi! I'm very new to creating 3D images with ArcGIS Pro, so bear with me please!
I have some geophysical data collected along a straight line on the surface. I want to add this to my scene in ArcGIS Pro to create a sort of cross section of the subsurface. I want to know how I should structure the data in a .grd file (or other file format that I can write in MATLAB) in order to have the correct effect. If I represent the data as a grid, each column would have a different [x,y] coordinate, and each row would have a different z coordinate. I believe when writing a 2D .grd file for [x,y] viewing only, I would simply indicate the x- and y-coordinate of the first corner, as well as a standard cell size, which would be the same in both directions.
How would this be structured in 3 dimensions? Or is there a better way to do it?
Hopefully this makes sense, otherwise let me know. Thanks you advance!
Hi Frederikke,
The format you have included is a raster format, I don't think that is what you want from your description.
I suggest exporting the data with a shot-line identifier (integer) and length along the shot-line, and read that as a table of your data with a id number, a length along the line, and then any attributes you want to plot.
Then digitize the shot line in map space in ArcGIS Pro, create a route, and map your table to the shot-line using "Linear Referencing". (Look up that term in the help.)
From there you'll have points that are marked with xyz, you can plot the points in 3-D, create a line or plot the data in 3D with extrusion or whatever you want from there.
Hope this helps.
Thanks for your response!
I'm so sorry, I have absolutely no idea what you mean by "exporting the data with a shot-line identifier (integer) and length along the shot-line, and read that as a table of your data with a id number, a length along the line, and then any attributes you want to plot."
I'm assuming shots refer to seismic shots? I am working with ground penetrating radar data in common offset format, so I really just have one vertical profile that I want to assign coordinates to. If it is possible to assign vertical and horizontal coordinates to a raster and load that in ArcGIS Pro, then that would be absolutely fine I think. I just need to know how the file itself should be structured so ArcGIS can read it correctly.
Raster data doesn't plot vertical easily in Pro, and your data really is vector data (x,y points with a Z value for GPR value). I still think digitizing your xy profile line on the 2D map using ArcGIS Pro editing tools and using Linear Referencing is the best approach to get your data into 3-D.
Your GPR data could be in a table in the form, distance in map units (meters usually)
line-id, distance, GPR_value
1, 110.1, 500
1, 250.7, 1000
1, 310.8, 1247
Then you digitize your GPR line in map units, create a route and map the table to your route.
In this way, I guess I will need a different line (and table) for every depth increment? I have about 500 depth positions, so that would be a lot of vectors to read into ArcGIS...
The data is not x,y points with a Z-value for GPR value, it is x,y,z points, each with a GPR value. Could the table instead be something like:
line-id, distance, depth, GPR_value
1, 110.1, 10, 300
1, 110.1, 20, 231
1, 110.1, 30, 547
1, 250.7, 10, 340
1, 250.7, 20, 194
1, 250.7, 30, 642
1, 310.8, 10, 338
1, 310.8, 20, 217
1, 310.8, 30, 621
with 500 depths for each horizontal distance? At that point, wouldn't a table with latitude, longitude, depth, and GPR value work just as well?
Now that I understand what you want to do, you want to display true-3d Data vertically and slice it etc. In the past this was absolutely not possible with ArcGIS, you needed much more expensive (if you can believe that) higher end software.
I don't know how to do that. I would look into the new voxel data model -- this is very new (not even sure it may be still beta) but my understanding it is wired to work with multidimensional netCDF data, not asciigrid data like you are suggesting.
Maybe your best shot is to ask Esri support if no one else chimes in.
That explains why it was so hard to find a guide! Thanks for all your guidance, I'll check out the voxel data 🙂
Hello, I solved that problem of sections a little crude but it does not look bad. What I did was georeference each point. Let's say in a line of 100 meters, point 0 of longitude has a coordinate that is just the beginning of the line and point 100 the end coordinate of the line. Now if you divide the line into very small points, let's say every 0.01 meters, you will have coordinates for each geophysical value of some length, now you only have to match the length value that it has with the one closest to the one created (every 0.01 meters) and that's it. . It can be done in xel and then when you understand it you could make a program that makes it easier for you. The result of this I present in this video. I hope it helps you.