Courseplay / courseplay

Courseplay for Farming Simulator 2019
http://courseplay.github.io/courseplay
GNU General Public License v3.0
955 stars 529 forks source link

Incorrect field boundaries in Wild West 16x v1.8 map #6017

Closed uded closed 2 years ago

uded commented 4 years ago

I stumbled upon this problem:

2020-09-01

As I have explored the map in Giants Editor - it seems fine:

2020-09-01 (1) 2020-09-01 (2)

With the right size calculalated properly. I admit, it's a massive field, but still - a bit odd. I checked all I could on the map side of things and it does seem correct, really.

The log for course generation:

2020-09-01 13:35 CourseGeneratorScreen:onCreate()
2020-09-01 13:35 :47 [dbg7 lp14620] generateCourse() called for "Pole 17"
2020-09-01 13:35 :47 [dbg7 lp14620] 410: hasGeneratedCourse=false, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=0, fieldEdge.selectedField.fieldNum=17 ==> hasValidCourseGenerationData=true
2020-09-01 13:35 :49 [dbg7 lp14620] 410: Course starting location is current vehicle position at -680.5/2367.3
2020-09-01 13:35 :49 [dbg7 lp14620] ####### COURSE GENERATOR START ##########################################################
2020-09-01 13:35 :49 [dbg7 lp14620] Headland mode normal, number of passes 1, center mode up/down
2020-09-01 13:35 :49 [dbg7 lp14620] Generating headland track with offset 9.75, clockwise false, inward true
2020-09-01 13:35 :52 [dbg7 lp14620] Generated headland track #1, area 5213985, clockwise = false
2020-09-01 13:35 :52 [dbg7 lp14620] ROW ANGLE: FINDING THE OPTIMUM ANGLE
2020-09-01 13:35 :57 [dbg7 lp14620] Best angle=0, nBlocks=4, nTracks=135, smallBlockScore=0, score=175.0
2020-09-01 13:35 :57 [dbg7 lp14620] Block 1 has 74 tracks
2020-09-01 13:35 :57 [dbg7 lp14620] Generated 74 tracks for this block
2020-09-01 13:35 :57 [dbg7 lp14620] Block 2 has 8 tracks
2020-09-01 13:35 :57 [dbg7 lp14620] Generated 8 tracks for this block
2020-09-01 13:35 :57 [dbg7 lp14620] Block 3 has 8 tracks
2020-09-01 13:35 :57 [dbg7 lp14620] Generated 8 tracks for this block
2020-09-01 13:35 :57 [dbg7 lp14620] Block 4 has 53 tracks
2020-09-01 13:35 :57 [dbg7 lp14620] Generated 53 tracks for this block
2020-09-01 13:35 :58 [dbg7 lp14620] generation 2 2(1)-1(2)-4(3)-3(4)- f = 1.4, d = 7312.0 m
2020-09-01 13:35 :59 [dbg7 lp14620] generation 3 2(3)-3(1)-4(4)-1(3)- f = 1.7, d = 5833.7 m
2020-09-01 13:36 :00 [dbg7 lp14620] generation 4 2(3)-3(1)-4(4)-1(3)- f = 1.7, d = 5833.7 m
2020-09-01 13:36 :00 [dbg7 lp14620] generation 5 1(4)-2(3)-3(1)-4(1)- f = 1.8, d = 5663.8 m
2020-09-01 13:36 :01 [dbg7 lp14620] generation 6 1(4)-2(3)-3(1)-4(1)- f = 1.8, d = 5663.8 m
2020-09-01 13:36 :02 [dbg7 lp14620] generation 7 2(2)-4(1)-3(3)-1(3)- f = 2.0, d = 5036.4 m
2020-09-01 13:36 :02 [dbg7 lp14620] generation 8 2(2)-4(1)-3(3)-1(3)- f = 2.0, d = 5036.4 m
2020-09-01 13:36 :03 [dbg7 lp14620] generation 9 2(2)-4(1)-3(3)-1(3)- f = 2.0, d = 5036.4 m
2020-09-01 13:36 :03 [dbg7 lp14620] generation 10 2(2)-4(1)-3(3)-1(3)- f = 2.0, d = 5036.4 m
2020-09-01 13:36 :04 [dbg7 lp14620] generation 11 2(2)-4(1)-3(3)-1(3)- f = 2.0, d = 5036.4 m
2020-09-01 13:36 :05 [dbg7 lp14620] generation 12 2(2)-4(1)-3(3)-1(3)- f = 2.0, d = 5036.4 m
2020-09-01 13:36 :05 [dbg7 lp14620] generation 13 2(2)-3(1)-4(1)-1(3)- f = 2.0, d = 5031.6 m
2020-09-01 13:36 :06 [dbg7 lp14620] generation 14 2(2)-3(1)-4(1)-1(3)- f = 2.0, d = 5031.6 m
2020-09-01 13:36 :07 [dbg7 lp14620] generation 15 2(2)-3(1)-4(1)-1(3)- f = 2.0, d = 5031.6 m
2020-09-01 13:36 :07 [dbg7 lp14620] generation 16 2(2)-3(1)-4(1)-1(3)- f = 2.0, d = 5031.6 m
2020-09-01 13:36 :08 [dbg7 lp14620] generation 17 2(2)-3(1)-4(1)-1(3)- f = 2.0, d = 5031.6 m
2020-09-01 13:36 :08 [dbg7 lp14620] generation 18 2(2)-3(1)-4(1)-1(3)- f = 2.0, d = 5031.6 m
2020-09-01 13:36 :09 [dbg7 lp14620] generation 19 2(3)-4(1)-3(3)-1(3)- f = 2.1, d = 4763.0 m
2020-09-01 13:36 :10 [dbg7 lp14620] generation 20 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :10 [dbg7 lp14620] generation 21 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :11 [dbg7 lp14620] generation 22 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :12 [dbg7 lp14620] generation 23 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :12 [dbg7 lp14620] generation 24 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :13 [dbg7 lp14620] generation 25 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :13 [dbg7 lp14620] generation 26 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :14 [dbg7 lp14620] generation 27 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :15 [dbg7 lp14620] generation 28 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :15 [dbg7 lp14620] generation 29 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :16 [dbg7 lp14620] generation 30 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :16 [dbg7 lp14620] generation 31 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :17 [dbg7 lp14620] generation 32 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :18 [dbg7 lp14620] generation 33 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :18 [dbg7 lp14620] generation 34 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :19 [dbg7 lp14620] generation 35 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :20 [dbg7 lp14620] generation 36 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :20 [dbg7 lp14620] generation 37 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :21 [dbg7 lp14620] generation 38 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :22 [dbg7 lp14620] generation 39 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :22 [dbg7 lp14620] generation 40 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :22 [dbg7 lp14620] 2(3)-3(1)-4(1)-1(3)- f = 2.1, d = 4758.1 m
2020-09-01 13:36 :22 [dbg7 lp14620] Connecting track to block 1 has 134 points
2020-09-01 13:36 :22 [dbg7 lp14620] 1. block 2, entry corner 3, direction to next = -1, on the bottom = false, on the left = false
2020-09-01 13:36 :22 [dbg7 lp14620] Connecting track to block 2 has 214 points
2020-09-01 13:36 :22 [dbg7 lp14620] 2. block 3, entry corner 1, direction to next = -1, on the bottom = true, on the left = true
2020-09-01 13:36 :22 [dbg7 lp14620] Connecting track to block 3 has 0 points
2020-09-01 13:36 :22 [dbg7 lp14620] 3. block 4, entry corner 1, direction to next = -1, on the bottom = true, on the left = true
2020-09-01 13:36 :22 [dbg7 lp14620] Connecting track to block 4 has 264 points
2020-09-01 13:36 :22 [dbg7 lp14620] 4. block 1, entry corner 3, direction to next = 0, on the bottom = false, on the left = false
2020-09-01 13:36 :23 [dbg7 lp14620] ####### COURSE GENERATOR END ###########################################################
2020-09-01 13:36 :23 [dbg7 lp14620] Course with 55507 waypoints generated.
2020-09-01 13:36 Warning: Performing emergency garbage collection pass - memory went from 433167 KB to 906745 KB in less than one frame
2020-09-01 13:36 Usage is now 461478 KB; full GC took 707.375500ms 
2020-09-01 13:36 :24 [dbg7 lp14620] 410: hasGeneratedCourse=true, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=1, fieldEdge.selectedField.fieldNum=0 ==> hasValidCourseGenerationData=false
2020-09-01 13:38 CourseGeneratorScreen:onCreate()
2020-09-01 13:38 :11 [dbg7 lp17990] generateCourse() called for "Pole 17"
2020-09-01 13:38 :11 [dbg7 lp17990] 410: hasGeneratedCourse=false, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=0, fieldEdge.selectedField.fieldNum=17 ==> hasValidCourseGenerationData=true
2020-09-01 13:38 :13 [dbg7 lp17990] 410: Course starting location is current vehicle position at -680.4/2366.8
2020-09-01 13:38 :13 [dbg7 lp17990] ####### COURSE GENERATOR START ##########################################################
2020-09-01 13:38 :13 [dbg7 lp17990] Headland mode normal, number of passes 1, center mode up/down
2020-09-01 13:38 :13 [dbg7 lp17990] Generating headland track with offset 19.50, clockwise false, inward true
2020-09-01 13:38 :19 [dbg7 lp17990] Generated headland track #1, area 5095829, clockwise = false
2020-09-01 13:38 :19 [dbg7 lp17990] ROW ANGLE: FINDING THE OPTIMUM ANGLE
2020-09-01 13:38 :22 [dbg7 lp17990] Best angle=90, nBlocks=1, nTracks=94, smallBlockScore=0, score=107.0
2020-09-01 13:38 :22 [dbg7 lp17990] Block 1 has 94 tracks
2020-09-01 13:38 :22 [dbg7 lp17990] Generated 94 tracks for this block
2020-09-01 13:38 :23 [dbg7 lp17990] generation 2 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 3 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 4 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 5 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 6 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 7 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 8 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 9 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] generation 10 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] 1(2)- f = 6.1, d = 1642.4 m
2020-09-01 13:38 :23 [dbg7 lp17990] Connecting track to block 1 has 0 points
2020-09-01 13:38 :23 [dbg7 lp17990] 1. block 1, entry corner 2, direction to next = -1, on the bottom = true, on the left = false
2020-09-01 13:38 :23 [dbg7 lp17990] ####### COURSE GENERATOR END ###########################################################
2020-09-01 13:38 :23 [dbg7 lp17990] Course with 27424 waypoints generated.
2020-09-01 13:38 :24 [dbg7 lp17990] 410: hasGeneratedCourse=true, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=1, fieldEdge.selectedField.fieldNum=0 ==> hasValidCourseGenerationData=false
2020-09-01 13:40 :56 [dbg7 lp25078] 410: hasGeneratedCourse=false, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=0, fieldEdge.selectedField.fieldNum=17 ==> hasValidCourseGenerationData=true
2020-09-01 13:42 CourseGeneratorScreen:onCreate()
2020-09-01 13:42 :01 [dbg7 lp27344] 8400 R: hasGeneratedCourse=false, hasEnoughWaypoints=false, hasStartingCorner=true, hasStartingDirection=true, numCourses=1, fieldEdge.selectedField.fieldNum=0 ==> hasValidCourseGenerationData=false
2020-09-01 13:42 :01 [dbg7 lp27344] 8400 R: hasGeneratedCourse=false, hasEnoughWaypoints=false, hasStartingCorner=true, hasStartingDirection=true, numCourses=1, fieldEdge.selectedField.fieldNum=0 ==> hasValidCourseGenerationData=false

