Farmer-Fix: Klima-Fallback laengengrad-bewusst + "Vernalisation" ersetzt

- defaultZoneByLatitude: bei 32-38 Grad nicht mehr pauschal "mittelmeer" (das
  gab kontinentalem Innerasien wie Westchina faelschlich Mittelmeerklima ->
  "Mediterraner Reisanbau" in Xinjiang). Jetzt nur in echten Mittelmeer-
  Laengenfenstern (Mittelmeerbecken/Kalifornien/Chile/Kap/SW-Australien),
  sonst "wueste". lon wird jetzt an die Funktion uebergeben.
- crops.json: Weizen-Fachbegriff "Vernalisation" durch "kuehle Winter, die der
  Winterweizen fuer die spaetere Kornbildung braucht" ersetzt (Thomas: gehoert
  nicht ins Lehrwerk).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-22 12:25:57 +02:00
parent b32097b617
commit 9c99359d9c
2 changed files with 13 additions and 4 deletions
+1 -1
View File
@@ -41,7 +41,7 @@
}, },
"narratives": { "narratives": {
"S1": [ "S1": [
"Klimatisch ein Glücksgriff: Sommer mild bei 1822 °C, ausreichend Niederschlag (500700 mm), kühle Winter zur Vernalisation. Die Halme stehen kniehoch, Ähren prall mit ~40 Körnern. Ertrag ~56 t/ha — europäischer Spitzenwert.", "Klimatisch ein Glücksgriff: Sommer mild bei 1822 °C, ausreichend Niederschlag (500700 mm), kühle Winter, die der Winterweizen für die spätere Kornbildung braucht. Die Halme stehen kniehoch, Ähren prall mit ~40 Körnern. Ertrag ~56 t/ha — europäischer Spitzenwert.",
"Goldgelbe Felder bis zum Horizont. Der Mähdrescher hat zu tun. Korn-Qualität top, mahlfähig zu Mehl Type 550. Volle Lieferung." "Goldgelbe Felder bis zum Horizont. Der Mähdrescher hat zu tun. Korn-Qualität top, mahlfähig zu Mehl Type 550. Volle Lieferung."
], ],
"S2": [ "S2": [
+12 -3
View File
@@ -137,12 +137,21 @@ window.FarmerEngine = (function () {
return null; return null;
} }
function defaultZoneByLatitude(lat) { function defaultZoneByLatitude(lat, lon) {
const a = Math.abs(lat); const a = Math.abs(lat);
if (a < 15) return 'tropisch_feucht'; if (a < 15) return 'tropisch_feucht';
if (a < 23) return 'tropisch_trocken'; if (a < 23) return 'tropisch_trocken';
if (a < 32) return 'subtropisch_feucht'; if (a < 32) return 'subtropisch_feucht';
if (a < 38) return 'mittelmeer'; if (a < 38) {
// Mittelmeerklima gibt es NUR an bestimmten West-/Küstenlagen — nicht im
// kontinentalen Inneren (z. B. Westchina!). Ohne passendes Klima-Polygon
// daher nur in den echten Mittelmeer-Längenfenstern „mittelmeer", sonst
// trockenes Binnenland → „wueste".
const L = (lon == null) ? 0 : lon;
const med = (lat > 0 && ((L >= -10 && L <= 42) || (L >= -123 && L <= -116))) // Mittelmeerbecken · Kalifornien
|| (lat < 0 && ((L >= -74 && L <= -70) || (L >= 17 && L <= 25) || (L >= 115 && L <= 120))); // Zentralchile · Kapregion · SW-Australien
return med ? 'mittelmeer' : 'wueste';
}
if (a < 50) return 'gemaessigt_feucht'; if (a < 50) return 'gemaessigt_feucht';
if (a < 60) return 'kontinental'; if (a < 60) return 'kontinental';
if (a < 68) return 'boreal'; if (a < 68) return 'boreal';
@@ -274,7 +283,7 @@ window.FarmerEngine = (function () {
zoneId = 'wasser'; isWater = true; zoneId = 'wasser'; isWater = true;
} else { } else {
const zone = getZoneAt(latlng); const zone = getZoneAt(latlng);
zoneId = zone ? zone.properties.id : defaultZoneByLatitude(latlng.lat); zoneId = zone ? zone.properties.id : defaultZoneByLatitude(latlng.lat, lon);
isWater = false; isWater = false;
} }
const field = { const field = {