Unexpected error when classifying a gef

I have a cone penetration test geffile which I can create a GEFData object from perfectly fine but if I want to classify this GEFData I get an unexpected error.

I think my problem is similar to a problem found in this thread however the problem that was dealt with in that thread is that an unexpected error occured when a borehole was being parsed. In the comments however somethign was said about trying to parse GEFData when there are non-numerical values in the gef which got me thinking since the gef I am trying to process has a column with unknown values which are entered as ! (non-numerical).

I have already checked my GEFData object and in here only the qc, Rf, elevation and fs are known which are all numerical.

Therefore my question is if the unexpected error can have something to do with the non-numerical values in the geffile. If yes, can someone help me find the solution. If no, what could be the cause of the unexpected error?

As an update, I have tested a few more cases and have removed all ; and ! from the file and replaced them with spaces to remove all non-numerical values. This did however not solve the problem and the same error occured.

Attached is the geffile in case someone wants to play around with it.
10.gef (59.5 KB)

Hi @Rutger, good effort on trying to figure out what’s going on! I would suspect the ! as well, so it’s good to know you already tried removing those. I’ll check out what’s going on with this gef and will get back to you once I know.

Hi @Rutger, I just tested your gef in the GeoTools application on our own demo environment and… it works. It uploads, it classifies and it visualises. A bit puzzling offcourse, “it works on my machine” is never a great thing to discover during a bughunt.

I think maybe we could use a bit more context here:

  • Where in the flow of your application does this error occur
  • In which method does it fail, perhaps you can post a snippet of the entire function
  • Which classification method are you using? If it is your own classification or maybe the tablemethod, have you check that your table covers all possible measurements?

Hi @rweigand,

That is indeed not ideal haha.

  • It fails when trying to upload the gef file
  • The error occurs in the following method.

    The read_gef_file method looks as follows
  • I am using the TableMethod to classify the gef but I have tested the tablemethod before and it works for other gefs. Next to this I have added an unknown material option in my table which should catch any outliers. Finally when testing the TableMethod I got a different error than ‘unexpected error’ back when my table did not cover all possible measurements. I have also tried to use the RobertsonMethod to check if it could be the classification method but I got the same error :confused:

When I just reclassified using our “default” table, it still works… Because your error arises at specifically the classification line it is the most logical point to start our “investigation” from. Perhaps you can try to use the following table for classification, just to see if that changes anything:

Naam Kleur Qc min Qc max Qc norm min Qc norm max Rf min Rf max
Zand, schoon, los 255,255,153 5.0 0.8
Zand, schoon, matig 255,255,102 5.0 15.0 0.8
Zand, schoon, vast 255,255,0 15.0 0.8
Zand, zwak siltig 255,204,102 0.0 0.8 1.5
Zand, sterk siltig 255,204,0 0.0 1.5 1.8
Klei, schoon, slap 0,255,0 0.75 3.0 5.0
Klei, schoon, matig 0,204,0 0.75 1.50 3.0 5.0
Klei, schoon, vast 0,204,102 1.50 3.0 5.0
Klei, zwak zandig 102,255,102 0.00 1.8 3.0
Klei, sterk zandig 102,255,51 0.00 1.8 3.0
Klei, organisch, slap 102,153,0 0.20 5.0 7.0
Klei, organisch, matig 0,153,0 0.20 5.0 7.0
Veen, niet voorbelast, slap 204,153,0 0.10 7.0
Veen, matig voorbelast, matig 153,102,51 0.10 7.0

@rweigand I have added the qualification table but the same error remains. I have also printed the ground_level and ground_water_level but they are floats as can be seen below (-1.23 and -2.23 in the output terminal). The problem cannot be caused by the ground_water_level input argument.

Hi, I am still a bit unsure about your table, I see quite a few rows where both Rf values are set and Qc min values are overlapping. Could you maybe post your complete table, preferably not as an image but as something I can copy and paste? If you don’t want to share it publicly, you can also mail it to me (rweigand@viktor.ai).

After some back and forth with test setups, it seems like the problem was indeed in the qualification table. Because even though the user is allowed to leave some cells in the table empty (e.g. have Qc_norm_min = 5 and Qc_norm_max = empty), the table that you send into the TableMethod still needs to have those keys present, with a value of None. This is what was going wrong in the QUALIFICATION_TABLE_TEST (e.g. in the first row qc_norm_min is missing). @Rutger I am curious to hear if you have managed to get it working and that was indeed the problem?