I have no clue, whatsoever, which part I should try to debug next - CP or the map. I was suspecting the map, but really - can't find anything wrong there, at least at the first glance. Any suggestions, please?

seeske123 commented 4 years ago

This is the map. If you close the field from the grey part to the right then the field is correct. I had the same. Now it is working perfect CP and AD.

seeske123 commented 4 years ago

From the lower right hand corner. Sorry I forgot.

uded commented 4 years ago

I think the problem might be with the map, but I cannot put my finger on it. It seesm correct in the Giants editor, but I still get that odd shape with CP. I would appreciate any suggestions on how to debug that in the editor and/or with CP!

Also, @seeske123 - I can't generate a proper path no matter which corner I will start with. I tried all possible locations as a starting point and I got nothing different to what I showed above. If it is a map thing,

I am really curious how it can be like this. The shape and field data in the Giants editor are absoluetly correct (as pictured above as well), and when I made corrections to the field area shapes CP hasn't changed how it is processing it. On the other hand it is a huge field, 2000+ acres...

uded commented 3 years ago

Anyone willing to help? I've contacted the map maker, but not much help from there yet. I have no clue how to further check (and, possibly, fix) this issue. It's kinda annoying not being able to use CP on a 818 ha field. I am willing to dig in, but any help would be appreciated...

