{"id":13428,"date":"2026-11-05T01:08:01","date_gmt":"2026-11-05T01:08:01","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=13428"},"modified":"2026-11-12T04:43:15","modified_gmt":"2026-11-12T04:43:15","slug":"rasenkalk-rechner","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/de\/rasenkalk-rechner\/","title":{"rendered":"Rasenkalk-Rechner"},"content":{"rendered":"\n<style>#lawn-tool{max-width:960px;margin:24px auto;color:#243746}#lawn-tool *{box-sizing:border-box}#lawn-tool .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}#lawn-tool label{display:block;font-weight:600}#lawn-tool input,#lawn-tool textarea{display:block;width:100%;padding:12px;border:1px solid #9aacb5;border-radius:8px;margin-top:6px;font:inherit}#lawn-tool button{padding:12px 20px;margin:18px 10px 10px 0;border:2px solid #1ecad3;border-radius:8px;background:#1ecad3;color:#1a202c;cursor:pointer;font:inherit}#lawn-tool button[type=reset],#lawn-tool #copy-area{background:white}#lawn-tool button:focus-visible,#lawn-tool input:focus-visible,#lawn-tool textarea:focus-visible{outline:3px solid #9486f7;outline-offset:3px;color:#1a202c}#lawn-tool button:active{color:#1a202c}#lawn-tool .result{background:#edf7f8;border-left:4px solid #1ecad3;padding:18px;margin:16px 0;overflow-wrap:anywhere}#lawn-tool svg{width:100%;height:300px;border:1px solid #b8cbd2}#lawn-tool a{color:#08778b}<\/style><div id=\"lawn-tool\" lang=\"de\"><p>Rechnen Sie eine Kalkempfehlung aus der Bodenanalyse mit vergleichbaren Neutralisationswerten in eine Produktmenge um.<\/p><form data-mode=\"lime\"><div class=\"fields\"><label>Rasenfl\u00e4che (m\u00b2)<input name=\"area\" type=\"number\" min=\"0\" step=\"any\" required value=\"100\"><\/label><label>Empfohlene Menge laut Bodenanalyse (kg pro 100 m\u00b2)<input name=\"lab\" type=\"number\" min=\"0\" step=\"any\" required value=\"\"><\/label><label>Neutralisationswert der Referenz aus der Bodenanalyse (%)<input name=\"reference\" type=\"number\" min=\"0\" step=\"any\" required value=\"100\"><\/label><label>Neutralisationswert Ihres Produkts auf derselben Basis (%)<input name=\"product\" type=\"number\" min=\"0\" step=\"any\" required value=\"90\"><\/label><label>Ihre Sackgr\u00f6\u00dfe (kg)<input name=\"bag\" type=\"number\" min=\"0\" step=\"any\" required value=\"20\"><\/label><label>H\u00f6chstmenge laut Etikett oder Labor je Anwendung (kg pro 100 m\u00b2; 0 ohne Aufteilung)<input name=\"cap\" type=\"number\" min=\"0\" step=\"any\" required value=\"0\"><\/label><\/div><button type=\"submit\">Berechnen<\/button><button type=\"reset\">Zur\u00fccksetzen<\/button><\/form><div class=\"result\" role=\"status\" aria-live=\"polite\">Geben Sie Ihre Messwerte ein und starten Sie die Berechnung.<\/div><h2>So funktioniert der Rechner<\/h2><p>Verwenden Sie eine aktuelle Bodenanalyse; aus der pH-Differenz allein l\u00e4sst sich keine Kalkmenge ableiten. Produktmenge = Laborempfehlung \u00d7 Referenzwert \u00f7 Produktwert. Beide Prozentwerte m\u00fcssen dieselbe Basis haben: ECCE mit ECCE oder CCE mit CCE vergleichen. Pr\u00fcfen Sie, ob die Empfehlung bereits auf Ihr Produkt abgestimmt ist. CCE allein beschreibt weder Feinheit noch Wirkungsgeschwindigkeit. Bei ENP in Pfund pro Tonne oder unklarer Basis muss das Labor die vergleichbaren Prozentwerte best\u00e4tigen. S\u00e4cke werden nur f\u00fcr den Einkauf aufgerundet; wenden Sie die berechnete Masse an. Mit der H\u00f6chstmenge aus Etikett oder Labor werden gleichm\u00e4\u00dfige Teilgaben gesch\u00e4tzt. Beachten Sie deren Abst\u00e4nde und Einarbeitungshinweise; der Rechner erfindet kein Intervall. 1 lb pro 1.000 sq ft entspricht etwa 0,48824 kg pro 100 m\u00b2.<\/p><h2>Einheiten und Eingaben<\/h2><p>Ersetzen Sie die Beispielwerte durch Messwerte. 1 ft = 0,3048 m; 1 sq ft = 0,09290304 m\u00b2; 1 Zoll = 25,4 mm; 1 US-Gallone = 3,785411784 Liter. Verwenden Sie f\u00fcr alle Preise dieselbe W\u00e4hrung. Bei einem Preis von null wird kein optionales Budget angezeigt.<\/p><h2>Passende Rasenratgeber<\/h2><ul><li><a href=\"https:\/\/aiper.com\/blogs\/de\/braucht-ihr-rasen-kalk-ph-wert\/\">Braucht Ihr Rasen Kalk? So erkennen Sie es (und was der pH-Wert damit zu tun hat)<\/a><\/li><li><a href=\"https:\/\/aiper.com\/blogs\/de\/sauren-boden-neutralisieren\/\">Sauren Boden neutralisieren: Kalkmenge und richtiger Zeitpunkt<\/a><\/li><\/ul><h2>Weitere Rasenrechner<\/h2><p><a href=\"https:\/\/aiper.com\/blogs\/de\/rollrasen-rechner\/\">rollrasen-rechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/rasenflaeche-rechner\/\">rasenfl\u00e4chen-rechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/rasenbewaesserung-laufzeit-rechner\/\">rasenbew\u00e4sserungs- und laufzeitrechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/bewaesserungszonen-rechner\/\">bew\u00e4sserungszonen-rechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/rasenmaehen-kostenrechner\/\">kostenrechner f\u00fcrs rasenm\u00e4hen<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/rasenmaehen-zeitrechner\/\">zeitrechner f\u00fcrs rasenm\u00e4hen<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/tropfbewaesserung-rechner\/\">tropfbew\u00e4sserungs-rechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/rasensamen-rechner\/\">Grassamen-Rechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/rasenduenger-rechner\/\">Rasend\u00fcnger-Rechner<\/a> \u00b7 <a href=\"https:\/\/aiper.com\/blogs\/de\/werkzeuge\/\">Werkzeuge<\/a><\/p><p><a href=\"https:\/\/content.ces.ncsu.edu\/soil-acidity-and-liming-basic-information-for-farmers-and-gardeners\">Fachliche Quelle<\/a><\/p><p>1 lb = 0.45359237 kg; 1 mph = 1.609344 km\/h; 1 in = 2.54 cm.<\/p><\/div><script>\/* SI units internally; no external services or weather assumptions. *\/\nfunction calculateLawn(mode,v){\n const n=k=>{if(v[k]===undefined||String(v[k]).trim()==='')throw Error(\"Geben Sie alle erforderlichen Messwerte ein.\");let x=Number(v[k]);if(!Number.isFinite(x)||x<0)throw Error(\"Verwenden Sie endliche, nicht negative Messwerte.\");return x;};\n const p=k=>{let x=n(k);if(x<=0)throw Error(\"Dieser Messwert muss gr\u00f6\u00dfer als null sein.\");return x;};\n const percent=k=>{let x=n(k);if(x>=100)throw Error(\"Der Prozentsatz muss unter 100 liegen.\");return x\/100;};\n let o;\n if(mode==='sod'){\n  let a=p('area'),w=n('waste');if(w>100)throw Error(\"Der Verschnitt muss zwischen 0 und 100 % liegen.\");\n  let q=a*(1+w\/100);o={required:q,pieces:Math.ceil(q\/p('piece')-1e-10),pallets:Math.ceil(q\/p('pallet')-1e-10)};\n  if(n('price')>0)o.budget=q*n('price');\n }else if(mode==='watering'){\n  let depth=Math.max(0,n('target')-n('rain')),minutes=depth\/p('rate')*60,water=p('area')*depth;\n  o={depth,minutes,litres:water};if(n('price')>0)o.budget=water\/1000*n('price');\n }else if(mode==='zone'){\n  let heads=p('heads');if(!Number.isInteger(heads))throw Error(\"Die Regnerzahl muss ganzzahlig sein.\");\n  let capacity=Math.floor(p('flow')*(1-percent('reserve'))\/p('nozzle'));\n  if(p('pressure')<p('required'))throw Error(\"Der Betriebsdruck liegt unter der D\u00fcsenanforderung.\");\n  if(capacity<1)throw Error(\"Der Durchfluss reicht mit dieser Reserve nicht f\u00fcr eine D\u00fcse.\");\n  o={capacity,zones:Math.ceil(heads\/capacity)};\n }else if(mode==='area'){\n  let polygons=JSON.parse(v.polygons);if(!Array.isArray(polygons)||!polygons.length)throw Error(\"Geben Sie gemessene Polygone ein.\");\n  let total=0;\n  for(let poly of polygons){\n   let pts=poly.points;if(!Array.isArray(pts)||pts.length<3)throw Error(\"Jedes Polygon ben\u00f6tigt mindestens drei Eckpunkte.\");\n   for(let pt of pts)if(!Array.isArray(pt)||pt.length!==2||!pt.every(x=>typeof x==='number'&&Number.isFinite(x)))throw Error(\"Jeder Eckpunkt ben\u00f6tigt zwei endliche Koordinaten.\");\n   \/\/ Reject crossings, touching edges, repeated vertices and degenerate edges.\n   let cross=(a,b,c)=>(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0]);\n   let on=(a,b,c)=>Math.abs(cross(a,b,c))<1e-9&&c[0]>=Math.min(a[0],b[0])-1e-9&&c[0]<=Math.max(a[0],b[0])+1e-9&&c[1]>=Math.min(a[1],b[1])-1e-9&&c[1]<=Math.max(a[1],b[1])+1e-9;\n   for(let i=0;i<pts.length;i++)for(let j=i+1;j<pts.length;j++){\n    if(pts[i][0]===pts[j][0]&&pts[i][1]===pts[j][1])throw Error(\"Wiederholen Sie keine Eckpunkte.\");\n    if(j===i+1||i===0&&j===pts.length-1)continue;\n    let a=pts[i],b=pts[(i+1)%pts.length],c=pts[j],d=pts[(j+1)%pts.length];\n    if(cross(a,b,c)*cross(a,b,d)<0&&cross(c,d,a)*cross(c,d,b)<0||on(a,b,c)||on(a,b,d)||on(c,d,a)||on(c,d,b))throw Error(\"Polygonkanten d\u00fcrfen sich nicht kreuzen oder ber\u00fchren.\");\n   }\n   let a=Math.abs(pts.reduce((s,p,i)=>s+p[0]*pts[(i+1)%pts.length][1]-pts[(i+1)%pts.length][0]*p[1],0))\/2;\n   if(a<=0)throw Error(\"Die Polygonfl\u00e4che muss positiv sein.\");\n   if(poly.exclude!==undefined&&typeof poly.exclude!=='boolean')throw Error(\"Die Aussparung muss wahr oder falsch sein.\");\n   total+=poly.exclude?-a:a;\n  }\n  if(total<=0)throw Error(\"Die Nettofl\u00e4che muss positiv sein.\");o={area:total,sqft:total\/0.09290304};\n }else if(mode==='mowing-cost'){\n  let area=p('area'),frequency=p('frequency'),weeks=p('weeks');\n  if(frequency>7||weeks>52.1775)throw Error(\"Verwenden Sie h\u00f6chstens 7 Besuche pro Woche und 52,1775 Wochen pro Jahr.\");\n  let obstacle=n('obstacle');if(obstacle>100)throw Error(\"Der Zuschlag muss zwischen 0 und 100 % liegen.\");\n  let visit=Math.max(n('minimum'),n('base')+area\/100*n('rate')+n('edging'))*(1+obstacle\/100),visits=Math.ceil(frequency*weeks-1e-10);\n  o={visits};if(visit>0)Object.assign(o,{visit,month:visit*frequency*52.1775\/12,season:visit*visits});\n }else if(mode==='mowing-time'){\n  let area=p('area'),width=p('width')\/100,speed=p('speed')*1000,overlap=percent('overlap'),eff=p('efficiency')\/100;\n  if(eff>1)throw Error(\"Die Effizienz darf h\u00f6chstens 100 % betragen.\");\n  let productivity=width*(1-overlap)*speed*eff,minutes=area\/productivity*60;\n  o={effective:width*(1-overlap)*100,productivity,minutes,total:minutes+n('extra')};\n }else if(mode==='lime'){\n  let area=p('area'),rate=n('lab'),reference=p('reference'),product=p('product');\n  if(reference>200||product>200)throw Error(\"Neutralisationswerte m\u00fcssen Prozentwerte bis h\u00f6chstens 200 sein.\");\n  let adjusted=rate*reference\/product,total=area\/100*adjusted;\n  o={adjusted,total,bags:Math.ceil(total\/p('bag')-1e-10)};\n  let cap=n('cap');if(cap>0){let passes=Math.max(1,Math.ceil(adjusted\/cap-1e-10));o.passes=total>0?passes:0;o.perpass=total>0?total\/passes:0;}\n }else if(mode==='drip'){\n  let length=p('length'),spacing=p('spacing'),lines=p('lines');\n  if(!Number.isInteger(lines))throw Error(\"Die Leitungszahl muss ganzzahlig sein.\");\n  \/\/ Assumes the first emitter is one spacing from the inlet, not at x=0.\n  let emitters=Math.floor(length\/spacing+1e-10);if(emitters<1)throw Error(\"Jede Leitung muss mindestens einen Tropfer enthalten.\");\n  let flow=emitters*p('emitter'),capacity=p('supply')*60*(1-percent('reserve')),linesPerZone=Math.floor(capacity\/flow);\n  if(linesPerZone<1)throw Error(\"Der Durchfluss reicht nicht f\u00fcr eine vollst\u00e4ndige Tropfleitung.\");\n  let minutes=n('litres')\/p('emitter')*60,zones=Math.ceil(lines\/linesPerZone);\n  o={emitters,totalemitters:emitters*lines,flow:flow*lines\/60,linesperzone:linesPerZone,zones,minutes,totalminutes:minutes*zones,water:emitters*lines*n('litres')};\n }else throw Error(\"Unbekannter Rechner.\");\n if(Object.values(o).some(x=>!Number.isFinite(x)))throw Error(\"Die Messwerte \u00fcberschreiten den unterst\u00fctzten Bereich.\");\n return o;\n}\nif(typeof module!=='undefined')module.exports=calculateLawn;\n\n(()=>{const root=document.getElementById('lawn-tool'),form=root.querySelector('form'),result=root.querySelector('.result'),labels={\"adjusted\": \"Angepasste Produktmenge (kg pro 100 m\u00b2)\", \"total\": \"Gesamter Produktbedarf (kg)\", \"bags\": \"Ganze S\u00e4cke\", \"passes\": \"Mindestzahl der Anwendungen nach Ihrer H\u00f6chstmenge\", \"perpass\": \"Produkt pro gleichm\u00e4\u00dfiger Anwendung auf der Gesamtfl\u00e4che (kg)\"};let last=null;\nfunction polygons(text){return text.trim().split(\/\\n\\s*\\n\/).map(block=>{let rows=block.trim().split(\/\\n\/),exclude=\/^[-\u2013\u2014]$\/.test(rows[0].trim());if(exclude)rows.shift();return {exclude,points:rows.map(row=>{let parts=row.trim().split(\/\\s*,\\s*\/);if(parts.length!==2||parts.some(p=>!p.trim()))throw Error(\"Verwenden Sie pro Zeile eine x,y-Koordinate.\");return parts.map(Number);})};});}\nform.addEventListener('submit',e=>{e.preventDefault();last=null;try{let v=Object.fromEntries(new FormData(form));let polys;if(form.dataset.mode==='area'){polys=polygons(v.coordinates);v.polygons=JSON.stringify(polys);}let out=calculateLawn(form.dataset.mode,v);result.replaceChildren();for(let [key,value]of Object.entries(out)){let p=document.createElement('p');p.textContent=labels[key]+': '+value.toLocaleString(\"de\",{maximumFractionDigits:3});result.append(p);}if(polys){let svg=root.querySelector('#area-diagram'),all=polys.flatMap(p=>p.points),xs=all.map(p=>p[0]),ys=all.map(p=>p[1]),minx=Math.min(...xs),miny=Math.min(...ys),w=Math.max(...xs)-minx,h=Math.max(...ys)-miny;svg.replaceChildren();svg.setAttribute('viewBox',[minx-1,miny-1,w+2,h+2].join(' '));for(let poly of polys){let shape=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','polygon');shape.setAttribute('points',poly.points.map(p=>p.join(',')).join(' '));shape.setAttribute('fill',poly.exclude?'#fff':'#b4e8c1');shape.setAttribute('stroke','#147e91');shape.setAttribute('stroke-width',Math.max(w,h)\/200);svg.append(shape);}last=out.area;root.querySelector('#copy-area').disabled=false;}}\ncatch(err){result.textContent=err.message;if(root.querySelector('#copy-area'))root.querySelector('#copy-area').disabled=true;}});\nform.addEventListener('reset',()=>{last=null;result.textContent=\"Geben Sie Ihre Messwerte ein und starten Sie die Berechnung.\";let svg=root.querySelector('#area-diagram');if(svg)svg.replaceChildren();let b=root.querySelector('#copy-area');if(b)b.disabled=true;});\nlet copy=root.querySelector('#copy-area');if(copy)copy.addEventListener('click',async()=>{if(last===null)return;try{await navigator.clipboard.writeText(String(last));result.append(document.createTextNode(\" Fl\u00e4che in m\u00b2 kopiert.\"));}catch(e){result.append(document.createTextNode(\" Fl\u00e4che manuell kopieren: \"+last+' m\u00b2.'));}});\n})();\n(()=>{let r=document.getElementById('lawn-tool');r.querySelector('form').addEventListener('input',()=>{r.querySelector('.result').textContent=\"Geben Sie Ihre Messwerte ein und starten Sie die Berechnung.\";let b=r.querySelector('#copy-area');if(b)b.disabled=true;let s=r.querySelector('#area-diagram');if(s)s.replaceChildren();});})();<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Rechnen Sie eine Kalkempfehlung aus der Bodenanalyse mit vergleichbaren Neutralisationswerten in eine Produktmenge um. Rasenfl\u00e4che (m\u00b2)Empfohlene Menge laut Bodenanalyse (kg pro 100 m\u00b2)Neutralisationswert der Referenz aus der Bodenanalyse (%)Neutralisationswert Ihres Produkts auf derselben Basis (%)Ihre Sackgr\u00f6\u00dfe (kg)H\u00f6chstmenge laut Etikett oder Labor je Anwendung (kg pro 100 m\u00b2; 0 ohne Aufteilung) BerechnenZur\u00fccksetzen Geben Sie Ihre Messwerte [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"aiper_reading_time":2,"aiper_last_reviewed":"","aiper_reviewer":0,"aiper_related_ids":[],"aiper_layout":"","footnotes":""},"class_list":["post-13428","page","type-page","status-publish","hentry"],"lang":"de","translations":{"de":13428,"es":13430,"fr":13429,"en":13427},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/13428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/comments?post=13428"}],"version-history":[{"count":1,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/13428\/revisions"}],"predecessor-version":[{"id":13444,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/13428\/revisions\/13444"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=13428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}