{"id":14344,"date":"2026-09-28T16:18:50","date_gmt":"2026-09-28T14:18:50","guid":{"rendered":"https:\/\/geopard.tech\/?page_id=14344"},"modified":"2026-09-28T16:48:16","modified_gmt":"2026-09-28T14:48:16","slug":"%e5%9c%9f%e5%a3%8c%e3%83%86%e3%82%af%e3%82%b9%e3%83%81%e3%83%a3%e4%b8%89%e8%a7%92%e5%bd%a2","status":"publish","type":"page","link":"https:\/\/geopard.tech\/jp\/soil-texture-triangle\/","title":{"rendered":"\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u30fc\u4e09\u89d2\u5f62"},"content":{"rendered":"\n<!--\n  Inline hero for \/soil-texture-triangle\/, pasted as the FIRST block of the\n  page. Not the shared block 13098: that block's copy is Field Data Explorer\n  specific despite the generic name.\n\n  Written to root CLAUDE.md rule 24 (Roboto 400\/700, radii on the 2\/4\/6\/8\n  scale, no decorative gradient or shadow, brand colours only), rule 14\n  (centred) and rule 7 (hides the theme's bare page-title h1).\n-->\n<div class=\"gp-lead\">\n<style>\n\/* Rule 7: the geopard child theme renders the page title as a bare h1 inside\n   #simple_page > .container, so the standard .entry-title \/ .page-title \/\n   .wp-block-post-title selectors never reach it. The tool page opens with\n   this hero, so the duplicate title is hidden. *\/\n#simple_page > .container > h1{display:none !important}\n.gp-lead .stxh{--f:\"Roboto\",-apple-system,\"Segoe UI\",Helvetica,Arial,sans-serif;font-family:var(--f);text-align:center;background:#f4f7ea;border:1px solid #d6e2c5;border-radius:8px;padding:28px 28px 24px;margin:6px 0 20px}\n.gp-lead .stxh-eyebrow{display:inline-block;font-family:var(--f);font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#15701e;background:#ffffff;border:1px solid #d6e2c5;border-radius:4px;padding:5px 11px;margin:0 0 14px}\n.gp-lead .stxh-title{font-family:var(--f);font-size:1.95rem;font-weight:700;line-height:1.18;color:#145328;margin:0 auto 12px;max-width:820px}\n.gp-lead .stxh .lede{font-family:var(--f);font-size:1.04rem;font-weight:400;line-height:1.55;color:#4c6066;margin:0 auto;max-width:820px}\n.gp-lead .stxh-features{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;justify-content:center}\n.gp-lead .stxh-feat{display:inline-flex;align-items:center;font-family:var(--f);font-size:.86rem;font-weight:400;color:#212121;background:#ffffff;border:1px solid #e3e7da;border-radius:4px;padding:6px 12px}\n@media (max-width:820px){\n  .gp-lead .stxh{padding:22px 18px 20px}\n  .gp-lead .stxh-title{font-size:1.5rem}\n  .gp-lead .stxh .lede{font-size:.98rem}\n}\n@media (max-width:480px){\n  .gp-lead .stxh{padding:18px 14px 16px}\n  .gp-lead .stxh-title{font-size:1.3rem}\n}\n<\/style>\n  <div class=\"stxh\">\n    <div class=\"stxh-eyebrow\">Soil texture triangle<\/div>\n    <h1 class=\"stxh-title\">Name your soil from its sand, silt and clay.<\/h1>\n    <p class=\"lede\">Move the three sliders to your lab result. The triangle names the texture class and tells you how much water that soil can hold for the crop, how fast water enters it, and how narrow its working window is.<\/p>\n    <div class=\"stxh-features\">\n      <span class=\"stxh-feat\">All 12 USDA classes<\/span>\n      <span class=\"stxh-feat\">Nothing to upload<\/span>\n      <span class=\"stxh-feat\">No signup<\/span>\n      <span class=\"stxh-feat\">Runs entirely in your browser<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<div class=\"gp-stx\" id=\"gp-stx\" data-theme=\"light\">\n<style>\n@font-face{font-family:\"Roboto\";font-style:normal;font-weight:100 900;font-display:swap;src:url(https:\/\/fonts.wp.com\/s\/roboto\/v51\/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2) format(\"woff2\");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}\n@font-face{font-family:\"Roboto\";font-style:normal;font-weight:100 900;font-display:swap;src:url(https:\/\/fonts.wp.com\/s\/roboto\/v51\/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format(\"woff2\");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}\n.gp-stx{\n  --f:\"Roboto\",-apple-system,\"Segoe UI\",Helvetica,Arial,sans-serif;\n  --ink:#212121; --dim:#4c6066; --dim2:#708086;\n  --accent:#145328; --accent-mid:#15701e; --accent-soft:#1b7a2a; --orange:#f76a0c; --logo-red:#b2060f; --logo-red-bright:#fd4d48;\n  --bg:#fafbf4; --panel:#ffffff; --panel2:#f4f7ea; --line:#e3e7da; --line2:#d6e2c5;\n  --r-panel:8px; --r-card:6px; --r-ctl:4px; --r-bar:2px;\n  color:var(--ink);background:var(--bg);font-family:var(--f);font-size:16px;line-height:1.55;\n  font-variant-numeric:tabular-nums;position:relative\n}\n.gp-stx *{box-sizing:border-box}\n.gp-stx .stx-ctl-h,.gp-stx .stx-res-h{font-family:var(--f);font-weight:700;line-height:1.2;margin:0;color:var(--ink)}\n.gp-stx p{margin:0}\n.gp-stx a{color:var(--accent-mid)}\n.gp-stx .stx-wrap{max-width:1600px;margin:0 auto;padding:24px 20px}\n.gp-stx .stx-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}\n.gp-stx .stx-figure{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}\n.gp-stx .stx-svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}\n.gp-stx .stx-zone{stroke:#ffffff;stroke-width:1.6;cursor:crosshair}\n.gp-stx .stx-zone.on{stroke:var(--accent);stroke-width:2.5}\n.gp-stx .stx-g{stroke:#ffffff;stroke-width:.5;opacity:.3;pointer-events:none}\n.gp-stx .stx-zlab{fill:var(--ink);font-family:var(--f);font-weight:400;text-anchor:middle;pointer-events:none}\n.gp-stx .stx-zlab.stx-zl-d{fill:#ffffff}\n.gp-stx .stx-ax{fill:var(--dim2);font-family:var(--f);font-size:10px;font-weight:400;pointer-events:none}\n.gp-stx .stx-axt{fill:var(--dim);font-family:var(--f);font-size:12px;font-weight:700;text-anchor:middle;pointer-events:none}\n.gp-stx .stx-dot{fill:var(--logo-red-bright);stroke:#ffffff;stroke-width:2;pointer-events:none}\n.gp-stx .stx-hint{margin-top:8px;font-size:.84rem;color:var(--dim2);text-align:center}\n.gp-stx .stx-panel{display:flex;flex-direction:column;gap:16px}\n.gp-stx .stx-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px}\n.gp-stx .stx-ctl-h{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim2);margin:0 0 12px}\n.gp-stx .stx-row{display:grid;grid-template-columns:76px 1fr 56px;gap:12px;align-items:center;margin-bottom:12px}\n.gp-stx .stx-row:last-child{margin-bottom:0}\n.gp-stx .stx-row label{font-size:.95rem;font-weight:400;color:var(--ink)}\n.gp-stx .stx-val{font-size:.95rem;font-weight:700;color:var(--accent-mid);text-align:right}\n.gp-stx .stx-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:2px;background:var(--line2);outline:none}\n.gp-stx .stx-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:4px;background:var(--accent);border:2px solid #ffffff;cursor:pointer}\n.gp-stx .stx-range::-moz-range-thumb{width:22px;height:22px;border-radius:4px;background:var(--accent);border:2px solid #ffffff;cursor:pointer}\n.gp-stx .stx-range:focus-visible{box-shadow:0 0 0 3px var(--line2)}\n.gp-stx .stx-res-h{font-size:1.45rem;margin:0 0 4px;color:var(--accent)}\n.gp-stx .stx-res-s{color:var(--dim);font-size:.98rem;margin:0 0 14px}\n.gp-stx .stx-facts{margin:0;display:grid;gap:10px}\n.gp-stx .stx-fact{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:12px;padding-top:10px;border-top:1px solid var(--line)}\n.gp-stx .stx-fact:first-child{border-top:0;padding-top:0}\n.gp-stx .stx-fact dt{font-size:.86rem;color:var(--dim2);font-weight:400;margin:0}\n.gp-stx .stx-fact dd{font-size:.94rem;color:var(--ink);font-weight:400;margin:0}\n.gp-stx .stx-cta{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:16px 18px}\n.gp-stx .stx-cta p{color:var(--dim);font-size:.95rem;margin:0 0 12px}\n\/* The theme styles anchors inside a post body with an ID-weighted rule,\n   `#single_post_content>div:first-child a{color:var(--red)}` [1,1,2], which\n   outranks any class selector we can write and rendered this button dark on\n   dark on post 2518. Same family of theme-leaks-in as rule 5b. *\/\n.gp-stx .stx-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background:var(--accent);color:#ffffff !important;font-weight:700;font-size:.95rem;border-radius:4px;text-decoration:none}\n.gp-stx .stx-btn:hover{background:var(--accent-mid);color:#ffffff !important}\n.gp-stx .stx-names{display:none}\n.gp-stx .stx-tip{position:absolute;z-index:20;pointer-events:none;background:var(--panel);border:1px solid var(--line2);border-radius:4px;padding:7px 10px;font-size:.84rem;max-width:230px;box-shadow:0 2px 8px rgba(20,83,40,0.14)}\n.gp-stx .stx-tip b{display:block;font-weight:700;color:var(--accent)}\n.gp-stx .stx-tip span{color:var(--dim)}\n@media (min-width:1200px){\n  .gp-stx .stx-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px}\n  .gp-stx .stx-wrap{padding:28px 24px}\n  .gp-stx .stx-res-h{font-size:1.6rem}\n}\n@media (max-width:820px){\n  .gp-stx .stx-zlab{display:none}\n  .gp-stx .stx-ax{display:none}\n  .gp-stx .stx-axt{font-size:20px}\n  .gp-stx .stx-grid{grid-template-columns:1fr;gap:18px}\n  .gp-stx .stx-wrap{padding:18px 14px}\n  .gp-stx .stx-range{height:10px}\n  .gp-stx .stx-row{grid-template-columns:70px 1fr 50px;min-height:44px}\n  .gp-stx .stx-fact{grid-template-columns:1fr;gap:2px}\n  .gp-stx .stx-btn{width:100%;justify-content:center}\n}\n@media (max-width:480px){\n  .gp-stx .stx-wrap{padding:14px 12px}\n  .gp-stx .stx-card{padding:14px}\n  .gp-stx .stx-res-h{font-size:1.25rem}\n  .gp-stx .stx-fact dt{font-size:.82rem}\n}\n.gp-stx.gp-post{background:transparent;font-size:16px}\n.gp-stx.gp-post .stx-wrap{max-width:100%;padding:0;margin:18px 0 22px}\n.gp-stx.gp-post .stx-grid{grid-template-columns:1fr;gap:14px}\n.gp-stx.gp-post .stx-res-h{font-size:1.2rem}\n.gp-stx.gp-post .stx-figure{padding:10px}\n@media (min-width:900px){\n  .gp-stx.gp-post .stx-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}\n}\n<\/style>\n\n  <div class=\"stx-wrap\">\n    <div class=\"stx-grid\">\n      <div class=\"stx-figure\">\n        <svg class=\"stx-svg\" id=\"stx-svg\" viewBox=\"0 0 560 500\" role=\"img\" aria-labelledby=\"stx-svg-t\">\n          <title id=\"stx-svg-t\">Soil texture triangle with the current mix marked<\/title>\n          <path class=\"stx-zone\" data-cls=\"sand\" fill=\"#f4f7ea\" d=\"M40.0 440.0 L112.0 440.0 L64.0 398.4 Z\"><title>sand<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"loamy-sand\" fill=\"#eaf1dc\" d=\"M184.0 440.0 L112.0 440.0 L64.0 398.4 L76.0 377.6 Z\"><title>loamy sand<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"sandy-loam\" fill=\"#dfe9cd\" d=\"M184.0 440.0 L280.0 440.0 L296.8 410.9 L253.6 410.9 L222.4 356.9 L88.0 356.9 L76.0 377.6 Z\"><title>sandy loam<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"loam\" fill=\"#d2e2bd\" d=\"M296.8 410.9 L253.6 410.9 L222.4 356.9 L239.2 327.8 L344.8 327.8 Z\"><title>loam<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"silt-loam\" fill=\"#c6dcae\" d=\"M280.0 440.0 L424.0 440.0 L452.8 390.1 L491.2 390.1 L455.2 327.8 L344.8 327.8 Z\"><title>silt loam<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"silt\" fill=\"#bbd6a1\" d=\"M424.0 440.0 L520.0 440.0 L491.2 390.1 L452.8 390.1 Z\"><title>silt<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"sandy-clay-loam\" fill=\"#a9cb8e\" d=\"M222.4 356.9 L239.2 327.8 L220.0 294.5 L124.0 294.5 L88.0 356.9 Z\"><title>sandy clay loam<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"clay-loam\" fill=\"#93bd79\" d=\"M239.2 327.8 L359.2 327.8 L328.0 273.7 L208.0 273.7 Z\"><title>clay loam<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"silty-clay-loam\" fill=\"#7fae66\" d=\"M359.2 327.8 L455.2 327.8 L424.0 273.7 L328.0 273.7 Z\"><title>silty clay loam<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"sandy-clay\" fill=\"#6a9f55\" d=\"M220.0 294.5 L124.0 294.5 L172.0 211.4 Z\"><title>sandy clay<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"silty-clay\" fill=\"#558f45\" d=\"M424.0 273.7 L328.0 273.7 L376.0 190.6 Z\"><title>silty clay<\/title><\/path>\n          <path class=\"stx-zone\" data-cls=\"clay\" fill=\"#3f7d36\" d=\"M328.0 273.7 L208.0 273.7 L172.0 211.4 L280.0 24.3 L376.0 190.6 Z\"><title>clay<\/title><\/path>\n          <line class=\"stx-g\" x1=\"136.0\" y1=\"440.0\" x2=\"328.0\" y2=\"107.4\"\/>\n          <line class=\"stx-g\" x1=\"472.0\" y1=\"356.9\" x2=\"88.0\" y2=\"356.9\"\/>\n          <line class=\"stx-g\" x1=\"424.0\" y1=\"440.0\" x2=\"232.0\" y2=\"107.4\"\/>\n          <line class=\"stx-g\" x1=\"232.0\" y1=\"440.0\" x2=\"376.0\" y2=\"190.6\"\/>\n          <line class=\"stx-g\" x1=\"424.0\" y1=\"273.7\" x2=\"136.0\" y2=\"273.7\"\/>\n          <line class=\"stx-g\" x1=\"328.0\" y1=\"440.0\" x2=\"184.0\" y2=\"190.6\"\/>\n          <line class=\"stx-g\" x1=\"328.0\" y1=\"440.0\" x2=\"424.0\" y2=\"273.7\"\/>\n          <line class=\"stx-g\" x1=\"376.0\" y1=\"190.6\" x2=\"184.0\" y2=\"190.6\"\/>\n          <line class=\"stx-g\" x1=\"232.0\" y1=\"440.0\" x2=\"136.0\" y2=\"273.7\"\/>\n          <line class=\"stx-g\" x1=\"424.0\" y1=\"440.0\" x2=\"472.0\" y2=\"356.9\"\/>\n          <line class=\"stx-g\" x1=\"328.0\" y1=\"107.4\" x2=\"232.0\" y2=\"107.4\"\/>\n          <line class=\"stx-g\" x1=\"136.0\" y1=\"440.0\" x2=\"88.0\" y2=\"356.9\"\/>\n          <text class=\"stx-ax\" x=\"80.0\" y=\"360.9\" text-anchor=\"end\">20<\/text>\n          <text class=\"stx-ax\" x=\"480.0\" y=\"360.9\" text-anchor=\"start\">80<\/text>\n          <text class=\"stx-ax\" x=\"424.0\" y=\"458.0\" text-anchor=\"middle\">20<\/text>\n          <text class=\"stx-ax\" x=\"128.0\" y=\"277.7\" text-anchor=\"end\">40<\/text>\n          <text class=\"stx-ax\" x=\"432.0\" y=\"277.7\" text-anchor=\"start\">60<\/text>\n          <text class=\"stx-ax\" x=\"328.0\" y=\"458.0\" text-anchor=\"middle\">40<\/text>\n          <text class=\"stx-ax\" x=\"176.0\" y=\"194.6\" text-anchor=\"end\">60<\/text>\n          <text class=\"stx-ax\" x=\"384.0\" y=\"194.6\" text-anchor=\"start\">40<\/text>\n          <text class=\"stx-ax\" x=\"232.0\" y=\"458.0\" text-anchor=\"middle\">60<\/text>\n          <text class=\"stx-ax\" x=\"224.0\" y=\"111.4\" text-anchor=\"end\">80<\/text>\n          <text class=\"stx-ax\" x=\"336.0\" y=\"111.4\" text-anchor=\"start\">20<\/text>\n          <text class=\"stx-ax\" x=\"136.0\" y=\"458.0\" text-anchor=\"middle\">80<\/text>\n          <text class=\"stx-zlab\" data-cls=\"sand\" x=\"72.0\" y=\"429.6\" font-size=\"10\">sand<\/text>\n          <text class=\"stx-zlab\" data-cls=\"loamy-sand\" x=\"114.0\" y=\"418.7\" font-size=\"8.5\">loamy sand<\/text>\n          <text class=\"stx-zlab\" data-cls=\"sandy-loam\" x=\"184.9\" y=\"400.2\" font-size=\"10\">sandy loam<\/text>\n          <text class=\"stx-zlab\" data-cls=\"loam\" x=\"278.8\" y=\"384.0\" font-size=\"11\">loam<\/text>\n          <text class=\"stx-zlab\" data-cls=\"silt-loam\" x=\"385.2\" y=\"388.9\" font-size=\"11\">silt loam<\/text>\n          <text class=\"stx-zlab\" data-cls=\"silt\" x=\"472.0\" y=\"422.1\" font-size=\"10\">silt<\/text>\n          <text class=\"stx-zlab\" data-cls=\"sandy-clay-loam\" x=\"167.8\" y=\"330.3\" font-size=\"8.5\">sandy clay loam<\/text>\n          <text class=\"stx-zlab\" data-cls=\"clay-loam\" x=\"283.6\" y=\"304.2\" font-size=\"10\">clay loam<\/text>\n          <text class=\"stx-zlab stx-zl-d\" data-cls=\"silty-clay-loam\" x=\"391.6\" y=\"303.9\" font-size=\"9\">silty clay loam<\/text>\n          <text class=\"stx-zlab stx-zl-d\" data-cls=\"sandy-clay\" x=\"172.0\" y=\"269.8\" font-size=\"8.5\">sandy clay<\/text>\n          <text class=\"stx-zlab stx-zl-d\" data-cls=\"silty-clay\" x=\"376.0\" y=\"249.0\" font-size=\"8.5\">silty clay<\/text>\n          <text class=\"stx-zlab stx-zl-d\" data-cls=\"clay\" x=\"275.3\" y=\"182.3\" font-size=\"11\">clay<\/text>\n          <text class=\"stx-axt\" x=\"118\" y=\"228\" transform=\"rotate(-60 118 228)\">clay %<\/text>\n          <text class=\"stx-axt\" x=\"442\" y=\"228\" transform=\"rotate(60 442 228)\">silt %<\/text>\n          <text class=\"stx-axt\" x=\"280\" y=\"482\">sand %<\/text>\n          <circle class=\"stx-dot\" id=\"stx-dot\" cx=\"280\" cy=\"440\" r=\"7\"\/>\n        <\/svg>\n        <p class=\"stx-hint\">Click anywhere on the triangle to read off that mix, or set the three sliders.<\/p>\n      <\/div>\n\n      <div class=\"stx-panel\">\n        <div class=\"stx-card\">\n          <div class=\"stx-ctl-h\">Your lab result<\/div>\n          <div class=\"stx-row\">\n            <label for=\"stx-r-sand\">Sand<\/label>\n            <input class=\"stx-range\" id=\"stx-r-sand\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" value=\"40\" aria-describedby=\"stx-v-sand\">\n            <output class=\"stx-val\" id=\"stx-v-sand\" for=\"stx-r-sand\">40%<\/output>\n          <\/div>\n          <div class=\"stx-row\">\n            <label for=\"stx-r-silt\">Silt<\/label>\n            <input class=\"stx-range\" id=\"stx-r-silt\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" value=\"40\" aria-describedby=\"stx-v-silt\">\n            <output class=\"stx-val\" id=\"stx-v-silt\" for=\"stx-r-silt\">40%<\/output>\n          <\/div>\n          <div class=\"stx-row\">\n            <label for=\"stx-r-clay\">Clay<\/label>\n            <input class=\"stx-range\" id=\"stx-r-clay\" type=\"range\" min=\"0\" max=\"100\" step=\"1\" value=\"20\" aria-describedby=\"stx-v-clay\">\n            <output class=\"stx-val\" id=\"stx-v-clay\" for=\"stx-r-clay\">20%<\/output>\n          <\/div>\n        <\/div>\n\n        <div class=\"stx-card\" id=\"stx-readout\" aria-live=\"polite\">\n    <div class=\"stx-res\" data-cls=\"sand\" hidden>\n      <div class=\"stx-res-h\">sand<\/div>\n      <p class=\"stx-res-s\">drains fast and holds little water<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>60 to 80 mm of plant available water per metre of root zone<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Very rapid, so nutrients leach with the water<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Wide, the soil works at almost any moisture<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Low<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"loamy-sand\" hidden>\n      <div class=\"stx-res-h\">loamy sand<\/div>\n      <p class=\"stx-res-s\">still very sandy, slightly more holding<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>80 to 100 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Rapid<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Wide<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Low<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"sandy-loam\" hidden>\n      <div class=\"stx-res-h\">sandy loam<\/div>\n      <p class=\"stx-res-s\">easy to work, moderate holding<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>100 to 140 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Moderately rapid<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Wide<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Low to moderate<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"loam\" hidden>\n      <div class=\"stx-res-h\">loam<\/div>\n      <p class=\"stx-res-s\">the balanced texture most crops prefer<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>150 to 200 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Moderate<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Wide<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Moderate<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"silt-loam\" hidden>\n      <div class=\"stx-res-h\">silt loam<\/div>\n      <p class=\"stx-res-s\">holds a lot of water, caps when bare<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>180 to 230 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Moderate<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Narrow once wet, and it crusts after rain<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Moderate to high<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"silt\" hidden>\n      <div class=\"stx-res-h\">silt<\/div>\n      <p class=\"stx-res-s\">high holding, weak structure<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>180 to 220 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Moderate to slow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Narrow, it smears when wet<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>High<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"sandy-clay-loam\" hidden>\n      <div class=\"stx-res-h\">sandy clay loam<\/div>\n      <p class=\"stx-res-s\">sandy feel with enough clay to bind<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>120 to 160 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Moderate<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Moderate<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Moderate<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"clay-loam\" hidden>\n      <div class=\"stx-res-h\">clay loam<\/div>\n      <p class=\"stx-res-s\">good holding, needs the right moisture to work<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>150 to 190 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Slow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Narrow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>High<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"silty-clay-loam\" hidden>\n      <div class=\"stx-res-h\">silty clay loam<\/div>\n      <p class=\"stx-res-s\">holds well, slow to dry<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>160 to 200 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Slow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Narrow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>High<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"sandy-clay\" hidden>\n      <div class=\"stx-res-h\">sandy clay<\/div>\n      <p class=\"stx-res-s\">clay behaviour with a sandy skeleton<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>110 to 150 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Slow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Narrow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>Moderate to high<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"silty-clay\" hidden>\n      <div class=\"stx-res-h\">silty clay<\/div>\n      <p class=\"stx-res-s\">heavy, slow to drain<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>140 to 180 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Very slow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Very narrow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>High<\/dd><\/div>\n      <\/dl>\n    <\/div>\n    <div class=\"stx-res\" data-cls=\"clay\" hidden>\n      <div class=\"stx-res-h\">clay<\/div>\n      <p class=\"stx-res-s\">heaviest, strong shrink and swell<\/p>\n      <dl class=\"stx-facts\">\n        <div class=\"stx-fact\"><dt>Water it can hold for the crop<\/dt><dd>130 to 180 mm per metre<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>How fast water enters<\/dt><dd>Very slow<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Working window<\/dt><dd>Very narrow, it is plastic wet and hard dry<\/dd><\/div>\n        <div class=\"stx-fact\"><dt>Compaction risk<\/dt><dd>High<\/dd><\/div>\n      <\/dl>\n    <\/div>\n        <\/div>\n\n        <div class=\"stx-cta\">\n          <p>Texture is one point. A field has many, and they move the rate you should apply.<\/p>\n          <a class=\"stx-btn\" href=\"https:\/\/geopard.tech\/field-data-explorer\/?utm_source=blog&amp;utm_medium=widget&amp;utm_campaign=soil-texture-triangle\">See texture across a whole field<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"stx-names\" id=\"stx-names\">\n    <div class=\"stx-tipsrc\" data-cls=\"sand\"><b>sand<\/b><span>drains fast and holds little water<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"loamy-sand\"><b>loamy sand<\/b><span>still very sandy, slightly more holding<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"sandy-loam\"><b>sandy loam<\/b><span>easy to work, moderate holding<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"loam\"><b>loam<\/b><span>the balanced texture most crops prefer<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"silt-loam\"><b>silt loam<\/b><span>holds a lot of water, caps when bare<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"silt\"><b>silt<\/b><span>high holding, weak structure<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"sandy-clay-loam\"><b>sandy clay loam<\/b><span>sandy feel with enough clay to bind<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"clay-loam\"><b>clay loam<\/b><span>good holding, needs the right moisture to work<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"silty-clay-loam\"><b>silty clay loam<\/b><span>holds well, slow to dry<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"sandy-clay\"><b>sandy clay<\/b><span>clay behaviour with a sandy skeleton<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"silty-clay\"><b>silty clay<\/b><span>heavy, slow to drain<\/span><\/div>\n    <div class=\"stx-tipsrc\" data-cls=\"clay\"><b>clay<\/b><span>heaviest, strong shrink and swell<\/span><\/div>\n  <\/div>\n  <div class=\"stx-tip\" id=\"stx-tip\" hidden><\/div>\n\n<script nowprocket data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\">\n(function(){\n\/* STX-CORE BEGIN *\/\n\/\/ USDA soil texture classes. This is the published USDA rule set and the order\n\/\/ matters: the first match wins. Written with ternaries because a literal\n\/\/ ampersand inside a script body is rewritten by WordPress and breaks the JS\n\/\/ (root CLAUDE.md rule 1).\nfunction classify(sand, silt, clay){\n  var s = sand, si = silt, c = clay;\n  if (si + 1.5 * c < 15) { return 'sand'; }\n  if (si + 2 * c < 30) { return 'loamy sand'; }\n  if (c >= 7 ? (c < 20 ? (s > 52 ? si + 2 * c >= 30 : false) : false) : false) { return 'sandy loam'; }\n  if (c < 7 ? (si < 50 ? si + 2 * c >= 30 : false) : false) { return 'sandy loam'; }\n  if (c >= 7 ? (c < 27 ? (si >= 28 ? (si < 50 ? s <= 52 : false) : false) : false) : false) { return 'loam'; }\n  if (si >= 50 ? (c >= 12 ? c < 27 : false) : false) { return 'silt loam'; }\n  if (si >= 50 ? (si < 80 ? c < 12 : false) : false) { return 'silt loam'; }\n  if (si >= 80 ? c < 12 : false) { return 'silt'; }\n  if (c >= 20 ? (c < 35 ? (si < 28 ? s > 45 : false) : false) : false) { return 'sandy clay loam'; }\n  if (c >= 27 ? (c < 40 ? (s > 20 ? s <= 45 : false) : false) : false) { return 'clay loam'; }\n  if (c >= 27 ? (c < 40 ? s <= 20 : false) : false) { return 'silty clay loam'; }\n  if (c >= 35 ? s > 45 : false) { return 'sandy clay'; }\n  if (c >= 40 ? si >= 40 : false) { return 'silty clay'; }\n  if (c >= 40 ? (s <= 45 ? si < 40 : false) : false) { return 'clay'; }\n  return '';\n}\n\/\/ Moving one slider redistributes the other two in proportion, so the three\n\/\/ always sum to exactly 100. The residual goes to the second of the pair so\n\/\/ rounding never leaves 99 or 101 on screen.\nfunction rebalance(which, value, cur){\n  var v = Math.max(0, Math.min(100, Math.round(value)));\n  var keys = ['sand', 'silt', 'clay'];\n  var others = [];\n  for (var i = 0; i < keys.length; i++) { if (keys[i] !== which) { others.push(keys[i]); } }\n  var restNow = cur[others[0]] + cur[others[1]];\n  var rest = 100 - v;\n  var out = {};\n  out[which] = v;\n  if (restNow <= 0) {\n    out[others[0]] = Math.round(rest \/ 2);\n    out[others[1]] = rest - out[others[0]];\n  } else {\n    out[others[0]] = Math.round(rest * (cur[others[0]] \/ restNow));\n    out[others[1]] = rest - out[others[0]];\n  }\n  return out;\n}\n\/\/ Barycentric placement on the drawn triangle: 100% sand bottom left,\n\/\/ 100% silt bottom right, 100% clay at the apex.\nfunction plot(sand, silt, clay){\n  var X0 = 40, W = 480, Y0 = 440, H = 415.7;\n  return {x: X0 + W * (silt + clay \/ 2) \/ 100, y: Y0 - H * clay \/ 100};\n}\n\/\/ The inverse, so a point on the drawn triangle can be read back as a mix.\n\/\/ Returns unrounded percentages, negative outside the triangle.\nfunction unplot(x, y){\n  var X0 = 40, W = 480, Y0 = 440, H = 415.7;\n  var clay = (Y0 - y) \/ H * 100;\n  var silt = (x - X0) \/ W * 100 - clay \/ 2;\n  return {sand: 100 - silt - clay, silt: silt, clay: clay};\n}\n\/\/ Round a mix to whole percentages that still total exactly 100, giving any\n\/\/ rounding remainder to the largest component so the figure never reads 99.\nfunction snap(m){\n  var s = Math.round(m.sand), si = Math.round(m.silt), c = Math.round(m.clay);\n  var d = 100 - (s + si + c);\n  if (s >= si ? s >= c : false) { s = s + d; }\n  else if (si >= c) { si = si + d; }\n  else { c = c + d; }\n  return {sand: s, silt: si, clay: c};\n}\n\/* STX-CORE END *\/\nvar root = document.getElementById('gp-stx');\nif (!root) { return; }\nvar slug = function(n){ return n.split(' ').join('-'); };\nvar cur = {sand: 40, silt: 40, clay: 20};\nvar el = {\n  sand: document.getElementById('stx-r-sand'),\n  silt: document.getElementById('stx-r-silt'),\n  clay: document.getElementById('stx-r-clay')\n};\nvar out = {\n  sand: document.getElementById('stx-v-sand'),\n  silt: document.getElementById('stx-v-silt'),\n  clay: document.getElementById('stx-v-clay')\n};\nvar dot = document.getElementById('stx-dot');\nvar cards = root.querySelectorAll('.stx-res');\nvar zones = root.querySelectorAll('.stx-zone');\nvar zlabs = root.querySelectorAll('.stx-zlab');\nvar tip = document.getElementById('stx-tip');\nvar names = document.getElementById('stx-names');\nfunction render(){\n  var keys = ['sand', 'silt', 'clay'];\n  for (var i = 0; i < keys.length; i++) {\n    var k = keys[i];\n    if (el[k].value !== String(cur[k])) { el[k].value = cur[k]; }\n    out[k].textContent = cur[k] + '%';\n  }\n  var cls = classify(cur.sand, cur.silt, cur.clay);\n  var id = slug(cls);\n  for (var j = 0; j < cards.length; j++) {\n    cards[j].hidden = cards[j].getAttribute('data-cls') !== id;\n  }\n  for (var z = 0; z < zones.length; z++) {\n    var on = zones[z].getAttribute('data-cls') === id;\n    if (on) { zones[z].classList.add('on'); } else { zones[z].classList.remove('on'); }\n  }\n  var p = plot(cur.sand, cur.silt, cur.clay);\n  dot.setAttribute('cx', p.x);\n  dot.setAttribute('cy', p.y);\n}\nfunction onInput(which){\n  return function(ev){\n    cur = rebalance(which, parseInt(ev.target.value, 10) || 0, cur);\n    render();\n  };\n}\nel.sand.addEventListener('input', onInput('sand'));\nel.silt.addEventListener('input', onInput('silt'));\nel.clay.addEventListener('input', onInput('clay'));\n\/\/ Tooltip. The text is copied out of static DOM nodes, never written from a\n\/\/ string in here, so TranslatePress reaches it in all 22 languages.\nfunction showTip(target, cx, cy){\n  var id = target.getAttribute('data-cls');\n  var src = names.querySelector('[data-cls=\"' + id + '\"]');\n  if (!src) { return; }\n  tip.innerHTML = src.innerHTML;\n  tip.hidden = false;\n  var box = root.getBoundingClientRect();\n  var x = cx - box.left + 14;\n  var y = cy - box.top + 14;\n  if (x + tip.offsetWidth > box.width - 8) { x = box.width - tip.offsetWidth - 8; }\n  tip.style.left = x + 'px';\n  tip.style.top = y + 'px';\n}\nfunction hideTip(){ tip.hidden = true; }\nfor (var q = 0; q < zones.length; q++) {\n  zones[q].addEventListener('mousemove', function(ev){ showTip(ev.target, ev.clientX, ev.clientY); });\n  zones[q].addEventListener('mouseleave', hideTip);\n}\n\/\/ Reading a mix off the triangle is how an agronomist actually uses one, so a\n\/\/ click sets the three values rather than only naming the zone.\nvar svg = document.getElementById('stx-svg');\nsvg.addEventListener('click', function(ev){\n  var r = svg.getBoundingClientRect();\n  if (r.width <= 0) { return; }\n  var mix = unplot((ev.clientX - r.left) \/ r.width * 560, (ev.clientY - r.top) \/ r.height * 500);\n  if (mix.sand < -0.5 ? true : (mix.silt < -0.5 ? true : mix.clay < -0.5)) { return; }\n  mix.sand = Math.max(0, mix.sand); mix.silt = Math.max(0, mix.silt); mix.clay = Math.max(0, mix.clay);\n  cur = snap(mix);\n  render();\n  var t = ev.changedTouches ? ev.changedTouches[0] : ev;\n  if (ev.target.classList ? ev.target.classList.contains('stx-zone') : false) {\n    showTip(ev.target, t.clientX, t.clientY);\n  }\n});\ndocument.addEventListener('keydown', function(ev){ if (ev.key === 'Escape') { hideTip(); } });\nroot.addEventListener('touchstart', function(ev){\n  var isZone = ev.target.classList ? ev.target.classList.contains('stx-zone') : false;\n  if (!isZone) { hideTip(); }\n}, {passive: true});\nrender();\n})();\n<\/script>\n<\/div>\n\n\n\n<!-- GENERATED by scripts\/make_faq.py from tools\/soil-texture-triangle\/faq.json. Do not hand-edit. -->\n<div class=\"gp-lead\">\n<style>\n.gp-lead .gpx-faq{margin:36px 0 8px}\n.gp-lead .gpx-faq h2{text-align:center;margin:0 0 20px;font-size:1.6rem}\n.gp-lead .gpx-tabs{border:1px solid #e8ebe2;border-radius:16px;overflow:hidden;background:#fff}\n.gp-lead .gpx-tablist{display:flex;gap:0;background:#f6f7f1;border-bottom:1px solid #e8ebe2;overflow-x:auto;scrollbar-width:none}\n.gp-lead .gpx-tablist::-webkit-scrollbar{display:none}\n.gp-lead .gpx-tab{flex:1 1 auto;min-width:max-content;background:transparent;border:0;padding:16px 22px;font-family:inherit;font-size:.95rem;font-weight:700;color:#4c6066;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}\n.gp-lead .gpx-tab:hover{color:#145328;background:#f0f4ea}\n.gp-lead .gpx-tab[aria-selected=\"true\"]{color:#145328;border-bottom-color:#15701e;background:#fff}\n.gp-lead .gpx-tab:focus{outline:2px solid #15701e;outline-offset:-2px}\n.gp-lead .gpx-panel{padding:28px 32px;display:none}\n.gp-lead .gpx-panel.is-active{display:block}\n.gp-lead .gpx-panel h3{margin:0 0 10px;font-size:1.12rem;color:#212121}\n.gp-lead .gpx-panel p{margin:0;line-height:1.7;color:#243024;font-size:1rem}\n.gp-lead .gpx-panel p+p{margin-top:10px}\n@media (max-width:760px){\n  .gp-lead .gpx-panel{padding:22px 20px}\n  .gp-lead .gpx-tab{padding:14px 16px;font-size:.9rem}\n}\n<\/style>\n<section class=\"gpx-faq\" aria-labelledby=\"gpx-faq-h\">\n  <h2 id=\"gpx-faq-h\">Frequently asked questions<\/h2>\n  <div class=\"gpx-tabs\">\n    <div class=\"gpx-tablist\" role=\"tablist\" aria-label=\"Soil Texture Triangle FAQ\">\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-1\" aria-controls=\"gpx-panel-1\" aria-selected=\"true\" tabindex=\"0\">Reading the triangle<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-2\" aria-controls=\"gpx-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Where the numbers come from<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-3\" aria-controls=\"gpx-panel-3\" aria-selected=\"false\" tabindex=\"-1\">Why it matters<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-4\" aria-controls=\"gpx-panel-4\" aria-selected=\"false\" tabindex=\"-1\">Classification<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-5\" aria-controls=\"gpx-panel-5\" aria-selected=\"false\" tabindex=\"-1\">Privacy<\/button>\n    <\/div>\n    <div class=\"gpx-panel is-active\" role=\"tabpanel\" id=\"gpx-panel-1\" aria-labelledby=\"gpx-tab-1\">\n      <h3>How do I read the soil texture triangle?<\/h3>\n      <p>Sand runs along the bottom edge and increases to the left, clay runs up the left edge, and silt runs down the right edge. Your three percentages meet at one point, and the region that point falls in is the texture class.<\/p>\n      <p>You do not have to plot it by hand here. Move the sliders, or click anywhere on the triangle and the three values are read back off the point you clicked.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-2\" aria-labelledby=\"gpx-tab-2\">\n      <h3>Where do I get my sand, silt and clay percentages?<\/h3>\n      <p>From a standard particle-size analysis, which most soil laboratories report on the same sheet as pH, organic matter and nutrients. It is often listed as texture, mechanical analysis or PSA.<\/p>\n      <p>A hand texture assessment in the field gives you a class directly but not the percentages. If that is all you have, pick the class on the triangle and read the field behaviour from there.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-3\" aria-labelledby=\"gpx-tab-3\">\n      <h3>Why does soil texture change the rates I should apply?<\/h3>\n      <p>Texture sets how much water the soil can hold for the crop and how fast water enters it, which in turn drives leaching risk, the working window, and how easily the soil compacts.<\/p>\n      <p>A sandy soil holds 60 to 80 mm of plant available water per metre and leaches nitrogen readily, so it rewards splitting applications. A clay holds twice that but drains slowly and compacts when worked wet. The same blanket rate does different things on each.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-4\" aria-labelledby=\"gpx-tab-4\">\n      <h3>Which classification does this use?<\/h3>\n      <p>The twelve USDA texture classes, using the published boundaries. The tool is tested against reference compositions for all twelve, and against every whole-percent combination, so no mix falls outside a class and the drawn regions agree with the classification.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-5\" aria-labelledby=\"gpx-tab-5\">\n      <h3>Does anything I enter leave my browser?<\/h3>\n      <p>No. There is nothing to upload and nothing is sent anywhere. The three percentages exist only on your device, and closing the page discards them.<\/p>\n    <\/div>\n  <\/div>\n<\/section>\n<script type=\"application\/ld+json\" data-no-optimize=\"1\" data-no-minify=\"1\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I read the soil texture triangle?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Sand runs along the bottom edge and increases to the left, clay runs up the left edge, and silt runs down the right edge. Your three percentages meet at one point, and the region that point falls in is the texture class. You do not have to plot it by hand here. Move the sliders, or click anywhere on the triangle and the three values are read back off the point you clicked.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Where do I get my sand, silt and clay percentages?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"From a standard particle-size analysis, which most soil laboratories report on the same sheet as pH, organic matter and nutrients. It is often listed as texture, mechanical analysis or PSA. A hand texture assessment in the field gives you a class directly but not the percentages. If that is all you have, pick the class on the triangle and read the field behaviour from there.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Why does soil texture change the rates I should apply?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Texture sets how much water the soil can hold for the crop and how fast water enters it, which in turn drives leaching risk, the working window, and how easily the soil compacts. A sandy soil holds 60 to 80 mm of plant available water per metre and leaches nitrogen readily, so it rewards splitting applications. A clay holds twice that but drains slowly and compacts when worked wet. The same blanket rate does different things on each.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Which classification does this use?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The twelve USDA texture classes, using the published boundaries. The tool is tested against reference compositions for all twelve, and against every whole-percent combination, so no mix falls outside a class and the drawn regions agree with the classification.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does anything I enter leave my browser?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No. There is nothing to upload and nothing is sent anywhere. The three percentages exist only on your device, and closing the page discards them.\"\n      }\n    }\n  ]\n}\n<\/script>\n<\/div>\n<script nowprocket data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\">\n(function(){\n  var root = document.querySelector('.gp-lead .gpx-faq');\n  if (!root) { return; }\n  var tabs = root.querySelectorAll('.gpx-tab');\n  var panels = root.querySelectorAll('.gpx-panel');\n  function activate(idx){\n    for (var i = 0; i < tabs.length; i++) {\n      var on = i === idx;\n      tabs[i].setAttribute('aria-selected', on ? 'true' : 'false');\n      tabs[i].setAttribute('tabindex', on ? '0' : '-1');\n      if (on) { panels[i].classList.add('is-active'); } else { panels[i].classList.remove('is-active'); }\n    }\n  }\n  for (var i = 0; i < tabs.length; i++) {\n    (function(n){\n      tabs[n].addEventListener('click', function(){ activate(n); });\n      tabs[n].addEventListener('keydown', function(ev){\n        var d = ev.key === 'ArrowRight' ? 1 : (ev.key === 'ArrowLeft' ? -1 : 0);\n        if (d === 0) { return; }\n        var t = (n + d + tabs.length) % tabs.length;\n        activate(t); tabs[t].focus(); ev.preventDefault();\n      });\n    })(i);\n  }\n})();\n<\/script>\n\n\n\n<!-- GeoPard Tool Wrapper - CTA only (CTA band + AI Assistant band, NO FAQ).\n     Pages pair this with their OWN faq.html, because the FAQ in block 13099 is\n     Field Data Explorer specific and answers questions nobody asked on another\n     tool's page. Block 13099 stays as it is for the legacy pages. -->\n<div class=\"gp-lead\">\n<style>\n\/* Shared CTA, integration chips and FAQ tab styling. These classes are USED by\n   this block but were only DEFINED in wrapper-top block 13098, so any page that\n   uses this block without 13098 (a tool page with an inline hero) rendered the\n   CTA and FAQ completely unstyled. Copied verbatim from 13098, so pages that\n   carry both blocks are byte-identical in effect. *\/\n.gp-lead{font-family:var(--wp--preset--font-family--nunito,\"Nunito\",system-ui,-apple-system,Segoe UI,sans-serif);color:#212121;max-width:1600px;margin:0 auto;padding:0 16px}\n.gp-lead .gpx-cta{background:linear-gradient(135deg,#145328 0%,#1b7a2a 65%,#1a7951 100%);border-radius:18px;padding:38px 40px;margin:36px 0 24px;color:#fafbf4;text-align:center;position:relative;overflow:hidden}\n.gp-lead .gpx-cta::before{content:\"\";position:absolute;inset:auto -40px -60px auto;width:200px;height:200px;background:radial-gradient(circle,rgba(178,6,15,0.26),transparent 70%);pointer-events:none}\n.gp-lead .gpx-cta h2{color:#fff;margin:0 0 12px;font-size:1.6rem}\n.gp-lead .gpx-cta p{color:rgba(255,255,255,0.95);font-size:1.05rem;max-width:740px;margin:0 auto 22px}\n.gp-lead .gpx-btn{display:inline-block;background:#b2060f;color:#fff;font-family:var(--wp--preset--font-family--poppins,\"Poppins\",sans-serif);font-weight:600;font-size:1rem;padding:14px 30px;border-radius:999px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:none}\n.gp-lead .gpx-btn:hover{transform:translateY(-1px);background:#fd4d48;color:#fff;box-shadow:none}\n.gp-lead .gpx-faq{margin:36px 0 8px}\n.gp-lead .gpx-faq h2{text-align:center;margin:0 0 20px;font-size:1.6rem}\n.gp-lead .gpx-tabs{border:1px solid #e8ebe2;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 2px 14px rgba(20,83,40,0.06)}\n.gp-lead .gpx-tablist{display:flex;gap:0;background:#f6f7f1;border-bottom:1px solid #e8ebe2;overflow-x:auto;scrollbar-width:none}\n.gp-lead .gpx-tablist::-webkit-scrollbar{display:none}\n.gp-lead .gpx-tab{flex:1 1 auto;min-width:max-content;background:transparent;border:0;padding:16px 22px;font-family:var(--wp--preset--font-family--poppins,\"Poppins\",sans-serif);font-size:.95rem;font-weight:600;color:#4c6066;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;letter-spacing:.01em}\n.gp-lead .gpx-tab:hover{color:#145328;background:rgba(123,220,181,0.14)}\n.gp-lead .gpx-tab[aria-selected=\"true\"]{color:#145328;border-bottom-color:#15701e;background:#fff}\n.gp-lead .gpx-tab:focus{outline:2px solid #15701e;outline-offset:-2px}\n.gp-lead .gpx-panel{padding:28px 32px;display:none;animation:gpxfade .25s ease}\n.gp-lead .gpx-panel.is-active{display:block}\n.gp-lead .gpx-panel p{margin:0;line-height:1.7;color:#243024;font-size:1rem}\n.gp-lead .gpx-panel p+p{margin-top:10px}\n.gp-lead .gpx-panel kbd,.gp-lead .gpx-panel code{background:#f0f3ec;padding:2px 6px;border-radius:4px;font-family:var(--wp--preset--font-family--dm-mono,\"DM Mono\",ui-monospace,monospace);font-size:.88em;color:#145328}\n.gp-lead .gpx-integ{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0 20px}\n.gp-lead .gpx-integ-label{font-size:.86rem;color:rgba(255,255,255,0.86);margin:0 0 8px;font-weight:500;letter-spacing:.01em}\n.gp-lead .gpx-integ-chip{background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.32);color:#fff;padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.02em}\n@media (max-width:760px){\n  .gp-lead .gpx-cta{padding:24px 22px}\n  .gp-lead .gpx-panel{padding:22px 20px}\n  .gp-lead .gpx-tab{padding:14px 16px;font-size:.9rem}\n}\n@keyframes gpxfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}\n<\/style>\n\n<section class=\"gpx-cta\">\n  <h2>Bigger picture? GeoPard turns the data into prescriptions.<\/h2>\n  <p>This page reads one file at a time. The full GeoPard platform combines multi-year yield, NDVI, soil, and topography into management zones, generates variable rate prescriptions, and pushes them to your machine.<\/p>\n  <div class=\"gpx-integ-label\">Push prescriptions and pull as-applied data with:<\/div>\n  <div class=\"gpx-integ\">\n    <span class=\"gpx-integ-chip\">John Deere Operations Center<\/span>\n    <span class=\"gpx-integ-chip\">CNH FieldOps<\/span>\n    <span class=\"gpx-integ-chip\">AGCO \/ PTx FarmEngage<\/span>\n  <\/div>\n  <a class=\"gpx-btn\" href=\"https:\/\/app.geopard.tech\/signup?utm_source=geopard.tech&amp;utm_medium=lead-magnet&amp;utm_campaign=field-data-explorer&amp;utm_content=below-tool-cta\">Register free in GeoPard &rarr;<\/a>\n  <p style=\"margin:16px auto 0;max-width:740px;font-size:.95rem;color:rgba(255,255,255,.92)\">Already harvested? <a style=\"color:#ffffff;text-decoration:underline;text-underline-offset:3px\" href=\"https:\/\/geopard.tech\/yield-report\/\">See whether the variable rate paid off in the Automated Yield Report<\/a>.<\/p>\n<\/section>\n\n<section class=\"gpx-aiband\">\n  <style>\n    .gp-lead .gpx-aiband{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:#f2f7ee;border:1px solid #d6e2c5;border-radius:14px;padding:22px 26px;margin:26px 0}\n    .gp-lead .gpx-aiband-txt{flex:1 1 380px}\n    .gp-lead .gpx-aiband-new{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;color:#ffffff;background:#b2060f;border-radius:999px;padding:3px 9px;vertical-align:3px;margin-left:10px}\n    .gp-lead .gpx-aiband h2{margin:0;font-size:1.3rem}\n    .gp-lead .gpx-aiband p{margin:8px 0 0;color:#4c6066;font-size:.98rem;line-height:1.55}\n    .gp-lead .gpx-aiband-btn{flex:0 0 auto;display:inline-flex;align-items:center;min-height:46px;background:#15701e;color:#ffffff;font-weight:600;padding:0 22px;border-radius:999px;text-decoration:none}\n    .gp-lead .gpx-aiband-btn:hover{background:#145328;color:#ffffff}\n    @media (max-width:640px){ .gp-lead .gpx-aiband{padding:18px} .gp-lead .gpx-aiband-btn{width:100%;justify-content:center} }\n  <\/style>\n  <div class=\"gpx-aiband-txt\">\n    <h2>Meet the GeoPard AI Assistant<span class=\"gpx-aiband-new\">NEW<\/span><\/h2>\n    <p>Reasoning AI for precision agriculture: it asks the right agronomic questions, shows its math, and builds dry-run validated prescriptions from your data. You approve every step.<\/p>\n  <\/div>\n  <a class=\"gpx-aiband-btn\" href=\"https:\/\/geopard.tech\/ai\/\">Watch how the AI thinks &rarr;<\/a>\n<\/section>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>3\u3064\u306e\u30b9\u30e9\u30a4\u30c0\u30fc\u3092\u52d5\u304b\u3057\u3066\u691c\u67fb\u7d50\u679c\u3092\u78ba\u8a8d\u3057\u3001USDA\u306e\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u5206\u985e\u3001\u4f5c\u7269\u306e\u4fdd\u6c34\u80fd\u529b\u3001\u6d78\u900f\u6027\u3001\u4f5c\u696d\u53ef\u80fd\u671f\u9593\u3092\u8aad\u307f\u53d6\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u767b\u9332\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3082\u4e0d\u8981\u3067\u3059\u3002.<\/p>","protected":false},"author":210157960,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_eb_attr":"","content-type":"","_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"footnotes":"","big_sky_generated":false},"class_list":["post-14344","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Soil Texture Triangle Calculator - GeoPard<\/title>\n<meta name=\"description\" content=\"Move three sliders to your lab result and read the USDA texture class, the water it holds for the crop, infiltration and working window. No signup, nothing uploaded.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/geopard.tech\/jp\/\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u4e09\u89d2\u5f62\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Soil Texture Triangle Calculator - GeoPard\" \/>\n<meta property=\"og:description\" content=\"Move three sliders to your lab result and read the USDA texture class, the water it holds for the crop, infiltration and working window. No signup, nothing uploaded.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geopard.tech\/jp\/\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u4e09\u89d2\u5f62\/\" \/>\n<meta property=\"og:site_name\" content=\"GeoPard - Precision agriculture Mapping software\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/geopardAgriculture\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-28T14:48:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/geopard.tech\/wp-content\/uploads\/2026\/03\/GeoPard-Background-Precision-Ag-software-Do-more-with-your-data.png?fit=3116%2C1754&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"3116\" \/>\n\t<meta property=\"og:image:height\" content=\"1754\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@geopardagri\" \/>\n<meta name=\"twitter:label1\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"5\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/soil-texture-triangle\\\/\",\"url\":\"https:\\\/\\\/geopard.tech\\\/soil-texture-triangle\\\/\",\"name\":\"Soil Texture Triangle Calculator - GeoPard\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/geopard.tech\\\/#website\"},\"datePublished\":\"2026-09-28T14:18:50+00:00\",\"dateModified\":\"2026-09-28T14:48:16+00:00\",\"description\":\"Move three sliders to your lab result and read the USDA texture class, the water it holds for the crop, infiltration and working window. No signup, nothing uploaded.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/geopard.tech\\\/soil-texture-triangle\\\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/geopard.tech\\\/soil-texture-triangle\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/soil-texture-triangle\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/geopard.tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Soil Texture Triangle\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/#website\",\"url\":\"https:\\\/\\\/geopard.tech\\\/\",\"name\":\"GeoPard - Precision agriculture software\",\"description\":\"Precision agriculture Mapping software\",\"publisher\":{\"@id\":\"https:\\\/\\\/geopard.tech\\\/#organization\"},\"alternateName\":\"GeoPard\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/geopard.tech\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/#organization\",\"name\":\"GeoPard Agriculture\",\"alternateName\":\"GeoPard\",\"url\":\"https:\\\/\\\/geopard.tech\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/geopard.tech\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/geopard_logo_transparentbackground.png?fit=512%2C68&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/geopard.tech\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/geopard_logo_transparentbackground.png?fit=512%2C68&ssl=1\",\"width\":512,\"height\":68,\"caption\":\"GeoPard Agriculture\"},\"image\":{\"@id\":\"https:\\\/\\\/geopard.tech\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/geopardAgriculture\\\/\",\"https:\\\/\\\/x.com\\\/geopardagri\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/geopard-agriculture\\\/\",\"https:\\\/\\\/www.instagram.com\\\/geopardagriculture\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCiaPGLAhRPNh-s85dXdC-Sw\",\"https:\\\/\\\/www.g2.com\\\/products\\\/geopard-agriculture-precision-farming-software\\\/reviews\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u4e09\u89d2\u5f62\u8a08\u7b97\u6a5f - GeoPard","description":"3\u3064\u306e\u30b9\u30e9\u30a4\u30c0\u30fc\u3092\u52d5\u304b\u3057\u3066\u691c\u67fb\u7d50\u679c\u3092\u78ba\u8a8d\u3057\u3001USDA\u306e\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u5206\u985e\u3001\u4f5c\u7269\u306e\u4fdd\u6c34\u80fd\u529b\u3001\u6d78\u900f\u6027\u3001\u4f5c\u696d\u53ef\u80fd\u671f\u9593\u3092\u8aad\u307f\u53d6\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u767b\u9332\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3082\u4e0d\u8981\u3067\u3059\u3002.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/geopard.tech\/jp\/\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u4e09\u89d2\u5f62\/","og_locale":"ja_JP","og_type":"article","og_title":"Soil Texture Triangle Calculator - GeoPard","og_description":"Move three sliders to your lab result and read the USDA texture class, the water it holds for the crop, infiltration and working window. No signup, nothing uploaded.","og_url":"https:\/\/geopard.tech\/jp\/\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u4e09\u89d2\u5f62\/","og_site_name":"GeoPard - Precision agriculture Mapping software","article_publisher":"https:\/\/www.facebook.com\/geopardAgriculture\/","article_modified_time":"2026-09-28T14:48:16+00:00","og_image":[{"width":3116,"height":1754,"url":"https:\/\/i0.wp.com\/geopard.tech\/wp-content\/uploads\/2026\/03\/GeoPard-Background-Precision-Ag-software-Do-more-with-your-data.png?fit=3116%2C1754&ssl=1","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@geopardagri","twitter_misc":{"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"5\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/geopard.tech\/soil-texture-triangle\/","url":"https:\/\/geopard.tech\/soil-texture-triangle\/","name":"\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u4e09\u89d2\u5f62\u8a08\u7b97\u6a5f - GeoPard","isPartOf":{"@id":"https:\/\/geopard.tech\/#website"},"datePublished":"2026-09-28T14:18:50+00:00","dateModified":"2026-09-28T14:48:16+00:00","description":"3\u3064\u306e\u30b9\u30e9\u30a4\u30c0\u30fc\u3092\u52d5\u304b\u3057\u3066\u691c\u67fb\u7d50\u679c\u3092\u78ba\u8a8d\u3057\u3001USDA\u306e\u571f\u58cc\u30c6\u30af\u30b9\u30c1\u30e3\u5206\u985e\u3001\u4f5c\u7269\u306e\u4fdd\u6c34\u80fd\u529b\u3001\u6d78\u900f\u6027\u3001\u4f5c\u696d\u53ef\u80fd\u671f\u9593\u3092\u8aad\u307f\u53d6\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u767b\u9332\u3082\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3082\u4e0d\u8981\u3067\u3059\u3002.","breadcrumb":{"@id":"https:\/\/geopard.tech\/soil-texture-triangle\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geopard.tech\/soil-texture-triangle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/geopard.tech\/soil-texture-triangle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/geopard.tech\/"},{"@type":"ListItem","position":2,"name":"Soil Texture Triangle"}]},{"@type":"WebSite","@id":"https:\/\/geopard.tech\/#website","url":"https:\/\/geopard.tech\/","name":"GeoPard - \u7cbe\u5bc6\u8fb2\u696d\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2","description":"\u7cbe\u5bc6\u8fb2\u696d \u30de\u30c3\u30d4\u30f3\u30b0\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2","publisher":{"@id":"https:\/\/geopard.tech\/#organization"},"alternateName":"GeoPard","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geopard.tech\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/geopard.tech\/#organization","name":"\u30b8\u30aa\u30d1\u30fc\u30c9\u30fb\u30a2\u30b0\u30ea\u30ab\u30eb\u30c1\u30e3\u30fc","alternateName":"GeoPard","url":"https:\/\/geopard.tech\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/geopard.tech\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/geopard.tech\/wp-content\/uploads\/2026\/07\/geopard_logo_transparentbackground.png?fit=512%2C68&ssl=1","contentUrl":"https:\/\/i0.wp.com\/geopard.tech\/wp-content\/uploads\/2026\/07\/geopard_logo_transparentbackground.png?fit=512%2C68&ssl=1","width":512,"height":68,"caption":"GeoPard Agriculture"},"image":{"@id":"https:\/\/geopard.tech\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/geopardAgriculture\/","https:\/\/x.com\/geopardagri","https:\/\/www.linkedin.com\/company\/geopard-agriculture\/","https:\/\/www.instagram.com\/geopardagriculture\/","https:\/\/www.youtube.com\/channel\/UCiaPGLAhRPNh-s85dXdC-Sw","https:\/\/www.g2.com\/products\/geopard-agriculture-precision-farming-software\/reviews"]}]}},"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PdiCPa-3Jm","_links":{"self":[{"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/pages\/14344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/users\/210157960"}],"replies":[{"embeddable":true,"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/comments?post=14344"}],"version-history":[{"count":4,"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/pages\/14344\/revisions"}],"predecessor-version":[{"id":14383,"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/pages\/14344\/revisions\/14383"}],"wp:attachment":[{"href":"https:\/\/geopard.tech\/jp\/wp-json\/wp\/v2\/media?parent=14344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}