Today, by driving very slowly while constantly asking CP to show me the boundaries of the current field I have managed to move that area a bit further. How? I have no clue. If I am in the very specific location on the map (5085, 8075) I can get CP to generate this:

2020-09-23

Below is the log file of that operation:

2020-09-23 17:49 CourseGeneratorScreen:onCreate()
2020-09-23 17:49 :34 [dbg7 lp37177] generateCourse() called for "Pole 17 (użytkownik)"
2020-09-23 17:49 :34 [dbg7 lp37177] 9205: hasGeneratedCourse=false, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=0, fieldEdge.selectedField.fieldNum=17 ==> hasValidCourseGenerationData=true
2020-09-23 17:49 :34 [dbg7 lp37177] 9205: Course starting location is corner 10
2020-09-23 17:49 :34 [dbg7 lp37177] ####### COURSE GENERATOR START ##########################################################
2020-09-23 17:49 :34 [dbg7 lp37177] Headland mode none, number of passes 0, center mode up/down
2020-09-23 17:49 :34 [dbg7 lp37177] Generating headland track with offset 0.00, clockwise true, inward true
2020-09-23 17:49 :35 [dbg7 lp37177] ROW ANGLE: FINDING THE OPTIMUM ANGLE
2020-09-23 17:49 :39 [dbg7 lp37177] Best angle=180, nBlocks=1, nTracks=103, smallBlockScore=0, score=116.0
2020-09-23 17:49 :39 [dbg7 lp37177] Block 1 has 103 tracks
2020-09-23 17:49 :39 [dbg7 lp37177] Generated 103 tracks for this block
2020-09-23 17:49 :39 [dbg7 lp37177] generation 2 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 3 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 4 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 5 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 6 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 7 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 8 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :39 [dbg7 lp37177] generation 9 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :40 [dbg7 lp37177] generation 10 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :40 [dbg7 lp37177] 1(4)- f = 1000.0, d = 10.0 m
2020-09-23 17:49 :40 [dbg7 lp37177] Connecting track to block 1 has 0 points
2020-09-23 17:49 :40 [dbg7 lp37177] 1. block 1, entry corner 4, direction to next = 1, on the bottom = false, on the left = true
2020-09-23 17:49 :40 [dbg7 lp37177] ####### COURSE GENERATOR END ###########################################################
2020-09-23 17:49 :40 [dbg7 lp37177] Course with 42622 waypoints generated.
2020-09-23 17:49 Warning: Performing emergency garbage collection pass - memory went from 369294 KB to 738926 KB in less than one frame
2020-09-23 17:49 Usage is now 418161 KB; full GC took 614.310100ms 
2020-09-23 17:49 :41 [dbg7 lp37177] 9205: hasGeneratedCourse=true, hasEnoughWaypoints=true, hasStartingCorner=true, hasStartingDirection=true, numCourses=1, fieldEdge.selectedField.fieldNum=0 ==> hasValidCourseGenerationData=false

