Forum connection issue and exporting magnetic survey

Options
RhondaStewart2
RhondaStewart2 Posts: 1 Staff
edited February 2023 in GeoStudio
1) When I go to the forum (after successfully signing in with my Seequent ID), the only thing I see is this message: geosoft.vanillacommunity.com refused to connect. Perhaps this is just a temporary issue related to current world issues?


2) I'm trying to export a magnetic survey from Geometrics into a GDB file. It's about 4.5MM measurements. Some way in, the process fails with this message:
"Process is terminated due to StackOverflowException. An unhandled exception of type 'System.StackOverflowException' occurred in geoengine.core.gxnet.dll"
Another message indicates an out-of-memory error in the GX code.

The out-of-memory is happening somewhere in the GX code; I have other exports that run the same Geometrics code, except with a different plug-in to write to a different format (instead of GDB). I know that Montaj can handle much larger datasets than 4.5MM, so I'm sure that I need to change my use of the API.

So far, I've just been allocating big CVVs, filling them with data, and at the end saving them to the CDB. I do no explicit management of FIDs. Some of the CVVs are sparse - e.g. 1 GPS/1000 mag records. But up to a couple million records this has been no problem. I figured that I might run into this issue eventually.

What I need to understand now is how to write a larger database, with some columns completely filled and others not. It seems to me that I need to understand a few particular issues:
1) How to write data in blocks rather than by filling a giant array for the full survey. CDBWrite seems like a useful class, but I don't find any examples. Or maybe I can write to CVVs and commit them in blocks, clear them, fill again, etc., rather than commit only at the end of 4.5MM blocks.
2) I need to understand fiducials better to handle sparse columns. As far as I can tell if I write record 0 into a CVV and then record 1000, the CVV gets expanded to hold all the records in between. It seems as if the CVV.SetFid* methods could be useful, but the API docs aren't very helpful.

Is there a page somewhere that explains fiducials and how to manipulate them?
Is there an example program for writing larger files? Is there for example sample code derived from your own ASCII import utilities?

Bob Cram
Geometrics

Comments

  • RobertCram
    RobertCram Posts: 15 Calcite Rank Badge
    Thank you for the information. The export is a C# program, and I used the pagesize argument to CDB.CreateEx to increase the max channel size. I will also look into breaking the channels into lines.

    -- Bob Cram
    Geometrics