Unfortunately, if I move to the position 5084 by 8075 suddenly the field is no longer recognizable. I do not understand how. I checked, yet again, the source of the map model and it seems correct. Any further advise will be highly appreciated...

leogolf commented 3 years ago

CP kann nicht mehr als 50.000 Punkte berechnen. Teile Feld 17 in 2 besser 3 Teile, 17a, 17b und 17c mit Feldrand-Berechnung; dann klappt alles.

leogolf commented 3 years ago

CP kann nicht mehr als 50.000 Punkte erhöhen. Teile Feld 17 in 2 besser 3 Teile, 17a, 17b und 17c mit FeldrandBerechnung; dann klappt alles.

uded commented 3 years ago

OK, so 50.000 is the hard limit. Why was it introduced - is it a FS19 mod system limitation? Seems strange, trying to understand here.

As for field 17 in that map a lot of people suggested me to cut off a small section of the South-East corner of that one. It seems strange, because then either the size of the field will be reduced by a specific, crucial factor to go below 50k points, or there is something else in play here.

Also, why I can't calculate the field size from the West side of the field? Or even mark it in the course generator when I click there? It all seems strange and I do have a feeling that there mus be something more rathern than just this hard 50k limit. Still investigating...

uded commented 3 years ago

~@Tensuko, I do not believe this one is closed.~ (explained below) I do understand the limitations of the CP and complexity of the map, but a couple of questions I still cannot answer:

  1. Why I can't even pick the field 17 in the course generator if I am trying to do so by clicking on the West side of it?
  2. Why I can't even mark the boundaries of the field - at all. And if I am lucky enough - the field is not "closed"?

If the field is too big and the calculation exceeds the current limit there should be a dialog informing the farmer about it. Right now IMHO it's confusing, unclear, and still open for debugging/troubleshooting...


Please, take a look at the video below:

And, please, do follow the cursor on the screen - it will show where the field is active in relation to the generator. Also, as one can observe, the generated course is 16639 points long - clearly way below the limit listed above. For my untrained eye, I would expect it covers approximately 60% of the field...

The log reflects, more or less, the previous one.

Tensuko commented 3 years ago

Well, I don't know what you think is closed, but this Issue here is still open....

Or I missunderstand you...

Anyway I know a similar Issue on another map and hat not the chanze yet to check this map.

uded commented 3 years ago

@Tensuko - apologies - I have received an email that the issue was closed based on the latest release, namely: https://github.com/Courseplay/courseplay/releases/tag/6.02.00065

Convoy/OppositeTurn/MapHotspot Settings (#6149) closes #5787, closes #6039, closes 6107

It was 6107, not 6017. And then I saw you referencing #5207 here with the "Closed" tag. And since I spent so much time debugging CP and the map I was really surprised!

My sincere apologies for the misunderstanding!

Tensuko commented 3 years ago

No Problem, it was just that there was a very old Issue for the same Problem that I sorted out. Btw, where is the official source for this map in the newest Version ?

uded commented 3 years ago

Here it is:

seeske123 commented 3 years ago

CP can handle more as 50.000. On field 17 I have course with 53096 points and it works perfect.But I have to say that I made the field smaller. See my post at the beginning.

uded commented 3 years ago

I tried the same and making the field smaller worked. And I had >50k waypoints on another map, that's why I was so surprised to read that above.

pvaiko commented 3 years ago

@uded I'm sorry I missed this what is the current status here?