{"id":14479,"date":"2026-09-30T16:04:33","date_gmt":"2026-09-30T14:04:33","guid":{"rendered":"https:\/\/geopard.tech\/?page_id=14479"},"modified":"2026-09-30T21:17:44","modified_gmt":"2026-09-30T19:17:44","slug":"dokumentaatio","status":"publish","type":"page","link":"https:\/\/geopard.tech\/fin\/documentation\/","title":{"rendered":"GeoPardin dokumentaatio"},"content":{"rendered":"\n<!--\n  Inline hero for a standalone documentation page. The FRONT PAGE section does\n  not use this file: there the embed is one block inside an existing page, and\n  the page already has its own title.\n\n  Rule 24 (Roboto 400\/700, radii on the 2\/4\/6\/8 scale, measured surfaces, no\n  decorative gradient or shadow), rule 14 (centred), rule 7 (hides the theme's\n  bare page-title h1). No chip row: the search box is directly below, which is\n  the only thing a reader of a documentation index wants.\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 selectors never reach it. *\/\n#simple_page > .container > h1{display:none !important}\n.gp-lead .dxh{--f:\"Roboto\",-apple-system,\"Segoe UI\",Helvetica,Arial,sans-serif;font-family:var(--f);text-align:center;background:#eef4e8;border:1px solid #e3e7da;border-radius:8px;padding:28px 28px 24px;margin:6px 0 20px}\n.gp-lead .dxh-eyebrow{display:inline-block;font-family:var(--f);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#15701e;background:#ffffff;border:1px solid #e3e7da;border-radius:4px;padding:5px 11px;margin:0 0 14px}\n.gp-lead .dxh-title{font-family:var(--f);font-size:1.95rem;font-weight:700;line-height:1.18;letter-spacing:-.01em;color:#145328;margin:0 auto 12px;max-width:820px}\n.gp-lead .dxh .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@media (max-width:820px){\n  .gp-lead .dxh{padding:22px 18px 20px}\n  .gp-lead .dxh-title{font-size:1.5rem}\n  .gp-lead .dxh .lede{font-size:.98rem}\n}\n@media (max-width:480px){\n  .gp-lead .dxh{padding:18px 14px 16px}\n  .gp-lead .dxh-title{font-size:1.3rem}\n}\n<\/style>\n  <div class=\"dxh\">\n    <div class=\"dxh-eyebrow\">Documentation<\/div>\n    <h1 class=\"dxh-title\">Every workflow in GeoPard, written down.<\/h1>\n    <p class=\"lede\">The whole documentation in one place: the web app screen by screen, the agronomy behind each map, the API, and the app the scout carries. Search it, and read the answer without leaving this page.<\/p>\n  <\/div>\n<\/div>\n\n\n\n<div class=\"gp-docs\" id=\"gp-docs\" 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-docs{\n  --f:\"Roboto\",-apple-system,\"Segoe UI\",Helvetica,Arial,sans-serif;\n  --ink:#212121; --ink2:#2c3a30; --dim:#4c6066; --faint:#8a9a8e;\n  --accent:#145328; --accent-mid:#15701e; --accent-soft:#1b7a2a;\n  --panel:#ffffff; --paper:#fcfdf9; --paper2:#f6f9f0; --wash:#eef4e8; --wash2:#e4eedd;\n  --hair:#eef2e8; --line:#e3e7da; --mute:#c3cdbf;\n  color:var(--ink2);background:var(--paper);font-family:var(--f);font-size:16px;line-height:1.55;\n  font-variant-numeric:tabular-nums\n}\n.gp-docs *{box-sizing:border-box}\n.gp-docs [hidden]{display:none !important}\n.gp-docs p{margin:0}\n.gp-docs .dx{max-width:1600px;margin:0 auto;padding:36px 16px 40px;display:flex;flex-direction:column;gap:22px}\n\n\/* \u2500\u2500 head \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-mid);margin:0 0 10px}\n.gp-docs .dx-title{font-size:clamp(1.5rem,2.8vw,2.15rem);font-weight:700;line-height:1.16;letter-spacing:-.02em;color:var(--accent);margin:0 0 10px;max-width:22ch}\n.gp-docs .dx-lede{font-size:1.02rem;color:var(--dim);max-width:62ch}\n.gp-docs .dx-scope{font-size:.82rem;color:var(--faint);margin-top:10px}\n.gp-docs .dx-scope b{color:var(--ink2);font-weight:700}\n\n\/* \u2500\u2500 search \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-find{position:relative;background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:16px}\n.gp-docs .dx-find2{margin:0 0 14px;padding:12px 14px}\n.gp-docs .dx-lab{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-mid);margin:0 0 8px}\n.gp-docs .dx-q{font-family:var(--f);font-size:1rem;font-weight:400;color:var(--ink);background:var(--panel);border:1px solid var(--mute);border-radius:4px;min-height:52px;padding:10px 14px;width:100%;max-width:720px;display:block}\n.gp-docs .dx-q:focus{outline:2px solid var(--accent-soft);outline-offset:-1px}\n.gp-docs .dx-q::placeholder{color:var(--faint)}\n.gp-docs .dx-res{margin:10px 0 0;max-width:720px;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}\n.gp-docs .dx-row{display:block;padding:10px 14px;border-top:1px solid var(--hair);text-decoration:none;color:var(--ink2);cursor:pointer}\n.gp-docs .dx-row:first-child{border-top:0}\n.gp-docs button.dx-row{width:100%;text-align:left;font-family:var(--f);font-size:1rem;background:var(--panel);border:0;cursor:pointer}\n.gp-docs .dx-row:hover,.gp-docs .dx-row.on{background:var(--paper2)}\n.gp-docs .dx-row-t{display:block;font-size:.95rem;font-weight:700;color:var(--accent);line-height:1.35}\n.gp-docs .dx-row-m{display:block;font-size:.8rem;color:var(--faint);margin-top:2px}\n.gp-docs .dx-row-m i{font-style:normal;color:var(--accent-mid)}\n.gp-docs .dx-hint{font-size:.82rem;color:var(--faint);margin-top:8px}\n\n\/* \u2500\u2500 doorways: the home page variant only \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-doors{display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n\/* Rule 22: the marker is the first inline run of the door's own text. *\/\n.gp-docs .dx-door{display:inline-block;font-size:.92rem;font-weight:400;color:var(--accent-mid);text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:11px 14px 11px 2.1em;text-indent:-1.15em;min-height:44px;line-height:1.45}\n.gp-docs .dx-door:hover{border-color:var(--accent-soft);color:var(--accent)}\n.gp-docs .dx-door .mk{color:var(--mute);margin-right:.45em}\n.gp-docs .dx-door:hover .mk{color:var(--accent-soft)}\n.gp-docs .dx-allpages{font-size:.88rem;color:var(--dim);text-decoration:none;display:inline-block;padding:11px 4px;min-height:44px;line-height:1.45}\n.gp-docs .dx-allpages b{color:var(--ink2);font-weight:700}\n.gp-docs .dx-allpages:hover{color:var(--accent)}\n\n\/* \u2500\u2500 the four steps \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-h2{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0 0 14px}\n.gp-docs .dx-sub{font-size:.9rem;color:var(--faint);margin:0 0 14px}\n.gp-docs .dx-steps{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none}\n.gp-docs .dx-step{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 16px}\n\/* The ordinal is a node, not a shouted label. 4 px keeps it on the shape scale\n   (rule 24): a round one would be a 999 px pill. The list is an <ol>, so the\n   order is in the markup and the node is decoration on top of it. *\/\n.gp-docs .dx-step-n{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;background:var(--accent);color:#ffffff;font-size:.8rem;font-weight:700;margin:0 0 8px;font-variant-numeric:tabular-nums}\n.gp-docs .dx-step-t{font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 4px}\n.gp-docs .dx-step-d{font-size:.88rem;color:var(--dim);margin:0 0 10px}\n\n\/* \u2500\u2500 link lists \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}\n.gp-docs .dx-links li{margin:0}\n.gp-docs .dx-a{display:block;font-size:.9rem;color:var(--accent-mid);text-decoration:none;padding:7px 0 7px 1.15em;text-indent:-1.15em;min-height:44px;line-height:1.45}\n.gp-docs .dx-a .mk{color:var(--mute);margin-right:.45em}\n.gp-docs .dx-a:hover{color:var(--accent);text-decoration:underline}\n.gp-docs .dx-a:hover .mk{color:var(--accent-soft)}\n\n\/* \u2500\u2500 section cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-secs{display:grid;grid-template-columns:1fr;gap:12px}\n.gp-docs .dx-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column}\n.gp-docs .dx-card-h{display:flex;align-items:flex-start;gap:10px;margin:0 0 4px}\n.gp-docs .dx-ico{flex:none;width:22px;height:22px;margin-top:1px;fill:none;stroke:var(--accent-mid);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}\n.gp-docs .dx-card-t{font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0}\n.gp-docs .dx-card-d{font-size:.88rem;color:var(--dim);margin:0 0 10px}\n\/* Rule 18 allows a one-sided coloured border where it carries state. A tab\n   underline is exactly that: it says which set of cards you are looking at. *\/\n.gp-docs .dx-tabs{display:flex;flex-wrap:wrap;gap:2px;margin:0 0 14px;border-bottom:1px solid var(--line)}\n.gp-docs .dx-tab{font-family:var(--f);font-size:.92rem;font-weight:400;color:var(--dim);background:transparent;border:0;border-bottom:3px solid transparent;min-height:44px;padding:0 14px;cursor:pointer;margin-bottom:-1px}\n.gp-docs .dx-tab:hover{color:var(--accent)}\n.gp-docs .dx-tab.on{color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}\n\n\/* \u2500\u2500 ask row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-ask{background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:16px}\n.gp-docs .dx-qs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}\n.gp-docs .dx-qbtn{font-family:var(--f);font-size:.88rem;font-weight:400;text-align:left;color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:4px;min-height:44px;padding:8px 12px;cursor:pointer}\n.gp-docs .dx-qbtn:hover{border-color:var(--accent-soft);color:var(--accent)}\n\n\/* \u2500\u2500 foot \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.gp-docs .dx-foot{font-size:.84rem;color:var(--faint);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}\n.gp-docs .dx-foot a{color:var(--accent-mid);text-decoration:none}\n.gp-docs .dx-foot a:hover{text-decoration:underline}\n\n\/* The docs panel is a third-party element injected at click time. It ships at\n   z-index 9998 and the geopard theme's sticky header sits at 999999999, so\n   without this lift the header paints over the panel. Narrow by construction:\n   two ids that only exist once the reader has opened the docs. *\/\n#gitbook-widget-window{z-index:1000000001}\n#gitbook-widget-button{z-index:1000000002}\n\n@media (min-width:760px){\n  .gp-docs .dx-steps{grid-template-columns:repeat(2,1fr)}\n  .gp-docs .dx-secs{grid-template-columns:repeat(2,1fr)}\n}\n@media (min-width:1200px){\n  .gp-docs .dx{padding:44px 24px 52px;gap:28px}\n  .gp-docs .dx-steps{grid-template-columns:repeat(4,1fr)}\n  .gp-docs .dx-step + .dx-step::before{content:\"\";position:absolute;left:-13px;top:27px;width:13px;height:1px;background:var(--mute)}\n  .gp-docs .dx-secs{grid-template-columns:repeat(3,1fr)}\n  .gp-docs .dx-q{max-width:840px}\n  .gp-docs .dx-res{max-width:840px}\n}\n@media (max-width:820px){\n  .gp-docs .dx{padding:28px 14px 32px;gap:18px}\n  .gp-docs .dx-find,.gp-docs .dx-ask{padding:14px}\n  .gp-docs .dx-find2{padding:12px}\n  .gp-docs .dx-qbtn{width:100%}\n  \/* Three tabs do not fit a phone. Wrapping puts the third on its own row\n     under an underline that belongs to the first, which reads as broken, so\n     the strip scrolls sideways instead, the way the FAQ tablist does. *\/\n  .gp-docs .dx-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}\n  .gp-docs .dx-tabs::-webkit-scrollbar{display:none}\n  .gp-docs .dx-tab{flex:0 0 auto;white-space:nowrap;padding:0 12px;font-size:.88rem}\n  .gp-docs .dx-card,.gp-docs .dx-step{padding:12px 14px}\n  .gp-docs .dx-card-d,.gp-docs .dx-step-d{font-size:.86rem}\n  .gp-docs .dx-links{gap:0}\n  .gp-docs .dx-a{padding-top:6px;padding-bottom:6px}\n}\n@media (max-width:480px){\n  .gp-docs .dx-title{max-width:none}\n  .gp-docs .dx-all{max-height:260px}\n}\n<\/style>\n\n<div class=\"dx\">\n\n  <div class=\"dx-head\" data-dx-home hidden>\n    <div class=\"dx-eyebrow\">Documentation<\/div>\n    <h2 class=\"dx-title\">Every workflow in GeoPard, written down.<\/h2>\n    <p class=\"dx-lede\">Search it here, and read the answer without leaving the page you are on.<\/p>\n  <\/div>\n\n  <div class=\"dx-find\" data-gp-docsearch>\n    <label class=\"dx-lab\" for=\"dx-q\">Search the documentation<\/label>\n    <input class=\"dx-q\" id=\"dx-q\" data-ds-input type=\"search\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"yield cleaning, zones from soil data, API key, work plan\">\n    <div class=\"dx-res\" id=\"dx-res\" data-ds-results role=\"listbox\" aria-label=\"Search results\" hidden><\/div>\n    <div class=\"dx-res\" id=\"dx-none\" data-ds-none hidden><button class=\"dx-row\" type=\"button\" id=\"dx-none-b\"><span class=\"dx-row-t\">Nothing matched. Ask the docs assistant instead.<\/span><span class=\"dx-row-m\">It answers out of these pages, and links the ones it used.<\/span><\/button><\/div>\n    <p class=\"dx-hint\" id=\"dx-hint\" data-ds-hint hidden>Opens here on the page. Arrow keys to move, Enter to open.<\/p>\n    <p class=\"dx-scope\" data-dx-full><b data-dx-n=\"pages\">309<\/b> pages, in <b data-dx-n=\"langs\">25<\/b> languages. Last updated <b data-dx-n=\"updated\">September 2026<\/b>.<\/p>\n  <\/div>\n\n  <div class=\"dx-doors\" data-dx-home hidden>\n    <a class=\"dx-door\" data-p=\"agronomy\/field-management-zones-productivity-zones-creation-process\"><span class=\"mk\">&#8250;<\/span>Split a field into zones<\/a>\n    <a class=\"dx-door\" data-p=\"agronomy\/variable-rate-fertilizer-maps\"><span class=\"mk\">&#8250;<\/span>Vary the fertiliser rate<\/a>\n    <a class=\"dx-door\" data-p=\"agronomy\/yield-calibration-and-cleaning\"><span class=\"mk\">&#8250;<\/span>Fix a messy yield map<\/a>\n    <a class=\"dx-door\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/8.-export-rx-maps-to-john-deere-operations-center-as-work-plans\"><span class=\"mk\">&#8250;<\/span>Send it to the machine<\/a>\n    <a class=\"dx-allpages\" href=\"https:\/\/geopard.tech\/documentation\/\">All <b data-dx-n=\"pages\">309<\/b> pages, in <b data-dx-n=\"langs\">25<\/b> languages<\/a>\n  <\/div>\n\n  <div class=\"dx-block\" data-dx-full>\n    <h2 class=\"dx-h2\">Start here<\/h2>\n    <ol class=\"dx-steps\">\n      <li class=\"dx-step\">\n        <span class=\"dx-step-n\" aria-hidden=\"true\">1<\/span>\n        <p class=\"dx-step-t\">Get the data in<\/p>\n        <p class=\"dx-step-d\">Boundaries, yield, as-applied, soil labs, scans, elevation. From a file, or straight from the machine account.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\"><span class=\"mk\">&#8250;<\/span>Import Precision Agriculture Data<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\"><span class=\"mk\">&#8250;<\/span>John Deere Operations Center Integration<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-calibration-and-cleaning\"><span class=\"mk\">&#8250;<\/span>Yield Calibration and Cleaning<\/a><\/li>\n        <\/ul>\n      <\/li>\n      <li class=\"dx-step\">\n        <span class=\"dx-step-n\" aria-hidden=\"true\">2<\/span>\n        <p class=\"dx-step-t\">Turn layers into zones<\/p>\n        <p class=\"dx-step-d\">One layer or several at once, from satellite growth, soil, yield or topography. Edit them by hand where you know better.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\"><span class=\"mk\">&#8250;<\/span>Zones Maps and Analytics<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-soil-yield-or-as-applied-data\"><span class=\"mk\">&#8250;<\/span>Create a Zones Map Using Soil, Yield, or As-Applied Data<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/multi-layer-analytics\"><span class=\"mk\">&#8250;<\/span>Multi-Layer Analytics<\/a><\/li>\n        <\/ul>\n      <\/li>\n      <li class=\"dx-step\">\n        <span class=\"dx-step-n\" aria-hidden=\"true\">3<\/span>\n        <p class=\"dx-step-t\">Write the rates, send the file<\/p>\n        <p class=\"dx-step-d\">Put a rate on every zone, then export it in the format your terminal reads, or push it to the machine account as a work plan.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/assign-variable-rates-in-zones-ag-input-rates-distribution-tool\"><span class=\"mk\">&#8250;<\/span>Assign Variable Rates in Zones<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/8.-export-rx-maps-to-john-deere-operations-center-as-work-plans\"><span class=\"mk\">&#8250;<\/span>Export Rx Maps as Work Plans<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\"><span class=\"mk\">&#8250;<\/span>Export and download formats<\/a><\/li>\n        <\/ul>\n      <\/li>\n      <li class=\"dx-step\">\n        <span class=\"dx-step-n\" aria-hidden=\"true\">4<\/span>\n        <p class=\"dx-step-t\">Find out whether it paid<\/p>\n        <p class=\"dx-step-d\">Compare what you planned against what the machine actually applied, and against what came off at harvest.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-report\"><span class=\"mk\">&#8250;<\/span>Yield Report<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/field-trial-analytics\"><span class=\"mk\">&#8250;<\/span>Field Trial Analytics<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-fertilizer-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Fertilizer Application<\/a><\/li>\n        <\/ul>\n      <\/li>\n    <\/ol>\n  <\/div>\n\n  <div class=\"dx-block\" data-dx-full>\n    <h2 class=\"dx-h2\">Find it by what you are doing<\/h2>\n    <div class=\"dx-find dx-find2\" data-gp-docsearch data-ds-limit=\"6\">\n      <label class=\"dx-lab\" for=\"dx-q2\">Search the documentation<\/label>\n      <input class=\"dx-q\" id=\"dx-q2\" data-ds-input type=\"search\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"work plan, lime, shapefile, API key\">\n      <div class=\"dx-res\" data-ds-results role=\"listbox\" aria-label=\"Search results\" hidden><\/div>\n      <div class=\"dx-res\" data-ds-none hidden><button class=\"dx-row\" type=\"button\"><span class=\"dx-row-t\">Nothing matched. Ask the docs assistant instead.<\/span><span class=\"dx-row-m\">It answers out of these pages, and links the ones it used.<\/span><\/button><\/div>\n    <\/div>\n\n    <div class=\"dx-tabs\" role=\"tablist\">\n      <button class=\"dx-tab on\" type=\"button\" role=\"tab\" aria-selected=\"true\" data-facet=\"operation\">By the field operation<\/button>\n      <button class=\"dx-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-facet=\"job\">By the job<\/button>\n      <button class=\"dx-tab\" type=\"button\" role=\"tab\" aria-selected=\"false\" data-facet=\"file\">By the file you have<\/button>\n    <\/div>\n<!-- GPD-FACETS BEGIN -->\n    <div class=\"dx-secs\" data-facet-panel=\"operation\">\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21v-7\"\/><path d=\"M12 14c0-3.3-2.7-6-6-6 0 3.3 2.7 6 6 6z\"\/><path d=\"M12 14c0-3.3 2.7-6 6-6 0 3.3-2.7 6-6 6z\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Seeding and planting<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Plan the population, then check what the planter really put down.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/variable-rate-seeding-planting-maps\"><span class=\"mk\">&#8250;<\/span>Variable Rate Seeding (Planting) Maps<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-seeding-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Seeding Application<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/as-applied-as-planted-data-import\"><span class=\"mk\">&#8250;<\/span>As-Applied\/As-Planted Data Import<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"8\" y=\"3\" width=\"8\" height=\"5\" rx=\"1\"\/><path d=\"M12 8v3\"\/><circle cx=\"6\" cy=\"15\" r=\"1\"\/><circle cx=\"12\" cy=\"17\" r=\"1\"\/><circle cx=\"18\" cy=\"15\" r=\"1\"\/><circle cx=\"9\" cy=\"20\" r=\"1\"\/><circle cx=\"15\" cy=\"20\" r=\"1\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Fertilising<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Rate per zone, the nitrogen reasoning, and the file that gets it into the spreader.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/variable-rate-fertilizer-maps\"><span class=\"mk\">&#8250;<\/span>Variable Rate Fertilizer Maps<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/nitrogen-use-efficiency-nue-and-nitrogen-uptake\"><span class=\"mk\">&#8250;<\/span>Nitrogen Use Efficiency (NUE) and Nitrogen Uptake<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-fertilizer-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Fertilizer Application<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/export-application-operation-data-to-john-deere-ops-center\"><span class=\"mk\">&#8250;<\/span>Export Application Operation data to John Deere Ops Center<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 7h18\"\/><path d=\"M7 7v3M12 7v3M17 7v3\"\/><path d=\"M5 14l2-3 2 3M10 14l2-3 2 3M15 14l2-3 2 3\"\/><path d=\"M6 19h2M11 19h2M16 19h2\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Spraying<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Find the patches worth treating, and read back what a targeted sprayer decided to do.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/weed-patches-detection-and-herbicide-vra-rx-map\"><span class=\"mk\">&#8250;<\/span>Weed Patches Detection and Herbicide VRA Rx Map<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/analyzing-john-deere-see-and-spray-data-with-custom-formulas\"><span class=\"mk\">&#8250;<\/span>Analyzing John Deere See and Spray Data with Custom Formulas<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 3c-4 6-5 8-5 10a5 5 0 0 0 10 0c0-2-1-4-5-10z\"\/><path d=\"M9.5 14h5\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Liming<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Rate lime against measured pH instead of a field average.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/vr-lime-application-based-on-soil-ph-data\"><span class=\"mk\">&#8250;<\/span>VR Lime Application Based on Soil pH Data<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/soil-lab-results-csv-excel-smart-import\"><span class=\"mk\">&#8250;<\/span>Soil Lab results (CSV\/Excel) &#8211; Smart Import<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 5h18\"\/><path d=\"M7 5v6l-2 3M12 5v7l-2 3M17 5v6l-2 3\"\/><path d=\"M3 20h18\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Tillage<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Work deep only where the soil is actually compacted, and leave the rest alone.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/vr-tillage-from-soil-compaction\"><span class=\"mk\">&#8250;<\/span>VR Tillage from Soil Compaction<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/geopard-mcp\/optimal-tillage-depth\"><span class=\"mk\">&#8250;<\/span>Optimal Tillage Depth<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21V6\"\/><path d=\"M12 8L8 5M12 8l4-3M12 12l-4-3M12 12l4-3M12 16l-4-3M12 16l4-3\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Harvest<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Get the harvest file in, make it trustworthy, and compare the season against the last one.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/yield-data-import\"><span class=\"mk\">&#8250;<\/span>Yield Data Import<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-calibration-and-cleaning\"><span class=\"mk\">&#8250;<\/span>Yield Calibration and Cleaning<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-report\"><span class=\"mk\">&#8250;<\/span>Yield Report<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/comparing-yield-datasets\"><span class=\"mk\">&#8250;<\/span>Comparing Yield Datasets<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6 3h12\"\/><path d=\"M12 3v12\"\/><path d=\"M9 15h6l-3 5z\"\/><path d=\"M3 11h4M17 11h4\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Soil sampling<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Points, routes and the scan, from planning the walk to reading the results.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/soil-sampling-automated-planning\"><span class=\"mk\">&#8250;<\/span>Soil Sampling &#8211; Automated Planning<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/create-soil-sampling-zones-points-routes-export-as-kml-and-execute\"><span class=\"mk\">&#8250;<\/span>Create Soil Sampling Zones, Points, Routes, Export as KML, and Execute<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/compare-soil-scanner-data-between-years\"><span class=\"mk\">&#8250;<\/span>Compare Soil Scanner Data between Years<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21s6-5.3 6-10a6 6 0 1 0-12 0c0 4.7 6 10 6 10z\"\/><circle cx=\"12\" cy=\"11\" r=\"2\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Scouting<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Walk the field against the zones map, drop pins, and take the notes back out again.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-mobile-app\/working-in-the-field-scouting-zones-maps\"><span class=\"mk\">&#8250;<\/span>Working in the field\/Scouting zones maps<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-mobile-app\/working-offline\"><span class=\"mk\">&#8250;<\/span>Working offline<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/export-scouting-notes-as-shapefile\"><span class=\"mk\">&#8250;<\/span>Export Scouting Notes as Shapefile<\/a><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n    <div class=\"dx-secs\" data-facet-panel=\"job\" hidden>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M9 5v14M15 5v14\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Split a field into zones<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Which layer to zone on, how many zones, and what to do when one year disagrees with the next.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/field-management-zones-productivity-zones-creation-process\"><span class=\"mk\">&#8250;<\/span>Field Management Zones (Productivity Zones) Creation Process<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-soil-yield-or-as-applied-data\"><span class=\"mk\">&#8250;<\/span>Create a Zones Map Using Soil, Yield, or As-Applied Data<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/multi-layer-analytics\"><span class=\"mk\">&#8250;<\/span>Multi-Layer Analytics<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/multi-year-zones\"><span class=\"mk\">&#8250;<\/span>Multi-Year Zones<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"8\" y=\"3\" width=\"8\" height=\"5\" rx=\"1\"\/><path d=\"M12 8v3\"\/><circle cx=\"6\" cy=\"15\" r=\"1\"\/><circle cx=\"12\" cy=\"17\" r=\"1\"\/><circle cx=\"18\" cy=\"15\" r=\"1\"\/><circle cx=\"9\" cy=\"20\" r=\"1\"\/><circle cx=\"15\" cy=\"20\" r=\"1\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Vary the fertiliser rate<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">From a zones map to a rate per zone, out as a file the spreader reads, and the nitrogen logic behind the number.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/variable-rate-fertilizer-maps\"><span class=\"mk\">&#8250;<\/span>Variable Rate Fertilizer Maps<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/assign-variable-rates-in-zones-ag-input-rates-distribution-tool\"><span class=\"mk\">&#8250;<\/span>Assign Variable Rates in Zones (Ag Input Rates Distribution Tool)<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/nitrogen-use-efficiency-nue-and-nitrogen-uptake\"><span class=\"mk\">&#8250;<\/span>Nitrogen Use Efficiency (NUE) and Nitrogen Uptake<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/export-vra-map-in-isoxml-format\"><span class=\"mk\">&#8250;<\/span>Export VRA Map in ISOXML Format<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21v-7\"\/><path d=\"M12 14c0-3.3-2.7-6-6-6 0 3.3 2.7 6 6 6z\"\/><path d=\"M12 14c0-3.3 2.7-6 6-6 0 3.3-2.7 6-6 6z\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Vary the seeding rate<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Where a higher population pays and where it costs you, including rates driven by water holding and organic matter.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/variable-rate-seeding-planting-maps\"><span class=\"mk\">&#8250;<\/span>Variable Rate Seeding (Planting) Maps<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/vra-seeding-and-nitrogen-maps-from-plant-available-water-and-organic-matter\"><span class=\"mk\">&#8250;<\/span>VRA Seeding and Nitrogen Maps from Plant Available Water and Organic Matter<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-seeding-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Seeding Application<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M7 15l3-4 2.5 3 2-2.5L18 15\"\/><path d=\"M16 6l.9 2.1L19 9l-2.1.9L16 12l-.9-2.1L13 9l2.1-.9z\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Fix a messy yield map<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Turnarounds, half a header, two combines disagreeing, and the gaps where nothing was logged.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-calibration-and-cleaning\"><span class=\"mk\">&#8250;<\/span>Yield Calibration and Cleaning<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/synthetic-yield-map\"><span class=\"mk\">&#8250;<\/span>Synthetic Yield Map<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/comparing-yield-datasets\"><span class=\"mk\">&#8250;<\/span>Comparing Yield Datasets<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"gis-quick-hints\/qgis-yield-data-manipulations\"><span class=\"mk\">&#8250;<\/span>QGIS: Yield Data Manipulations<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6 3h12\"\/><path d=\"M12 3v12\"\/><path d=\"M9 15h6l-3 5z\"\/><path d=\"M3 11h4M17 11h4\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Plan the soil sampling<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Where the points go, the route between them, and what to do with the laboratory sheet when it comes back.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/soil-sampling-automated-planning\"><span class=\"mk\">&#8250;<\/span>Soil Sampling &#8211; Automated Planning<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/create-soil-sampling-zones-points-routes-export-as-kml-and-execute\"><span class=\"mk\">&#8250;<\/span>Create Soil Sampling Zones, Points, Routes, Export as KML, and Execute<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/soil-lab-results-csv-excel-smart-import\"><span class=\"mk\">&#8250;<\/span>Soil Lab results (CSV\/Excel) &#8211; Smart Import<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><circle cx=\"12\" cy=\"6\" r=\"2.5\"\/><circle cx=\"6\" cy=\"17\" r=\"2.5\"\/><circle cx=\"18\" cy=\"17\" r=\"2.5\"\/><path d=\"M10.6 8.2L7.4 14.8M13.4 8.2l3.2 6.6M8.5 17h7\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Lime, tillage and herbicide<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">The three variable rate jobs that are not seed or nitrogen, each driven off a different layer.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/vr-lime-application-based-on-soil-ph-data\"><span class=\"mk\">&#8250;<\/span>VR Lime Application Based on Soil pH Data<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/vr-tillage-from-soil-compaction\"><span class=\"mk\">&#8250;<\/span>VR Tillage from Soil Compaction<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/weed-patches-detection-and-herbicide-vra-rx-map\"><span class=\"mk\">&#8250;<\/span>Weed Patches Detection and Herbicide VRA Rx Map<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"\/><path d=\"M8 16V9M12 16v-4M16 16v-6\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Run a trial and read it<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Lay out strips or blocks, keep the treatments straight through the season, then find out which one won.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/on-farm-trials-design-and-creation\"><span class=\"mk\">&#8250;<\/span>On-Farm Trials Design and Creation<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/field-trial-analytics\"><span class=\"mk\">&#8250;<\/span>Field Trial Analytics<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/use-case-variable-rate-nitrogen-vra-for-potatoes-to-realize-5-10-more-yield\"><span class=\"mk\">&#8250;<\/span>Use Case: Variable-Rate Nitrogen (VRA) for Potatoes to Realize 5\u201310% More Yield<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M4 20h16\"\/><rect x=\"5\" y=\"12\" width=\"3.5\" height=\"6\"\/><rect x=\"10.2\" y=\"8\" width=\"3.5\" height=\"10\"\/><rect x=\"15.5\" y=\"4\" width=\"3.5\" height=\"14\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Prove it paid<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">What the machine actually applied against what you asked for, and what came off the field because of it.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-report\"><span class=\"mk\">&#8250;<\/span>Yield Report<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-fertilizer-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Fertilizer Application<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-seeding-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Seeding Application<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M9 7l-5 5 5 5M15 7l5 5-5 5\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Put it in your own software<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Authenticate, push a field, pull a zones map or gridded layer back, and let your own product do the rest.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"api-docs\/getting-started-with-the-geopard-api\"><span class=\"mk\">&#8250;<\/span>Getting Started with the GeoPard API<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"api-docs\/authorization-apikey-credentials-or-oauth-2.0\"><span class=\"mk\">&#8250;<\/span>Authorization: ApiKey, Credentials or OAuth 2.0<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"api-docs\/diagrams-with-basic-flows\"><span class=\"mk\">&#8250;<\/span>Diagrams with Basic Flows<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/geopard-mcp\/connect-geopard-mcp\"><span class=\"mk\">&#8250;<\/span>Connect GeoPard MCP<\/a><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n    <div class=\"dx-secs\" data-facet-panel=\"file\" hidden>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21V6\"\/><path d=\"M12 8L8 5M12 8l4-3M12 12l-4-3M12 12l4-3M12 16l-4-3M12 16l4-3\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A yield monitor file<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Straight off the combine, in whatever the machine writes.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/yield-data-import\"><span class=\"mk\">&#8250;<\/span>Yield Data Import<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/machinery-proprietary-formats\"><span class=\"mk\">&#8250;<\/span>Machinery Proprietary Formats<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/yield-calibration-and-cleaning\"><span class=\"mk\">&#8250;<\/span>Yield Calibration and Cleaning<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 17c4 0 4-10 8-10s4 10 8 10\"\/><circle cx=\"5\" cy=\"15.5\" r=\"1\"\/><circle cx=\"11\" cy=\"9.5\" r=\"1\"\/><circle cx=\"17\" cy=\"15.5\" r=\"1\"\/><\/svg>\n          <h3 class=\"dx-card-t\">An as-applied or as-planted file<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">What the machine logged on the pass, which is rarely what the plan said.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/as-applied-as-planted-data-import\"><span class=\"mk\">&#8250;<\/span>As-Applied\/As-Planted Data Import<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/evaluate-accuracy-of-fertilizer-application\"><span class=\"mk\">&#8250;<\/span>Evaluate Accuracy of Fertilizer Application<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-mobile-app\/viewing-as-applied-datasets\"><span class=\"mk\">&#8250;<\/span>Viewing as-applied datasets<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6 3h8l4 4v14H6z\"\/><path d=\"M14 3v4h4\"\/><path d=\"M9 12h6M9 15h6M9 18h3\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A soil laboratory sheet<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">A CSV or an Excel file with pH, phosphorus, potassium and organic matter per point.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/soil-lab-results-csv-excel-smart-import\"><span class=\"mk\">&#8250;<\/span>Soil Lab results (CSV\/Excel) &#8211; Smart Import<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-soil-yield-or-as-applied-data\"><span class=\"mk\">&#8250;<\/span>Create a Zones Map Using Soil, Yield, or As-Applied Data<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M3 18h18\"\/><path d=\"M5 14a7 7 0 0 1 14 0\"\/><path d=\"M8.5 14a3.5 3.5 0 0 1 7 0\"\/><circle cx=\"12\" cy=\"14\" r=\"1\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A soil scan<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Conductivity, gamma or a texture proxy, as a shapefile of points with coordinates.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/soil-data-shp-with-coordinates\"><span class=\"mk\">&#8250;<\/span>Soil Data (shp, with coordinates)<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/compare-soil-scanner-data-between-years\"><span class=\"mk\">&#8250;<\/span>Compare Soil Scanner Data between Years<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"agronomy\/detecting-clay-and-sand-with-sbi\"><span class=\"mk\">&#8250;<\/span>Detecting Clay and Sand with SBI<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M5 8l6-4 8 3-2 11-9 2z\"\/><circle cx=\"5\" cy=\"8\" r=\"1.3\"\/><circle cx=\"11\" cy=\"4\" r=\"1.3\"\/><circle cx=\"19\" cy=\"7\" r=\"1.3\"\/><circle cx=\"17\" cy=\"18\" r=\"1.3\"\/><circle cx=\"8\" cy=\"20\" r=\"1.3\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A field boundary<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Shapefile, KML or GeoJSON, including the one file that holds forty fields at once.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/import-precision-agriculture-data\/import-field-boundaries\"><span class=\"mk\">&#8250;<\/span>Import Field Boundaries<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/farm-user-and-access-setup\/upload-a-field-boundary\"><span class=\"mk\">&#8250;<\/span>Upload a field boundary<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"gis-quick-hints\/qgis-split-multi-field-shapefiles\"><span class=\"mk\">&#8250;<\/span>QGIS: Split Multi-field Shapefiles<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/field-boundary-export\"><span class=\"mk\">&#8250;<\/span>Field Boundary Export<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M7 16a4 4 0 0 1 .8-7.9 5.5 5.5 0 0 1 10.5 1.6A3.6 3.6 0 0 1 17.5 16z\"\/><path d=\"M12 12v7M9.5 16.5L12 19l2.5-2.5\"\/><\/svg>\n          <h3 class=\"dx-card-t\">Nothing but a machine account<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">No files at all. Connect the account and let the fields, boundaries and operations come across.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/2.-connect-to-john-deere-operations-center\"><span class=\"mk\">&#8250;<\/span>2. Connect to John Deere Operations Center<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/4.-import-into-geopard-from-john-deere-operations-center\"><span class=\"mk\">&#8250;<\/span>4. Import into GeoPard from John Deere Operations Center<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/5.-configure-automated-data-sync\"><span class=\"mk\">&#8250;<\/span>5. Configure Automated Data Sync<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/8.-export-rx-maps-to-john-deere-operations-center-as-work-plans\"><span class=\"mk\">&#8250;<\/span>8. Export Rx Maps to John Deere Operations Center as Work Plans<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6 3h8l4 4v14H6z\"\/><path d=\"M14 3v4h4\"\/><rect x=\"9\" y=\"11\" width=\"6\" height=\"3\"\/><path d=\"M9 17h6\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A prescription the terminal has to read<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">ISOXML, shapefile, or a work plan pushed straight into the machine account.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/export-vra-map-in-isoxml-format\"><span class=\"mk\">&#8250;<\/span>Export VRA Map in ISOXML Format<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/zones-map-export-as-shapefile\"><span class=\"mk\">&#8250;<\/span>Zones Map Export as shapefile<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/john-deere-operations-center-integration\/6.-export-rx-maps-to-john-deere-operations-center-as-files\"><span class=\"mk\">&#8250;<\/span>6. Export Rx Maps to John Deere Operations Center as Files<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><rect x=\"3\" y=\"3\" width=\"6\" height=\"6\"\/><rect x=\"10\" y=\"3\" width=\"6\" height=\"6\"\/><rect x=\"3\" y=\"10\" width=\"6\" height=\"6\"\/><rect x=\"10\" y=\"10\" width=\"6\" height=\"6\"\/><path d=\"M19 6.5h2M20 3v7\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A drone or satellite raster<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">A GeoTIFF from a flight, or imagery you want out of the platform and into your own GIS.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"gis-quick-hints\/qgis-calculate-ndvi-for-the-drone-geotiff-file\"><span class=\"mk\">&#8250;<\/span>QGIS: Calculate NDVI for the Drone Geotiff File<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/export-download\/satellite-imagery-export-as-geotiff-or-geojson\"><span class=\"mk\">&#8250;<\/span>Satellite Imagery Export as GeoTIFF or GeoJSON<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/satellite-monitoring\/indices-for-crops-and-soils\"><span class=\"mk\">&#8250;<\/span>Indices for Crops and Soils<\/a><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"dx-card\">\n        <div class=\"dx-card-h\">\n          <svg class=\"dx-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6 3h8l4 4v14H6z\"\/><path d=\"M14 3v4h4\"\/><path d=\"M10 12l4 5M14 12l-4 5\"\/><\/svg>\n          <h3 class=\"dx-card-t\">A file that will not load<\/h3>\n        <\/div>\n        <p class=\"dx-card-d\">Wrong projection, numbers stored as text, a CSV that should have been a shapefile.<\/p>\n        <ul class=\"dx-links\">\n          <li><a class=\"dx-a\" data-p=\"gis-quick-hints\/qgis-reproject-shapefile\"><span class=\"mk\">&#8250;<\/span>QGIS: Reproject Shapefile<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"gis-quick-hints\/qgis-change-string-to-number-values-in-the-shapefile\"><span class=\"mk\">&#8250;<\/span>QGIS: Change String to Number values in the shapefile<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"gis-quick-hints\/qgis-convert-csv-to-shp\"><span class=\"mk\">&#8250;<\/span>QGIS: Convert CSV to SHP<\/a><\/li>\n          <li><a class=\"dx-a\" data-p=\"product-tour-web-app\/operations-log-track-errors-imports-and-analytics\"><span class=\"mk\">&#8250;<\/span>Operations Log &#8211; Track errors\/Imports and Analytics<\/a><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n<!-- GPD-FACETS END -->\n  <\/div>\n\n  <div class=\"dx-ask\" data-dx-full>\n    <h2 class=\"dx-h2\">Ask instead of searching<\/h2>\n    <div class=\"dx-qs\">\n      <button class=\"dx-qbtn\" type=\"button\">How do I clean and calibrate a yield map?<\/button>\n      <button class=\"dx-qbtn\" type=\"button\">Which layers should I build management zones from?<\/button>\n      <button class=\"dx-qbtn\" type=\"button\">How do I send a prescription to John Deere Operations Center?<\/button>\n      <button class=\"dx-qbtn\" type=\"button\">How do I get an API key?<\/button>\n    <\/div>\n  <\/div>\n\n  <p class=\"dx-foot\">\n    <span id=\"dx-lang\" hidden>This documentation is also written in your language. <a class=\"dx-a2\" href=\"https:\/\/docs.geopard.tech\/geopard-tutorials\" id=\"dx-lang-a\">Open it<\/a><\/span>\n    <span data-dx-full>Prefer the full site? <a href=\"https:\/\/docs.geopard.tech\/geopard-tutorials\" rel=\"noopener\">docs.geopard.tech<\/a><\/span>\n  <\/p>\n\n<\/div>\n\n<script type=\"application\/json\" id=\"dx-data\" data-gp-docs-index nowprocket data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\">{\"built\":\"2026-09-30\",\"origin\":\"https:\/\/docs.geopard.tech\",\"space\":\"\/geopard-tutorials\",\"languages\":25,\"sections\":[{\"slug\":\"geopard-docs-precision-agriculture-tutorials-and-api-reference\",\"title\":\"GeoPard Tutorials Precision Agriculture Software\",\"count\":2},{\"slug\":\"product-tour-web-app\",\"title\":\"Product Tour - Web App\",\"count\":100},{\"slug\":\"changelog-and-product-releases\",\"title\":\"Changelog and Product Releases\",\"count\":26},{\"slug\":\"agronomy\",\"title\":\"Agronomy\",\"count\":23},{\"slug\":\"product-tour-mobile-app\",\"title\":\"Product Tour - Mobile App\",\"count\":13},{\"slug\":\"api-docs\",\"title\":\"API Docs\",\"count\":134},{\"slug\":\"platform-roadmap\",\"title\":\"Platform Roadmap\",\"count\":1},{\"slug\":\"gis-quick-hints\",\"title\":\"GIS Quick Hints\",\"count\":9},{\"slug\":\"policies\",\"title\":\"Policies\",\"count\":1}],\"u\":[\"geopard-docs-precision-agriculture-tutorials-and-api-reference\/geopard-platform-frequently-asked-questions-faq\",\"geopard-docs-precision-agriculture-tutorials-and-api-reference\/glossary-precision-ag-terms-used-in-geopard\",\"product-tour-web-app\/3d-maps\",\"product-tour-web-app\/compare-layers\",\"product-tour-web-app\/equation-based-analytics\",\"product-tour-web-app\/equation-based-analytics\/batch-equation-analytics\",\"product-tour-web-app\/equation-based-analytics\/catalog-of-custom-functions\",\"product-tour-web-app\/equation-based-analytics\/catalog-of-predefined-agronomic-equations\",\"product-tour-web-app\/export-download\",\"product-tour-web-app\/export-download\/batch-export-of-boundaries-zones-and-scouting-pins\",\"product-tour-web-app\/export-download\/export-application-operation-data-to-john-deere-ops-center\",\"product-tour-web-app\/export-download\/export-equation-based-map\",\"product-tour-web-app\/export-download\/export-scouting-notes-as-shapefile\",\"product-tour-web-app\/export-download\/export-to-myjohndeere\",\"product-tour-web-app\/export-download\/export-vra-map-in-isoxml-format\",\"product-tour-web-app\/export-download\/field-boundary-export\",\"product-tour-web-app\/export-download\/satellite-imagery-export-as-geotiff-or-geojson\",\"product-tour-web-app\/export-download\/zones-map-export-as-shapefile\",\"product-tour-web-app\/farm-user-and-access-setup\",\"product-tour-web-app\/farm-user-and-access-setup\/add-a-label\",\"product-tour-web-app\/farm-user-and-access-setup\/create-a-new-farm\",\"product-tour-web-app\/farm-user-and-access-setup\/delete-farms\",\"product-tour-web-app\/farm-user-and-access-setup\/draw-a-new-field\",\"product-tour-web-app\/farm-user-and-access-setup\/edit-a-boundary\",\"product-tour-web-app\/farm-user-and-access-setup\/edit-a-field-name\",\"product-tour-web-app\/farm-user-and-access-setup\/farms-sharing-between-accounts-and-organizations\",\"product-tour-web-app\/farm-user-and-access-setup\/manage-client-and-colleague-accounts-on-the-pay-as-you-go-plan\",\"product-tour-web-app\/farm-user-and-access-setup\/organizations-and-roles\",\"product-tour-web-app\/farm-user-and-access-setup\/upload-a-field-boundary\",\"product-tour-web-app\/geopard-ai-assistant\",\"product-tour-web-app\/geopard-ai-assistant\/accuracy-and-evaluation\",\"product-tour-web-app\/geopard-ai-assistant\/agronomy-knowledge-base\",\"product-tour-web-app\/geopard-ai-assistant\/precision-agriculture-ai-assistant-faq\",\"product-tour-web-app\/geopard-ai-assistant\/prompt-library\",\"product-tour-web-app\/geopard-api-for-farm-data-and-analytics\",\"product-tour-web-app\/geopard-mcp\",\"product-tour-web-app\/geopard-mcp\/clean-and-calibrate-yield-data\",\"product-tour-web-app\/geopard-mcp\/connect-geopard-mcp\",\"product-tour-web-app\/geopard-mcp\/explain-vegetation-patterns\",\"product-tour-web-app\/geopard-mcp\/geopard-mcp-capabilities\",\"product-tour-web-app\/geopard-mcp\/optimal-tillage-depth\",\"product-tour-web-app\/geopard-mcp\/verify-geopard-mcp-connection\",\"product-tour-web-app\/import-precision-agriculture-data\",\"product-tour-web-app\/import-precision-agriculture-data\/as-applied-as-planted-data-import\",\"product-tour-web-app\/import-precision-agriculture-data\/import-field-boundaries\",\"product-tour-web-app\/import-precision-agriculture-data\/import-from-myjohndeere\",\"product-tour-web-app\/import-precision-agriculture-data\/machinery-proprietary-formats\",\"product-tour-web-app\/import-precision-agriculture-data\/soil-data-shp-with-coordinates\",\"product-tour-web-app\/import-precision-agriculture-data\/soil-lab-results-csv-excel-smart-import\",\"product-tour-web-app\/import-precision-agriculture-data\/yield-data-import\",\"product-tour-web-app\/john-deere-operations-center-integration\",\"product-tour-web-app\/john-deere-operations-center-integration\/1.-create-a-free-trial-account-with-your-john-deere-account\",\"product-tour-web-app\/john-deere-operations-center-integration\/10.-export-application-operation-data-to-john-deere-ops-center\",\"product-tour-web-app\/john-deere-operations-center-integration\/11.-synchronize-a-field-with-john-deere-operations-center\",\"product-tour-web-app\/john-deere-operations-center-integration\/2.-connect-to-john-deere-operations-center\",\"product-tour-web-app\/john-deere-operations-center-integration\/3.-connect-to-john-deere-organizations\",\"product-tour-web-app\/john-deere-operations-center-integration\/4.-import-into-geopard-from-john-deere-operations-center\",\"product-tour-web-app\/john-deere-operations-center-integration\/5.-configure-automated-data-sync\",\"product-tour-web-app\/john-deere-operations-center-integration\/6.-export-rx-maps-to-john-deere-operations-center-as-files\",\"product-tour-web-app\/john-deere-operations-center-integration\/7.-export-field-boundaries-to-john-deere-operations-center\",\"product-tour-web-app\/john-deere-operations-center-integration\/7.-export-field-boundaries-to-john-deere-operations-center\/7a.-configure-boundary-export-to-john-deere-operations-center-as-files\",\"product-tour-web-app\/john-deere-operations-center-integration\/8.-export-rx-maps-to-john-deere-operations-center-as-work-plans\",\"product-tour-web-app\/john-deere-operations-center-integration\/9.-export-soil-topography-satellite-or-analytics-as-map-layers\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/1.-staff-member-sharing\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/2.-problem-solving-of-staff-member-sharing\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/3.-partner-organization-sharing\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/4.-problem-solving-of-partner-organization-sharing\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/5.-problem-solving-of-import-from-john-deere-to-geopard\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/6.-problem-solving-of-work-plan-creation\",\"product-tour-web-app\/john-deere-operations-center-integration\/data-sharing-options\/7.-sharing-fields-and-boundaries-between-partner-organizations-in-jd-ops-center\",\"product-tour-web-app\/managing-crop-season-information-with-tags-labels\",\"product-tour-web-app\/managing-crop-season-information-with-tags-labels\/case-field-operation-details\",\"product-tour-web-app\/managing-crop-season-information-with-tags-labels\/case-managing-fields-for-several-clients\",\"product-tour-web-app\/managing-crop-season-information-with-tags-labels\/case-season-details-including-crop-and-year\",\"product-tour-web-app\/on-farm-trials-design-and-creation\",\"product-tour-web-app\/operations-log-track-errors-imports-and-analytics\",\"product-tour-web-app\/satellite-monitoring\",\"product-tour-web-app\/satellite-monitoring\/crop-development-index-graph\",\"product-tour-web-app\/satellite-monitoring\/indices-for-crops-and-soils\",\"product-tour-web-app\/satellite-monitoring\/order-planet-scope-3m-daily-imagery\",\"product-tour-web-app\/soil-sampling-automated-planning\",\"product-tour-web-app\/topography-analysis-for-precision-agriculture\",\"product-tour-web-app\/user-settings\",\"product-tour-web-app\/user-settings\/changing-preferences\",\"product-tour-web-app\/user-settings\/order-the-package\",\"product-tour-web-app\/user-settings\/reset-password\",\"product-tour-web-app\/user-settings\/subscriptions-account-limits-and-plans\",\"product-tour-web-app\/yield-data-and-harvest-analytics\",\"product-tour-web-app\/zones-maps-and-analytics\",\"product-tour-web-app\/zones-maps-and-analytics\/assign-variable-rates-in-zones-ag-input-rates-distribution-tool\",\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-a-template\",\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-satellite-imagery\",\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-soil-yield-or-as-applied-data\",\"product-tour-web-app\/zones-maps-and-analytics\/create-a-zones-map-using-topography\",\"product-tour-web-app\/zones-maps-and-analytics\/draw-zones-manually-or-clone-from-an-existing-layer\",\"product-tour-web-app\/zones-maps-and-analytics\/edit-zones-map-merge-and-split\",\"product-tour-web-app\/zones-maps-and-analytics\/heterogeneity-factor\",\"product-tour-web-app\/zones-maps-and-analytics\/multi-layer-analytics\",\"product-tour-web-app\/zones-maps-and-analytics\/multi-year-zones\",\"product-tour-web-app\/zones-maps-and-analytics\/relative-variation-factor\",\"product-tour-web-app\/zones-maps-and-analytics\/using-data-classification\",\"changelog-and-product-releases\/release-mobile-august-2023-mobile-app-improvements\",\"changelog-and-product-releases\/release-mobile-may-2023-social-login\",\"changelog-and-product-releases\/release-notes\",\"changelog-and-product-releases\/release-sep-2026-yield-report-ai-assistant-attachments-guidance-lines-tillage-workplans\",\"changelog-and-product-releases\/release-web-and-mobile-february-2026-farm-view-soil-lab-csv-excel-import-zones-dynamic-editing\",\"changelog-and-product-releases\/release-web-and-mobile-july-2026-ai-assistant-beta-ab-line-grids-trials-exports\",\"changelog-and-product-releases\/release-web-and-mobile-september-2025-automated-soil-sampling-zones-from-equations-billing-portal\",\"changelog-and-product-releases\/release-web-april-2022-3d-maps-and-zoning-tools\",\"changelog-and-product-releases\/release-web-april-2024-batch-equation-maps-and-enhanced-layer-transparency\",\"changelog-and-product-releases\/release-web-august-2024-data-layer-previews-spatially-localized-zones-reusable-zones\",\"changelog-and-product-releases\/release-web-february-2024-per-area-pricing-units\",\"changelog-and-product-releases\/release-web-january-2023-huge-amount-of-small-improvements\",\"changelog-and-product-releases\/release-web-january-2024-many-ui-improvements\",\"changelog-and-product-releases\/release-web-january-2025-free-trial-usage-based-pricing-plan-usda-yield-cleaning-protocol-export-of\",\"changelog-and-product-releases\/release-web-july-2023-operations-log-page-sum-in-datasets\",\"changelog-and-product-releases\/release-web-july-2024-equation-map-creation-spatially-localized-zones-seeding-and-application-work-p\",\"changelog-and-product-releases\/release-web-june-2023-improved-equations-operations-log-v1\",\"changelog-and-product-releases\/release-web-march-2025-improved-zones-workplans-updates-yield-data-enhancements\",\"changelog-and-product-releases\/release-web-march-2026-field-trials-design-generative-synthetic-yield-maps-farm-view-stats-mcp\",\"changelog-and-product-releases\/release-web-may-2023-john-deere-integration-improvements\",\"changelog-and-product-releases\/release-web-may-2024-raw-view-for-satellite-images-export-of-zone-maps-as-workplan-to-the-john-deere\",\"changelog-and-product-releases\/release-web-may-2025-rates-distribution-improved-legends\",\"changelog-and-product-releases\/release-web-november-2023-clone-polygons-subscription-management\",\"changelog-and-product-releases\/release-web-october-2022-integration-with-aggateway-protocols-isoxml-support-and-more\",\"changelog-and-product-releases\/release-web-october-2023-yield-calibration-equation-maps-as-isoxml-pdf-export-and-john-deere-integra\",\"changelog-and-product-releases\/release-web-september-2023-cleaning-and-calibrating-yield-datasets-more-language-support\",\"agronomy\/analyzing-john-deere-see-and-spray-data-with-custom-formulas\",\"agronomy\/compare-soil-scanner-data-between-years\",\"agronomy\/comparing-yield-datasets\",\"agronomy\/create-soil-sampling-zones-points-routes-export-as-kml-and-execute\",\"agronomy\/dealer-workflow-in-italy-john-deere-ops-center-geopard-vra-nitrogen-trials-profit-maps\",\"agronomy\/detecting-clay-and-sand-with-sbi\",\"agronomy\/evaluate-accuracy-of-fertilizer-application\",\"agronomy\/evaluate-accuracy-of-seeding-application\",\"agronomy\/field-management-zones-productivity-zones-creation-process\",\"agronomy\/field-trial-analytics\",\"agronomy\/flood-insurance-report\",\"agronomy\/nitrogen-use-efficiency-nue-and-nitrogen-uptake\",\"agronomy\/precision-agronomy-use-cases-and-best-practices-overview\",\"agronomy\/synthetic-yield-map\",\"agronomy\/use-case-variable-rate-nitrogen-vra-for-potatoes-to-realize-5-10-more-yield\",\"agronomy\/variable-rate-fertilizer-maps\",\"agronomy\/variable-rate-seeding-planting-maps\",\"agronomy\/vr-lime-application-based-on-soil-ph-data\",\"agronomy\/vr-tillage-from-soil-compaction\",\"agronomy\/vra-seeding-and-nitrogen-maps-from-plant-available-water-and-organic-matter\",\"agronomy\/weed-patches-detection-and-herbicide-vra-rx-map\",\"agronomy\/yield-calibration-and-cleaning\",\"agronomy\/yield-report\",\"product-tour-mobile-app\/filters-for-mobile-field-review\",\"product-tour-mobile-app\/install-the-geopard-mobile-app\",\"product-tour-mobile-app\/log-in-to-the-geopard-mobile-app\",\"product-tour-mobile-app\/map-and-layer-options-in-the-mobile-app\",\"product-tour-mobile-app\/mobile-app-settings-and-preferences\",\"product-tour-mobile-app\/viewing-as-applied-datasets\",\"product-tour-mobile-app\/viewing-satellite-images\",\"product-tour-mobile-app\/viewing-soil-data\",\"product-tour-mobile-app\/viewing-topography-maps\",\"product-tour-mobile-app\/viewing-yield-data\",\"product-tour-mobile-app\/viewing-zones-maps\",\"product-tour-mobile-app\/working-in-the-field-scouting-zones-maps\",\"product-tour-mobile-app\/working-offline\",\"api-docs\/authorization-apikey-credentials-or-oauth-2.0\",\"api-docs\/diagrams-with-basic-flows\",\"api-docs\/diagrams-with-basic-flows\/1.-field-registration\",\"api-docs\/diagrams-with-basic-flows\/2.-graphql-subscription\",\"api-docs\/diagrams-with-basic-flows\/3.-get-satellite-imagery\",\"api-docs\/diagrams-with-basic-flows\/4.-upload-soil-or-asapplied-or-yield-datasets\",\"api-docs\/diagrams-with-basic-flows\/5.-execute-equations\",\"api-docs\/diagrams-with-basic-flows\/6.-generate-zonesmap\",\"api-docs\/diagrams-with-basic-flows\/7.-download-gridded-data\",\"api-docs\/diagrams-with-basic-flows\/8.-download-original-data\",\"api-docs\/geo-endpoints-for-spatial-data-access\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wfs-get-spatial-data-layers-in-vector-format-shp-geojson\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wfs-get-spatial-data-layers-in-vector-format-shp-geojson\/1.-get-the-field-boundary-as-geojson\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wfs-get-spatial-data-layers-in-vector-format-shp-geojson\/2.-get-the-zones-map-as-geojson\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wfs-get-spatial-data-layers-in-vector-format-shp-geojson\/3.-get-zones-attributes-as-json\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wfs-get-spatial-data-layers-in-vector-format-shp-geojson\/4.-get-soil-data-as-geojson\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wfs-get-spatial-data-layers-in-vector-format-shp-geojson\/5.-get-yield-data-as-geojson\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/1.-lai\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/10.-rastermap-thumbnail\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/11.-topographymap-elevation-in-absolute-numbers\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/12.-yielddatasetsmap\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/13.-soildatasetsmap\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/14.-soildatasetsmap-custom-color-schema\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/15.-asapplieddatasetsmap\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/16.-satellite-image-cropped-by-field-boundary\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/17.-satellite-image-cropped-by-field-boundary-and-custom-color-schema\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/18.-yielddatasetsmap-custom-color-schema\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/19.-satellite-image-10-colors-visualization\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/2.-rgb\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/3.-field-boundary\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/4.-field-thumbnail\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/5.-zonesmap\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/6.-zonesmap-custom-color-schema\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/7.-zonesmap-thumbnail\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/8.-rastermap\",\"api-docs\/geo-endpoints-for-spatial-data-access\/wms-get-raster-pictures-of-spatial-data-layers\/9.-rastermap-custom-color-schema\",\"api-docs\/geopard-api-data-schema\",\"api-docs\/geopard-api-faq-and-common-questions\",\"api-docs\/geopard-api-overview\",\"api-docs\/geopard-api-requests-overview\",\"api-docs\/geopard-api-requests-overview\/1.-subscription-get-events\",\"api-docs\/geopard-api-requests-overview\/10.-mutation-generate-rastermap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/11.-mutation-generate-yield-based-zonesmap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/12.-mutation-generate-soil-based-zonesmap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/13.-mutation-create-farm\",\"api-docs\/geopard-api-requests-overview\/14.-mutation-create-a-field-or-edit-the-boundary-of-the-existing-field-with-optional-labels\",\"api-docs\/geopard-api-requests-overview\/15.-query-get-topographymap\",\"api-docs\/geopard-api-requests-overview\/16.-query-get-yielddatasets\",\"api-docs\/geopard-api-requests-overview\/17.-query-get-soildatasets\",\"api-docs\/geopard-api-requests-overview\/18.-mutation-generate-zip-archive-with-zonesmap-and-field\",\"api-docs\/geopard-api-requests-overview\/19.-mutation-delete-field\",\"api-docs\/geopard-api-requests-overview\/2.-query-get-fields\",\"api-docs\/geopard-api-requests-overview\/20.-mutation-delete-farm\",\"api-docs\/geopard-api-requests-overview\/21.-mutation-delete-zonesmap\",\"api-docs\/geopard-api-requests-overview\/22.-mutation-delete-rasteranalysismap\",\"api-docs\/geopard-api-requests-overview\/23.-mutation-delete-soildataset\",\"api-docs\/geopard-api-requests-overview\/24.-mutation-delete-yielddataset\",\"api-docs\/geopard-api-requests-overview\/3.-query-get-satelliteimages\",\"api-docs\/geopard-api-requests-overview\/37.-query-get-satelliteimages-in-the-defined-interval\",\"api-docs\/geopard-api-requests-overview\/38.-query-get-userdata\",\"api-docs\/geopard-api-requests-overview\/39.-mutation-set-custom-color-schemas-to-selected-geomaps\",\"api-docs\/geopard-api-requests-overview\/4.-query-get-defined-satelliteimage\",\"api-docs\/geopard-api-requests-overview\/40.-query-get-labels-on-the-account-level\",\"api-docs\/geopard-api-requests-overview\/41.-mutation-save-labels-on-the-account-level\",\"api-docs\/geopard-api-requests-overview\/42.-mutation-delete-label-on-the-account-level\",\"api-docs\/geopard-api-requests-overview\/43.-query-get-fields\",\"api-docs\/geopard-api-requests-overview\/44.-mutation-set-field-labels\",\"api-docs\/geopard-api-requests-overview\/45.-mutation-save-user-data\",\"api-docs\/geopard-api-requests-overview\/46.-mutation-generate-multi-layer-zonesmap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/47.-query-get-zonesmaps\",\"api-docs\/geopard-api-requests-overview\/48.-query-get-gridded-data-from-topographymap\",\"api-docs\/geopard-api-requests-overview\/49.-query-get-gridded-data-from-fieldsatelliteimage\",\"api-docs\/geopard-api-requests-overview\/5.-query-get-rastermaps\",\"api-docs\/geopard-api-requests-overview\/50.-query-get-gridded-data-from-vectoranalysismap\",\"api-docs\/geopard-api-requests-overview\/51.-query-get-gridded-data-from-yielddataset\",\"api-docs\/geopard-api-requests-overview\/52.-query-get-gridded-data-from-soildataset\",\"api-docs\/geopard-api-requests-overview\/53.-query-get-gridded-data-from-asapplieddataset\",\"api-docs\/geopard-api-requests-overview\/54.-query-get-vector-data-from-soildataset\",\"api-docs\/geopard-api-requests-overview\/55.-upload-zip-files-over-6-mb\",\"api-docs\/geopard-api-requests-overview\/56.-upload-photos\",\"api-docs\/geopard-api-requests-overview\/57.-query-get-photos-attached-to-the-selected-note\",\"api-docs\/geopard-api-requests-overview\/58.-query-get-photos-attached-to-comments\",\"api-docs\/geopard-api-requests-overview\/59.-query-get-asapplieddatasets\",\"api-docs\/geopard-api-requests-overview\/6.-query-get-zonesmaps\",\"api-docs\/geopard-api-requests-overview\/60.-mutation-generate-as-applied-based-zonesmap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/61.-mutation-delete-asapplieddataset\",\"api-docs\/geopard-api-requests-overview\/62.-mutation-share-farms\",\"api-docs\/geopard-api-requests-overview\/63.-mutation-save-organization\",\"api-docs\/geopard-api-requests-overview\/64.-mutation-add-users-to-organization\",\"api-docs\/geopard-api-requests-overview\/65.-mutation-delete-users-from-organization\",\"api-docs\/geopard-api-requests-overview\/66.-mutation-save-field\",\"api-docs\/geopard-api-requests-overview\/67.-mutation-save-farm\",\"api-docs\/geopard-api-requests-overview\/68.-mutation-refresh-vectoranalysismap-statistics\",\"api-docs\/geopard-api-requests-overview\/69.-mutation-delete-photo\",\"api-docs\/geopard-api-requests-overview\/7.-mutation-generate-zonesmap\",\"api-docs\/geopard-api-requests-overview\/70.-mutation-delete-multiple-photos\",\"api-docs\/geopard-api-requests-overview\/71.-mutation-generate-a-zip-archive-with-notes\",\"api-docs\/geopard-api-requests-overview\/72.-query-get-gridded-data-as-geojson-or-geotiff\",\"api-docs\/geopard-api-requests-overview\/73.-query-get-gridded-data-with-the-selected-buffer\",\"api-docs\/geopard-api-requests-overview\/74.-mutation-verify-equation\",\"api-docs\/geopard-api-requests-overview\/75.-mutation-generate-equationmap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/76.-query-get-equationmap\",\"api-docs\/geopard-api-requests-overview\/77.-mutation-delete-equationmap\",\"api-docs\/geopard-api-requests-overview\/78.-query-find-fields-by-externalkey\",\"api-docs\/geopard-api-requests-overview\/79.-query-find-farms-by-externalkey\",\"api-docs\/geopard-api-requests-overview\/8.-mutation-generate-rastermap\",\"api-docs\/geopard-api-requests-overview\/80.-query-get-original-data\",\"api-docs\/geopard-api-requests-overview\/81.-query-get-geojson-of-equationmap\",\"api-docs\/geopard-api-requests-overview\/82.-query-restore-subscription-events\",\"api-docs\/geopard-api-requests-overview\/83.-query-collect-platform-context\",\"api-docs\/geopard-api-requests-overview\/84.-mutation-calibrate-and-clean-yielddataset\",\"api-docs\/geopard-api-requests-overview\/85.-mutation-assign-rates-to-vectoranalysismap-zonesmap\",\"api-docs\/geopard-api-requests-overview\/86.-query-get-farms\",\"api-docs\/geopard-api-requests-overview\/87.-mutation-save-custom-vectoranalysismap-zonesmap\",\"api-docs\/geopard-api-requests-overview\/88.-mutation-export-zonesmap-as-zipped-shapefile\",\"api-docs\/geopard-api-requests-overview\/89.-mutation-export-zonesmap-as-zipped-isoxml\",\"api-docs\/geopard-api-requests-overview\/9.-mutation-generate-zonesmap-asynchronously\",\"api-docs\/geopard-api-requests-overview\/90.-query-get-satelliteimagery-data-by-geometry\",\"api-docs\/geopard-api-requests-overview\/notes-pins\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/25.-mutation-save-note-attached-to-field\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/26.-mutation-save-note-attached-to-zonesmap\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/27.-mutation-save-note-attached-to-soildataset\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/28.-mutation-save-multiple-notes-batch-operation\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/29.-mutation-delete-note\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/30.-mutation-delete-multiple-notes\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/31.-query-get-all-notes-related-to-field\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/32.-query-get-notes-related-to-zonesmap-and-type\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/33.-query-get-notes-related-to-soildataset-and-type\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/34.-query-get-a-selected-note-with-all-comments\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/35.-mutation-add-comment-to-the-selected-note\",\"api-docs\/geopard-api-requests-overview\/notes-pins\/36.-mutation-add-multiple-comments-to-the-selected-notes\",\"api-docs\/getting-started-with-the-geopard-api\",\"api-docs\/upload-files-with-the-geopard-api\",\"platform-roadmap\/geopard-platform-roadmap\",\"gis-quick-hints\/qgis-calculate-ndvi-for-the-drone-geotiff-file\",\"gis-quick-hints\/qgis-change-string-to-number-values-in-the-shapefile\",\"gis-quick-hints\/qgis-convert-csv-to-shp\",\"gis-quick-hints\/qgis-merge-selected-features-from-vector-files\",\"gis-quick-hints\/qgis-merge-vector-layers\",\"gis-quick-hints\/qgis-reproject-shapefile\",\"gis-quick-hints\/qgis-split-boundaries-into-subfields\",\"gis-quick-hints\/qgis-split-multi-field-shapefiles\",\"gis-quick-hints\/qgis-yield-data-manipulations\",\"policies\/your-data-stays-yours-securely-managed-by-geopard\"],\"t\":[\"GeoPard Platform: Frequently Asked Questions (FAQ)\",\"Glossary: precision ag terms used in GeoPard\",\"3D Maps\",\"Compare Layers\",\"Equation-based Analytics\",\"Batch Equation Analytics\",\"Catalog of Custom Functions\",\"Catalog of Predefined Agronomic Equations\",\"Export \/ Download\",\"Batch Export of Boundaries, Zones and Scouting Pins\",\"Export Application Operation data to John Deere Ops Center\",\"Export Equation-based map\",\"Export Scouting Notes as Shapefile\",\"Export to MyJohnDeere\",\"Export VRA Map in ISOXML Format\",\"Field Boundary Export\",\"Satellite Imagery Export as GeoTIFF or GeoJSON\",\"Zones Map Export as shapefile\",\"Farm, user and access setup\",\"Add a label\",\"Create a new farm\",\"Delete Farms\",\"Draw a new field\",\"Edit a boundary\",\"Edit a field name\",\"Farms Sharing between Accounts and Organizations\",\"Manage Client and Colleague Accounts on the Pay-As-You-Go Plan\",\"Organizations and Roles\",\"Upload a field boundary\",\"GeoPard AI Assistant\",\"Accuracy and evaluation\",\"Agronomy knowledge base\",\"Precision Agriculture AI Assistant FAQ\",\"Prompt library\",\"GeoPard API for Farm Data and Analytics\",\"GeoPard MCP\",\"Clean and Calibrate Yield Data\",\"Connect GeoPard MCP\",\"Explain Vegetation Patterns\",\"GeoPard MCP Capabilities\",\"Optimal Tillage Depth\",\"Verify GeoPard MCP Connection\",\"Import Precision Agriculture Data\",\"As-Applied\/As-Planted Data Import\",\"Import Field Boundaries\",\"Import from MyJohnDeere\",\"Machinery Proprietary Formats\",\"Soil Data (shp, with coordinates)\",\"Soil Lab results (CSV\/Excel) - Smart Import\",\"Yield Data Import\",\"John Deere Operations Center Integration\",\"1. Create a Free Trial Account with Your John Deere Account\",\"10. Export Application Operation data to John Deere Ops Center\",\"11. Synchronize a Field with John Deere Operations Center\",\"2. Connect to John Deere Operations Center\",\"3. Connect to John Deere Organizations\",\"4. Import into GeoPard from John Deere Operations Center\",\"5. Configure Automated Data Sync\",\"6. Export Rx Maps to John Deere Operations Center as Files\",\"7. Export Field Boundaries to John Deere Operations Center\",\"7a. Configure Boundary Export to John Deere Operations Center as Files\",\"8. Export Rx Maps to John Deere Operations Center as Work Plans\",\"9. Export Soil, Topography, Satellite or Analytics as Map Layers\",\"Data Sharing Options\",\"1. \\\"Staff Member\\\" sharing\",\"2. Problem-solving of \\\"Staff Member\\\" sharing\",\"3. \\\"Partner Organization\\\" sharing\",\"4. Problem-solving of \\\"Partner Organization\\\" sharing\",\"5. Problem-solving of import from John Deere to GeoPard\",\"6. Problem-solving of Work Plan creation\",\"7. Sharing Fields and Boundaries Between Partner Organizations in JD Ops Center\",\"Managing Crop Season Information with Tags (Labels)\",\"Case: Field operation details\",\"Case: Managing fields for several clients\",\"Case: Season details including crop and year\",\"On-Farm Trials Design and Creation\",\"Operations Log - Track errors\/Imports and Analytics\",\"Satellite Monitoring\",\"Crop Development Index Graph\",\"Indices for Crops and Soils\",\"Order Planet Scope (3m daily) imagery\",\"Soil Sampling - Automated Planning\",\"Topography Analysis for Precision Agriculture\",\"User Settings\",\"Changing preferences\",\"Order the package\",\"Reset Password\",\"Subscriptions, Account Limits and Plans\",\"Yield Data and Harvest Analytics\",\"Zones Maps and Analytics\",\"Assign Variable Rates in Zones (Ag Input Rates Distribution Tool)\",\"Create a Zones Map Using a Template\",\"Create a Zones Map Using Satellite Imagery\",\"Create a Zones Map Using Soil, Yield, or As-Applied Data\",\"Create a Zones Map Using Topography\",\"Draw Zones Manually or Clone from an Existing Layer\",\"Edit Zones Map: Merge and Split\",\"Heterogeneity factor\",\"Multi-Layer Analytics\",\"Multi-Year Zones\",\"Relative variation factor\",\"Using Data Classification\",\"Release Mobile August 2023 (Mobile App Improvements)\",\"Release Mobile May 2023 (Social Login)\",\"Release Notes\",\"Sep 2026: Yield Report, AI Assistant attachments, guidance lines, tillage workplans, attribute tables and polygon cloning. Release details\",\"Release Web and Mobile February 2026 (Farm View, Soil Lab csv\/excel import, Zones dynamic editing)\",\"Release Web and Mobile July 2026 (AI Assistant Beta, AB-Line Grids, Trials, Exports)\",\"Release Web and Mobile September 2025 (Automated Soil Sampling, Zones from Equations, Billing portal)\",\"Release Web April 2022 (3D maps and Zoning Tools)\",\"Release Web April 2024 (Batch Equation Maps and enhanced layer transparency)\",\"Release Web August 2024 (Data Layer Previews, Spatially Localized Zones, Reusable Zones)\",\"Release Web February 2024 (Per area pricing, units)\",\"Release Web January 2023 (huge amount of small improvements)\",\"Release Web January 2024 (many UI improvements)\",\"Release Web January 2025 (Free Trial, Usage-based Pricing Plan, USDA Yield Cleaning protocol, Export of calibrated Yield data to John Deere Ops Center, Import of kml)\",\"Release Web July 2023 (Operations Log page, Sum in datasets)\",\"Release Web July 2024 (Equation Map creation, Spatially localized zones, Seeding and Application Work Plans)\",\"Release Web June 2023 (Improved Equations, Operations log v1)\",\"Release Web March 2025 (Improved Zones, WorkPlans updates, Yield data enhancements)\",\"Release Web March 2026 (Field Trials Design, Generative Synthetic Yield Maps, Farm View Stats, MCP)\",\"Release Web May 2023 (John Deere integration improvements)\",\"Release Web May 2024 (Raw view for Satellite Images, export of Zone Maps as WorkPlan to the John Deere Operations Center, redesign of Batch Analytics)\",\"Release Web May 2025 (Rates Distribution, improved Legends)\",\"Release Web November 2023 (Clone Polygons, Subscription management)\",\"Release Web October 2022 (Integration with AgGateway Protocols, ISOXML Support, and More)\",\"Release Web October 2023 (Yield Calibration, Equation Maps as ISOXML, PDF Export and John Deere Integration)\",\"Release Web September 2023 (Cleaning and Calibrating Yield Datasets, More Language Support)\",\"Analyzing John Deere See and Spray Data with Custom Formulas\",\"Compare Soil Scanner Data between Years\",\"Comparing Yield Datasets\",\"Create Soil Sampling Zones, Points, Routes, Export as KML, and Execute\",\"Dealer Workflow in Italy: John Deere Ops Center - GeoPard - VRA Nitrogen - Trials - Profit Maps\",\"Detecting Clay and Sand with SBI\",\"Evaluate Accuracy of Fertilizer Application\",\"Evaluate Accuracy of Seeding Application\",\"Field Management Zones (Productivity Zones) Creation Process\",\"Field Trial Analytics\",\"Flood Insurance Report\",\"Nitrogen Use Efficiency (NUE) and Nitrogen Uptake\",\"Precision Agronomy Use Cases and Best Practices Overview\",\"Synthetic Yield Map\",\"Use Case: Variable-Rate Nitrogen (VRA) for Potatoes to Realize 5\u201310% More Yield\",\"Variable Rate Fertilizer Maps\",\"Variable Rate Seeding (Planting) Maps\",\"VR Lime Application Based on Soil pH Data\",\"VR Tillage from Soil Compaction\",\"VRA Seeding and Nitrogen Maps from Plant Available Water and Organic Matter\",\"Weed Patches Detection and Herbicide VRA Rx Map\",\"Yield Calibration and Cleaning\",\"Yield Report\",\"Filters for Mobile Field Review\",\"Install the GeoPard Mobile App\",\"Log In to the GeoPard Mobile App\",\"Map and Layer Options in the Mobile App\",\"Mobile App Settings and Preferences\",\"Viewing as-applied datasets\",\"Viewing satellite images\",\"Viewing soil data\",\"Viewing topography maps\",\"Viewing yield data\",\"Viewing zones maps\",\"Working in the field\/Scouting zones maps\",\"Working offline\",\"Authorization: ApiKey, Credentials or OAuth 2.0\",\"Diagrams with Basic Flows\",\"1. Field Registration\",\"2. GraphQL Subscription\",\"3. Get Satellite Imagery\",\"4. Upload Soil | AsApplied | Yield Datasets\",\"5. Execute Equations\",\"6. Generate ZonesMap\",\"7. Download Gridded Data\",\"8. Download Original Data\",\"Geo Endpoints for Spatial Data Access\",\"WFS - Get Spatial Data Layers in Vector Format (SHP, GeoJSON)\",\"1. Get the Field Boundary as GeoJSON\",\"2. Get the Zones Map as GeoJSON\",\"3. Get Zones Attributes as JSON\",\"4. Get Soil Data as GeoJSON\",\"5. Get Yield Data as GeoJSON\",\"WMS - Get Raster Pictures of Spatial Data Layers\",\"1. LAI\",\"10. RasterMap: thumbnail\",\"11. TopographyMap: elevation in absolute numbers\",\"12. YieldDatasetsMap\",\"13. SoilDatasetsMap\",\"14. SoilDatasetsMap: custom color schema\",\"15. AsAppliedDatasetsMap\",\"16. Satellite Image: cropped by Field boundary\",\"17. Satellite Image: cropped by Field boundary and custom color schema\",\"18. YieldDatasetsMap: custom color schema\",\"Previous 19. Satellite Image: 10 colors visualization\",\"2. RGB\",\"3. Field: boundary\",\"4. Field: thumbnail\",\"5. ZonesMap\",\"6. ZonesMap: custom color schema\",\"7. ZonesMap: thumbnail\",\"8. RasterMap\",\"9. RasterMap: custom color schema\",\"GeoPard API Data Schema\",\"GeoPard API FAQ and Common Questions\",\"GeoPard API Overview\",\"GeoPard API Requests Overview\",\"1. Subscription: Get Events\",\"10. Mutation: Generate \\\"RasterMap\\\" asynchronously\",\"11. Mutation: Generate Yield based \\\"ZonesMap\\\" asynchronously\",\"12. Mutation: Generate Soil based \\\"ZonesMap\\\" asynchronously\",\"Request 1 or R1\",\"Request 2 or R2\",\"15. Query: Get \\\"TopographyMap\\\"\",\"16. Query: Get YieldDatasets\",\"17. Query: Get \\\"SoilDatasets\\\"\",\"18. Mutation: Generate zip archive with \\\"ZonesMap\\\" and \\\"Field\\\"\",\"19. Mutation: Delete \\\"Field\\\"\",\"2. Query: Get \\\"Fields\\\"\",\"20. Mutation: Delete \\\"Farm\\\"\",\"21. Mutation: Delete \\\"ZonesMap\\\"\",\"22. Mutation: Delete \\\"RasterAnalysisMap\\\"\",\"23. Mutation: Delete \\\"SoilDataset\\\"\",\"24. Mutation: Delete \\\"YieldDataset\\\"\",\"3. Query: Get \\\"SatelliteImages\\\"\",\"37. Query: Get \\\"SatelliteImages\\\" in the defined interval\",\"38. Query: Get \\\"UserData\\\"\",\"39. Mutation: Set custom color schemas to selected \\\"GeoMaps\\\"\",\"4. Query: Get defined \\\"SatelliteImage\\\"\",\"40. Query: Get \\\"Labels\\\" on the account level\",\"41. Mutation: Save \\\"Labels\\\" on the account level\",\"42. Mutation: Delete \\\"Label\\\" on the account level\",\"43. Query Get \\\"Fields\\\"\",\"Request 3 or R3\",\"45. Mutation: Save User Data\",\"46. Mutation: Generate multi-layer \\\"ZonesMap\\\" asynchronously\",\"47. Query: Get \\\"ZonesMaps\\\"\",\"48. Query: Get Gridded Data from \\\"TopographyMap\\\"\",\"49. Query: Get Gridded Data from \\\"FieldSatelliteImage\\\"\",\"5. Query: Get \\\"RasterMaps\\\"\",\"50. Query: Get Gridded Data from \\\"VectorAnalysisMap\\\"\",\"51. Query: Get Gridded Data from \\\"YieldDataset\\\"\",\"52. Query: Get Gridded Data from \\\"SoilDataset\\\"\",\"53. Query: Get Gridded Data from \\\"AsAppliedDataset\\\"\",\"54. Query: Get Vector Data from \\\"SoilDataset\\\"\",\"55. Upload zip files (over 6 MB)\",\"56. Upload photos\",\"57. Query: Get \\\"Photos\\\" attached to the selected \\\"Note\\\"\",\"58. Query: Get \\\"Photos\\\" attached to \\\"Comments\\\"\",\"59. Query: Get \\\"AsAppliedDatasets\\\"\",\"6. Query: Get \\\"ZonesMaps\\\"\",\"60. Mutation: Generate As-Applied-based \\\"ZonesMap\\\" asynchronously\",\"61. Mutation: Delete \\\"AsAppliedDataset\\\"\",\"62. Mutation: Share Farms\",\"63. Mutation: Save Organization\",\"64. Mutation: Add Users to Organization\",\"65. Mutation: Delete Users from Organization\",\"66. Mutation: Save Field\",\"67. Mutation: Save Farm\",\"68. Mutation: Refresh \\\"VectorAnalysisMap\\\" Statistics\",\"69. Mutation: Delete \\\"Photo\\\"\",\"7. Mutation: Generate \\\"ZonesMap\\\"\",\"70. Mutation: Delete multiple \\\"Photos\\\"\",\"71. Mutation: Generate a zip archive with \\\"Notes\\\"\",\"72. Query: Get Gridded Data as GeoJSON or GeoTIFF\",\"73. Query: Get Gridded Data with the Selected Buffer\",\"74. Mutation: Verify \\\"Equation\\\"\",\"75. Mutation: Generate \\\"EquationMap\\\" asynchronously\",\"76. Query: Get \\\"EquationMap\\\"\",\"77. Mutation: Delete \\\"EquationMap\\\"\",\"78. Query: Find \\\"Fields\\\" by \\\"externalKey\\\"\",\"79. Query: Find \\\"Farms\\\" by \\\"externalKey\\\"\",\"8. Mutation: Generate \\\"RasterMap\\\"\",\"80. Query: Get Original Data\",\"81. Query: Get GeoJSON of \\\"EquationMap\\\"\",\"82. Query: Restore Subscription Events\",\"83. Query: Collect Platform Context\",\"84. Mutation: Calibrate and Clean YieldDataset\",\"85. Mutation: Assign Rates to VectorAnalysisMap (ZonesMap)\",\"86. Query: Get \\\"Farms\\\"\",\"87. Mutation: Save Custom VectorAnalysisMap (ZonesMap)\",\"88. Mutation: Export ZonesMap as Zipped Shapefile\",\"89. Mutation: Export ZonesMap as Zipped ISOXML\",\"9. Mutation: Generate \\\"ZonesMap\\\" asynchronously\",\"90. Query: Get SatelliteImagery Data by Geometry\",\"Notes (Pins)\",\"25. Mutation: Save \\\"Note\\\" attached to \\\"Field\\\"\",\"26. Mutation: Save \\\"Note\\\" attached to \\\"ZonesMap\\\"\",\"27. Mutation: Save \\\"Note\\\" attached to \\\"SoilDataset\\\"\",\"28. Mutation: Save multiple \\\"Notes\\\", Batch operation\",\"29. Mutation: Delete \\\"Note\\\"\",\"30. Mutation: Delete multiple \\\"Notes\\\"\",\"31. Query: Get all \\\"Notes\\\" related to \\\"Field\\\"\",\"32. Query: Get \\\"Notes\\\" related to \\\"ZonesMap\\\" and type\",\"33. Query: Get \\\"Notes\\\" related to \\\"SoilDataset\\\" and type\",\"34. Query: Get a selected \\\"Note\\\" with all \\\"Comments\\\"\",\"35. Mutation: Add \\\"Comment\\\" to the selected \\\"Note\\\"\",\"36. Mutation: Add multiple \\\"Comments\\\" to the selected \\\"Notes\\\"\",\"Getting Started with the GeoPard API\",\"Upload Files with the GeoPard API\",\"GeoPard Platform Roadmap\",\"QGIS: Calculate NDVI for the Drone Geotiff File\",\"QGIS: Change String to Number values in the shapefile\",\"QGIS: Convert CSV to SHP\",\"QGIS: Merge Selected Features from Vector Files\",\"QGIS: Merge Vector Layers\",\"QGIS: Reproject Shapefile\",\"QGIS: Split Boundaries Into Subfields\",\"QGIS: Split Multi-field Shapefiles\",\"QGIS: Yield Data Manipulations\",\"Your Data Stays Yours, Securely Managed by GeoPard\"],\"m\":[\"2026-04\",\"2026-04\",\"2026-04\",\"2026-07\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-08\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-08\",\"2026-08\",\"2026-08\",\"2026-08\",\"2026-08\",\"2026-04\",\"2026-08\",\"2026-04\",\"2025-11\",\"2026-04\",\"2026-08\",\"2025-11\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-06\",\"2026-04\",\"2026-04\",\"2026-08\",\"2026-04\",\"2026-08\",\"2026-04\",\"2026-04\",\"2026-06\",\"2026-06\",\"2026-06\",\"2026-06\",\"2026-06\",\"2026-04\",\"2026-07\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2023-05\",\"2023-05\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-06\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-08\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2025-04\",\"2026-09\",\"2026-09\",\"2026-04\",\"2026-08\",\"2026-04\",\"2025-04\",\"2024-05\",\"2026-04\",\"2026-04\",\"2025-04\",\"2025-04\",\"2025-01\",\"2024-04\",\"2024-09\",\"2024-04\",\"2025-03\",\"2026-04\",\"2024-09\",\"2024-05\",\"2025-05\",\"2025-04\",\"2026-04\",\"2025-04\",\"2026-04\",\"2026-04\",\"2025-04\",\"2024-12\",\"2026-04\",\"2026-01\",\"2025-11\",\"2024-12\",\"2024-12\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-02\",\"2026-04\",\"2025-11\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-02\",\"2026-01\",\"2026-02\",\"2025-11\",\"2026-02\",\"2026-08\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2025-11\",\"2023-07\",\"2023-07\",\"2023-07\",\"2026-04\",\"2023-07\",\"2023-07\",\"2023-07\",\"2023-07\",\"2023-07\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2023-02\",\"2026-04\",\"2026-04\",\"2024-06\",\"2023-09\",\"2023-09\",\"2024-10\",\"2024-06\",\"2024-06\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2023-09\",\"2024-06\",\"2023-09\",\"2023-09\",\"2023-09\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2023-07\",\"2023-07\",\"2026-02\",\"2026-02\",\"2026-02\",\"2024-01\",\"2023-04\",\"2026-03\",\"2023-07\",\"2023-07\",\"2023-07\",\"2024-07\",\"2023-07\",\"2023-07\",\"2026-04\",\"2023-07\",\"2023-07\",\"2024-06\",\"2023-07\",\"2023-02\",\"2023-07\",\"2024-06\",\"2023-04\",\"2023-02\",\"2026-02\",\"2024-07\",\"2023-04\",\"2023-07\",\"2025-10\",\"2025-10\",\"2023-07\",\"2023-07\",\"2023-04\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2026-02\",\"2024-06\",\"2024-06\",\"2026-02\",\"2025-10\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2024-06\",\"2023-07\",\"2024-06\",\"2024-06\",\"2026-02\",\"2024-06\",\"2024-06\",\"2024-07\",\"2025-10\",\"2024-06\",\"2024-06\",\"2024-04\",\"2023-07\",\"2024-06\",\"2026-02\",\"2024-06\",\"2024-06\",\"2026-03\",\"2024-06\",\"2024-06\",\"2026-02\",\"2026-02\",\"2026-02\",\"2023-07\",\"2026-02\",\"2024-05\",\"2024-05\",\"2024-05\",\"2024-05\",\"2024-05\",\"2023-02\",\"2023-02\",\"2023-02\",\"2023-02\",\"2023-02\",\"2023-02\",\"2024-05\",\"2024-05\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\",\"2026-04\"]}<\/script>\n\n<script nowprocket data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\">\n\/* GPD-DOCS-EMBED BEGIN \u2014 generated from tools\/docs-hub\/docs-embed-core.js. DO NOT EDIT HERE. *\/\n\/* GPD-DOCS-EMBED \u2014 the docs overlay driver, source of truth.\n   Injected into source.html between the GPD-DOCS-EMBED markers by\n   scripts\/rebuild.sh. Edit THIS file, never the generated section.\n   shared\/docs_embed.html carries the same text; tests.js pins the two.\n   What it does: opens docs.geopard.tech in a panel ON the current page, at the\n   exact documentation page the reader asked for, and never in a new tab\n   (rule 25). Nothing loads until the reader clicks: the GitBook loader, its\n   bundle and the iframe are all deferred to the first open, so a visitor who\n   never opens the docs pays nothing for them.\n   Three things here are not optional:\n   1. siteURL MUST be overridden. The GitBook loader computes\n      new URL('\/geopard-tutorials', window.location.origin), which on\n      geopard.tech resolves to a page that does not exist, so the panel would\n      load empty. window.gitbookSettings is spread last inside the loader, so\n      setting it first is the supported override.\n   2. The panel ships at z-index 9998. The geopard theme puts the sticky site\n      header at 999999999, so without a lift the header paints over the panel \u2014\n      the same collision rule 5b describes, from the other side.\n   3. Readiness is probed, not assumed. The loader resolves as soon as IT runs;\n      the bundle it then pulls from a third-party host can still fail. If no\n      panel element exists within the timeout, the click falls back to the docs\n      page in the SAME tab.\n   Rule 1: no ampersand anywhere in this file \u2014 it lives in a script body. *\/\n(function () {\n  if (window.__GP_DOCS) { return; }\n  var ORIGIN = 'https:\/\/docs.geopard.tech';\n  var SPACE = '\/geopard-tutorials';\n  var TIMEOUT = 9000;\n  var PANEL = 'gitbook-widget-window';\n  var state = 'idle';   \/* idle | booting | loaded | open | failed *\/\n  var pending = [];\n  \/* The documentation is published in 25 spaces, one per language, but the\n     PANEL is always the English one. Pointing siteURL at a locale space does\n     not work: GitBook redirects every locale embed endpoint back to the site\n     level, so \/geopard-tutorials\/de\/~gitbook\/embed lands on\n     \/geopard-tutorials\/~gitbook\/embed\/page. Measured 2026-09-30; do not try\n     again. What does carry the reader's language is the QUESTION, because the\n     host page writes it as static text and TranslatePress translates it, and\n     the assistant answers in the language it is asked in. Inside the panel the\n     reader can switch language with the docs site's own control. *\/\n  function url(path) {\n    var p = path ? String(path).replace(\/^\\\/+\/, '').replace(\/\\\/+$\/, '') : '';\n    return ORIGIN + SPACE + (p ? '\/' + p : '');\n  }\n  function gb() {\n    return typeof window.GitBook === 'function' ? window.GitBook : null;\n  }\n  \/* Same tab, always: an embed that opens a new tab reads as a broken page. *\/\n  function leave(path) {\n    window.location.href = url(path);\n  }\n  function emit(name, detail) {\n    try {\n      window.dispatchEvent(new CustomEvent('gp-docs-' + name, { detail: detail || null }));\n    } catch (e) { \/* older browsers: the caller just does not get the hint *\/ }\n  }\n  \/* Our shape and our stacking on the third-party panel. Injected from here so\n     the tool's own stylesheet stays scoped to its class root (rule 5). *\/\n  function style() {\n    if (document.getElementById('gp-docs-widget-css')) { return; }\n    var st = document.createElement('style');\n    st.id = 'gp-docs-widget-css';\n    st.textContent =\n      '#gitbook-widget-window{z-index:1000000001;' +\n      '--gitbook-widget-window-width:36rem;--gitbook-widget-window-height:44rem;' +\n      '--gitbook-widget-radius:8px;--gitbook-widget-border-color:#e3e7da}' +\n      '#gitbook-widget-button{z-index:1000000002}';\n    document.head.appendChild(st);\n  }\n  function probe(path) {\n    var t0 = Date.now();\n    (function tick() {\n      if (document.getElementById(PANEL)) {\n        state = 'open';\n        emit('open', { path: path || '' });\n        return;\n      }\n      if (Date.now() - t0 > TIMEOUT) {\n        state = 'failed';\n        emit('failed', { path: path || '' });\n        leave(path);\n        return;\n      }\n      window.setTimeout(tick, 200);\n    })();\n  }\n  function boot(run, path) {\n    if (state === 'failed') { leave(path); return; }\n    if (state === 'loaded' || state === 'open') { run(gb()); probe(path); return; }\n    pending.push(run);\n    if (state === 'booting') { return; }\n    state = 'booting';\n    style();\n    emit('loading', { path: path || '' });\n    window.gitbookSettings = window.gitbookSettings || {};\n    window.gitbookSettings.siteURL = url('');\n    var s = document.createElement('script');\n    \/* One query parameter only: a second would need an ampersand, which WordPress\n       rewrites to an entity inside a script body (rule 1). *\/\n    s.src = ORIGIN + SPACE + '\/~gitbook\/embed\/script.js?theme=light';\n    s.async = true;\n    s.setAttribute('nowprocket', '');\n    s.setAttribute('data-no-optimize', '1');\n    s.setAttribute('data-no-defer', '1');\n    s.setAttribute('data-no-minify', '1');\n    s.onload = function () {\n      var g = gb();\n      if (!g) { state = 'failed'; pending = []; leave(path); return; }\n      state = 'loaded';\n      \/* GitBook's own floating button stays out of the page: the reader opens\n         the docs from our controls, in our type and our colours. *\/\n      g('hide');\n      var q = pending;\n      pending = [];\n      for (var i = 0; i < q.length; i++) { q[i](g); }\n      probe(path);\n    };\n    s.onerror = function () {\n      state = 'failed';\n      pending = [];\n      emit('failed', { path: path || '' });\n      leave(path);\n    };\n    document.head.appendChild(s);\n  }\n  window.__GP_DOCS = {\n    url: url,\n    \/* Open one documentation page in the panel. path is relative to the space,\n       for example 'product-tour-web-app\/zones-maps-and-analytics'. *\/\n    open: function (path) {\n      var p = path ? String(path).replace(\/^\\\/+\/, '') : '';\n      boot(function (g) {\n        \/* An empty path is the documentation home, which is where the panel\n           opens anyway. Asking it to navigate to \"\" sends the frame to a page\n           route with no page and it renders blank. *\/\n        if (p) { g('navigateToPage', p); }\n        g('open');\n      }, p);\n    },\n    \/* Open the docs assistant with a question already asked. The question\n       arrives in whatever language the host page wrote it in. *\/\n    ask: function (question) {\n      boot(function (g) {\n        g('navigateToAssistant');\n        g('open');\n        if (question) { g('postUserMessage', String(question)); }\n      }, '');\n    },\n    close: function () {\n      var g = gb();\n      if (g) { g('close'); }\n      if (state === 'open') { state = 'loaded'; }\n      emit('close', null);\n    },\n    \/* Dismiss: the iframe is removed. The next open reloads the documentation\n       from scratch. Use it when a page wants the memory back. *\/\n    dismiss: function () {\n      var g = gb();\n      if (g) { g('unload'); }\n      state = 'idle';\n      emit('close', null);\n    },\n    \/* GitBook ships its own floating button. We hide it on boot and drive the\n       panel from our own controls, but a page that wants the bubble can ask\n       for it. *\/\n    showButton: function () { var g = gb(); if (g) { g('show'); } },\n    hideButton: function () { var g = gb(); if (g) { g('hide'); } },\n    state: function () { return state; }\n  };\n  \/* A link can arrive with the panel already asked for:\n       \/any-page\/?docs=agronomy\/yield-calibration-and-cleaning\n       \/any-page\/?ask=How do I clean a yield map\n       \/any-page\/#docs=api-docs\/getting-started-with-the-geopard-api\n     Useful in an email or a campaign: the reader lands on the page they were\n     sent to, with the documentation already open at the right place. Parsed\n     with URLSearchParams because splitting a query string by hand would need\n     an ampersand, which cannot appear in a script body (rule 1). *\/\n  (function () {\n    var open = '';\n    var ask = '';\n    try {\n      var qs = new URLSearchParams(window.location.search);\n      open = qs.get('docs') || '';\n      ask = qs.get('ask') || '';\n    } catch (e) { \/* older browsers just do not get the deep link *\/ }\n    var hash = window.location.hash || '';\n    if (!open ? hash.indexOf('#docs=') === 0 : false) {\n      open = decodeURIComponent(hash.slice(6));\n    }\n    if (ask) { window.__GP_DOCS.ask(ask); return; }\n    if (open) { window.__GP_DOCS.open(open); }\n  })();\n})();\n\/* GPD-DOCS-EMBED END *\/\n<\/script>\n\n<script nowprocket data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\">\n\/* GPD-DOCS-SEARCH BEGIN \u2014 generated from tools\/docs-hub\/docs-search-core.js by node tools\/docs-hub\/build-launcher.js. DO NOT EDIT HERE. *\/\n\/* GPD-DOCS-SEARCH \u2014 search over the whole documentation, source of truth.\n   Injected into tools\/docs-hub\/source.html and shared\/docs_embed.html by\n   node tools\/docs-hub\/build-launcher.js. Edit THIS file, never a generated\n   section; tests.js fails if the two copies drift.\n   Self-mounting. A host page needs, in its own markup and its own scope:\n     - the index, as a JSON script block carrying  data-gp-docs-index\n     - a container carrying                        data-gp-docsearch\n     - inside it, an input carrying                data-ds-input\n     - inside it, an empty results box carrying    data-ds-results\n     - optionally an empty-state box carrying      data-ds-none\n     - optionally a keyboard hint carrying         data-ds-hint\n   Tags are named rather than shown here: a literal script tag inside this\n   comment would trip the embed's own optimizer-attribute check, and a literal\n   closing one would end the script element and take the rest of the page with\n   it. Both happened.\n   It also wires every [data-p] and [data-gp-doc] link in the document to the\n   docs panel, and fills every [data-dx-n] number slot. Both hosts use the same\n   row class names and style them under their own scope, so nothing here needs\n   configuring.\n   Rule 1: no ampersand anywhere in this file. Every user-visible label is\n   static markup in the host, because TranslatePress translates the DOM and a\n   label written here would stay English on the 24 translated copies. *\/\n(function () {\n  if (window.__GP_DOCS_INDEX) { return; }\n  var blob = document.querySelector('[data-gp-docs-index]');\n  if (!blob) { return; }\n  var DATA;\n  try { DATA = JSON.parse(blob.textContent); } catch (e) { return; }\n  var N = DATA.u ? DATA.u.length : 0;\n  if (!N) { return; }\n  var secBySlug = {};\n  var SECS = DATA.sections || [];\n  for (var i = 0; i < SECS.length; i++) { secBySlug[SECS[i].slug] = SECS[i]; }\n  \/* Section, depth and the breadcrumb all follow from the path, so the index\n     does not carry them and they are rebuilt once here. *\/\n  var byPath = {};\n  for (var j = 0; j < N; j++) { byPath[DATA.u[j]] = j; }\n  var PAGE = [];\n  for (var k = 0; k < N; k++) {\n    var u = DATA.u[k];\n    var parts = u.split('\/');\n    var trail = [];\n    for (var a = 1; a < parts.length - 1; a++) {\n      var anc = byPath[parts.slice(0, a + 1).join('\/')];\n      if (anc !== undefined) { trail.push(DATA.t[anc]); }\n    }\n    var sec = secBySlug[parts[0]];\n    PAGE.push({\n      u: u,\n      t: DATA.t[k],\n      m: DATA.m[k] || '',\n      sec: parts[0],\n      secT: sec ? sec.title : parts[0],\n      crumb: trail.join(' \/ '),\n      depth: parts.length - 1,\n      hay: (DATA.t[k] + ' ' + trail.join(' ') + ' ' + (sec ? sec.title : '')).toLowerCase()\n    });\n  }\n  \/* \u2500\u2500 numbers into static sentences \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July',\n    'August', 'September', 'October', 'November', 'December'];\n  var newest = '';\n  for (var q = 0; q < PAGE.length; q++) { if (PAGE[q].m > newest) { newest = PAGE[q].m; } }\n  function setN(name, value) {\n    var els = document.querySelectorAll('[data-dx-n=\"' + name + '\"]');\n    for (var q0 = 0; q0 < els.length; q0++) { els[q0].textContent = value; }\n  }\n  setN('pages', String(N));\n  setN('langs', String(DATA.languages || ''));\n  if (newest) { setN('updated', MONTHS[parseInt(newest.slice(5, 7), 10) - 1] + ' ' + newest.slice(0, 4)); }\n  \/* \u2500\u2500 opening a page \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function docUrl(path) {\n    return DATA.origin + DATA.space + (path ? '\/' + path : '');\n  }\n  function openDoc(path) {\n    var D = window.__GP_DOCS;\n    if (D) { D.open(path); return; }\n    window.location.href = docUrl(path);   \/* same tab, rule 25 *\/\n  }\n  function wire(el, path) {\n    if (el.getAttribute('data-ds-wired')) { return; }\n    el.setAttribute('data-ds-wired', '1');\n    el.setAttribute('href', docUrl(path));\n    el.addEventListener('click', function (ev) {\n      \/* A reader who asks the browser for a new tab gets one. That is not the\n         same as us opening one. *\/\n      if (ev.metaKey || ev.ctrlKey || ev.shiftKey || ev.altKey || ev.button > 0) { return; }\n      ev.preventDefault();\n      openDoc(path);\n    });\n  }\n  function wireAll() {\n    var links = document.querySelectorAll('[data-p],[data-gp-doc]');\n    for (var w = 0; w < links.length; w++) {\n      var p = links[w].getAttribute('data-p') || links[w].getAttribute('data-gp-doc');\n      if (p) { wire(links[w], p); }\n    }\n  }\n  wireAll();\n  \/* \u2500\u2500 ranking \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function score(page, tokens, whole) {\n    var t = page.t.toLowerCase();\n    var sc = 0;\n    \/* The whole phrase at the very start of a title is the strongest signal\n       there is. The same phrase buried mid-title is barely a signal at all: a\n       release headline listing nine features carries half the vocabulary of\n       the documentation, and used to beat the page that teaches the thing. *\/\n    if (t.indexOf(whole) === 0) { sc += 120; }\n    else if (t.indexOf(whole) >= 0) { sc += 25; }\n    for (var i2 = 0; i2 < tokens.length; i2++) {\n      var tok = tokens[i2];\n      if (page.hay.indexOf(tok) < 0) { return -1; }\n      if (t.indexOf(tok) === 0) { sc += 30; }\n      else if (t.indexOf(' ' + tok) > 0) { sc += 20; }\n      else if (t.indexOf(tok) > 0) { sc += 10; }\n      else { sc += 3; }\n    }\n    \/* Somebody typing a task wants the page that teaches it, not the month it\n       shipped in. The changelog stays searchable, one rank down. *\/\n    if (page.sec === 'changelog-and-product-releases') { sc -= 30; }\n    sc -= page.depth * 4;\n    \/* A short title is a specific one. A long one is a list. *\/\n    sc -= Math.min(30, Math.round(page.t.length \/ 8));\n    return sc;\n  }\n  \/* \u2500\u2500 one search box \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function mount(box) {\n    var input = box.querySelector('[data-ds-input]');\n    var res = box.querySelector('[data-ds-results]');\n    if (input ? !res : true) { return; }\n    var none = box.querySelector('[data-ds-none]');\n    var hint = box.querySelector('[data-ds-hint]');\n    var limit = parseInt(box.getAttribute('data-ds-limit') || '8', 10);\n    var cur = -1;\n    var lastQuery = '';\n    var noneBtn = none ? none.querySelector('button,a') : null;\n    if (noneBtn) {\n      noneBtn.addEventListener('click', function (ev) {\n        ev.preventDefault();\n        var D = window.__GP_DOCS;\n        if (D) { D.ask(lastQuery); } else { window.location.href = docUrl(''); }\n      });\n    }\n    function render(rows) {\n      res.textContent = '';\n      cur = -1;\n      if (!rows.length) {\n        res.hidden = true;\n        if (none) { none.hidden = false; }\n        if (hint) { hint.hidden = true; }\n        return;\n      }\n      if (none) { none.hidden = true; }\n      for (var i3 = 0; i3 < rows.length; i3++) {\n        var row = document.createElement('a');\n        row.className = 'dx-row';\n        row.setAttribute('role', 'option');\n        var rt = document.createElement('span');\n        rt.className = 'dx-row-t';\n        rt.textContent = rows[i3].t;\n        row.appendChild(rt);\n        var meta = document.createElement('span');\n        meta.className = 'dx-row-m';\n        var em = document.createElement('i');\n        em.textContent = rows[i3].secT;\n        meta.appendChild(em);\n        if (rows[i3].crumb) { meta.appendChild(document.createTextNode(' \u00b7 ' + rows[i3].crumb)); }\n        row.appendChild(meta);\n        wire(row, rows[i3].u);\n        res.appendChild(row);\n      }\n      res.hidden = false;\n      if (hint) { hint.hidden = false; }\n    }\n    function search() {\n      var raw = input.value.trim();\n      lastQuery = raw;\n      if (raw.length < 2) {\n        res.hidden = true;\n        res.textContent = '';\n        if (none) { none.hidden = true; }\n        if (hint) { hint.hidden = true; }\n        return;\n      }\n      var whole = raw.toLowerCase();\n      var tokens = whole.split(\/\\s+\/);\n      var out = [];\n      for (var i4 = 0; i4 < PAGE.length; i4++) {\n        var sc = score(PAGE[i4], tokens, whole);\n        if (sc >= 0) { out.push([sc, PAGE[i4]]); }\n      }\n      out.sort(function (x, y) { return y[0] - x[0]; });\n      var rows = [];\n      for (var i5 = 0; i5 < out.length ? i5 < limit : false; i5++) { rows.push(out[i5][1]); }\n      render(rows);\n    }\n    function highlight(next) {\n      var items = res.querySelectorAll('.dx-row');\n      if (!items.length) { return; }\n      if (cur >= 0) { items[cur].classList.remove('on'); }\n      cur = next < 0 ? items.length - 1 : next % items.length;\n      items[cur].classList.add('on');\n      items[cur].scrollIntoView({ block: 'nearest' });\n    }\n    input.addEventListener('input', search);\n    input.addEventListener('keydown', function (ev) {\n      if (ev.key === 'ArrowDown') { ev.preventDefault(); highlight(cur + 1); return; }\n      if (ev.key === 'ArrowUp') { ev.preventDefault(); highlight(cur - 1); return; }\n      if (ev.key === 'Escape') { input.value = ''; search(); return; }\n      if (ev.key === 'Enter') {\n        var items = res.querySelectorAll('.dx-row');\n        var pick = cur >= 0 ? items[cur] : items[0];\n        if (pick) { ev.preventDefault(); pick.click(); }\n      }\n    });\n  }\n  var boxes = document.querySelectorAll('[data-gp-docsearch]');\n  for (var b = 0; b < boxes.length; b++) { mount(boxes[b]); }\n  window.__GP_DOCS_INDEX = {\n    pages: PAGE,\n    url: docUrl,\n    open: openDoc,\n    wire: wire,\n    wireAll: wireAll\n  };\n})();\n\/* GPD-DOCS-SEARCH END *\/\n<\/script>\n\n<script nowprocket data-no-optimize=\"1\" data-no-defer=\"1\" data-no-minify=\"1\">\n\/* Documentation hub \u2014 search over the whole docs tree, and the controls that\n   open a page in the docs panel.\n   Two constraints shape this file:\n   - Rule 1: no ampersand anywhere in a script body, so every \"a AND b\" is\n     written as a ternary.\n   - TranslatePress translates the DOM, not strings a script writes. Every\n     label a reader sees is therefore static text in the markup above; this\n     file writes numbers, search results and link targets only.\n*\/\n(function () {\n  var root = document.getElementById('gp-docs');\n  if (!root) { return; }\n  var IDX = window.__GP_DOCS_INDEX;\n  if (!IDX) { return; }\n  \/* \u2500\u2500 the three ways in \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n     The cards themselves are rendered into the markup by build-facets.js, so\n     every label is static text a translator can reach. This only swaps which\n     panel is visible. *\/\n  var tabs = root.querySelectorAll('.dx-tab[data-facet]');\n  var panels = root.querySelectorAll('[data-facet-panel]');\n  for (var t0 = 0; t0 < tabs.length; t0++) {\n    (function (tab) {\n      tab.addEventListener('click', function () {\n        var want = tab.getAttribute('data-facet');\n        for (var i0 = 0; i0 < tabs.length; i0++) {\n          var on = tabs[i0] === tab;\n          tabs[i0].classList[on ? 'add' : 'remove']('on');\n          tabs[i0].setAttribute('aria-selected', on ? 'true' : 'false');\n        }\n        for (var i1 = 0; i1 < panels.length; i1++) {\n          panels[i1].hidden = panels[i1].getAttribute('data-facet-panel') !== want;\n        }\n      });\n    })(tabs[t0]);\n  }\n  \/* \u2500\u2500 ask buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var asks = root.querySelectorAll('.dx-qbtn');\n  for (var b = 0; b < asks.length; b++) {\n    (function (btn2) {\n      btn2.addEventListener('click', function () {\n        var question = btn2.textContent.trim();\n        var D = window.__GP_DOCS;\n        if (D) { D.ask(question); } else { window.location.href = IDX.url(''); }\n      });\n    })(asks[b]);\n  }\n  \/* \u2500\u2500 the reader's own language \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n     The translated spaces carry translated slugs, so a page-for-page jump is\n     not possible. What is possible, and worth offering, is the same\n     documentation opened at its home in the language this page is being read\n     in. Hidden unless there is one. *\/\n  var LOCALES = {\n    de: 'de', fr: 'fr', es: 'esp', it: 'it', ro: 'ro', nl: 'nl', pl: 'pl',\n    uk: 'ukrainian', pt: 'pt-br', sl: 'svn', lt: 'ltu', lv: 'lva', nb: 'nor',\n    no: 'nor', fi: 'fin', sv: 'swe', da: 'dnk', bg: 'bg', hu: 'hu', ru: 'ru',\n    ar: 'ar', ja: 'jpn', cs: 'cze', tr: 'tr'\n  };\n  var pageLang = (document.documentElement.getAttribute('lang') || '').slice(0, 2).toLowerCase();\n  var space = LOCALES[pageLang];\n  if (space) {\n    var wrapLang = document.getElementById('dx-lang');\n    var aLang = document.getElementById('dx-lang-a');\n    if (wrapLang ? aLang : false) {\n      var localised = IDX.url(space);\n      aLang.setAttribute('href', localised);\n      aLang.addEventListener('click', function (ev) {\n        if (ev.metaKey || ev.ctrlKey || ev.shiftKey || ev.altKey) { return; }\n        ev.preventDefault();\n        IDX.open(space);\n      });\n      wrapLang.hidden = false;\n    }\n  }\n})();\n<\/script>\n<\/div>\n\n\n\n<!-- GENERATED by scripts\/make_faq.py from tools\/docs-hub\/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=\"GeoPard documentation FAQ\">\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-1\" aria-controls=\"gpx-panel-1\" aria-selected=\"true\" tabindex=\"0\">Where to start<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-2\" aria-controls=\"gpx-panel-2\" aria-selected=\"false\" tabindex=\"-1\">What it costs<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-3\" aria-controls=\"gpx-panel-3\" aria-selected=\"false\" tabindex=\"-1\">My language<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-4\" aria-controls=\"gpx-panel-4\" aria-selected=\"false\" tabindex=\"-1\">Nothing matched<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-5\" aria-controls=\"gpx-panel-5\" aria-selected=\"false\" tabindex=\"-1\">For developers<\/button>\n      <button class=\"gpx-tab\" role=\"tab\" id=\"gpx-tab-6\" aria-controls=\"gpx-panel-6\" aria-selected=\"false\" tabindex=\"-1\">Sharing a page<\/button>\n    <\/div>\n    <div class=\"gpx-panel is-active\" role=\"tabpanel\" id=\"gpx-panel-1\" aria-labelledby=\"gpx-tab-1\">\n      <h3>I have never opened the platform. Which page do I read first?<\/h3>\n      <p>Read the import page, then the zones page. In that order they cover the part of the workflow everything else hangs off: a field with real data on it, and a map that splits that field into ground worth treating differently.<\/p>\n      <p>After those two, jump to whatever you are actually about to do. The four steps at the top of this page follow a season end to end, and each step links the three pages that matter for it.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-2\" aria-labelledby=\"gpx-tab-2\">\n      <h3>How is GeoPard priced, and which plan fits the way I work?<\/h3>\n      <p>Two shapes. Pay-As-You-Go bills per operation: a 20 dollar monthly base plus the maps you actually run, no area limit and no annual commitment. Annual bills per area with unlimited usage, from 0.59 per acre per year stepping down to 0.45 as the area grows, on a 148 dollar minimum that covers 250 acres. Acre regions are billed in dollars, the rest of the world in euro per hectare.<\/p>\n      <p>A few maps a season is cheaper per operation. Once you are importing, cleaning yield, building zones and planning sampling on the same ground every year, the annual rate passes it. Set your area and how hard you work the platform in the estimator and it shows you which side of the crossover you are on.<\/p>\n      <p>Ahead of both there is a 30 day trial covering up to 250 acres, which takes no card. Co-ops, dealers and large operations get a custom proposal instead. The AI Assistant is on every plan, with fair-use message limits.<\/p>\n      <p><a href=\"https:\/\/geopard.tech\/2026-pricing\/\">See the plans and price your own farm<\/a>, or open <a href=\"https:\/\/docs.geopard.tech\/geopard-tutorials\/product-tour-web-app\/user-settings\/subscriptions-account-limits-and-plans\" data-gp-doc=\"product-tour-web-app\/user-settings\/subscriptions-account-limits-and-plans\">Subscriptions, Account Limits and Plans<\/a> for what each one changes inside the platform.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-3\" aria-labelledby=\"gpx-tab-3\">\n      <h3>Is the documentation written in my language, or only in English?<\/h3>\n      <p>Twenty five languages, including German, French, Spanish, Portuguese, Italian, Polish, Romanian, Ukrainian, Russian, Hungarian, Bulgarian, Czech, Turkish, Arabic, Japanese, Dutch and the Nordic and Baltic languages.<\/p>\n      <p>If you are reading this page in one of them, the link at the bottom of the section opens the documentation home in that language. Search here stays English, because the translated pages carry translated addresses, so a search hit points at the English page. Open it, then switch language inside the documentation.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-4\" aria-labelledby=\"gpx-tab-4\">\n      <h3>I searched for what I want to do and got nothing back. What now?<\/h3>\n      <p>Search matches words in page titles, so it is at its best with the noun rather than the sentence. Try the thing rather than the task: type zones, nitrogen, shapefile, work plan, boundary, calibration.<\/p>\n      <p>If that still comes up empty, ask the question in plain words instead. The assistant reads the same pages and answers with links to the ones it used, which also tells you where to keep reading.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-5\" aria-labelledby=\"gpx-tab-5\">\n      <h3>Where is the API reference, and how do I authenticate?<\/h3>\n      <p>Under API reference. Start with Getting Started, then Authorization, which covers an API key, credentials and OAuth 2.0 and tells you which one fits a server integration against a user-facing one.<\/p>\n      <p>From there, the requests section lists every call with its payload, and the spatial endpoints serve layers as WMS and WFS so a field boundary, a satellite index or a zones map can be pulled straight into QGIS or your own map without an export step.<\/p>\n    <\/div>\n    <div class=\"gpx-panel\" role=\"tabpanel\" id=\"gpx-panel-6\" aria-labelledby=\"gpx-tab-6\">\n      <h3>Can I send one of these pages to a colleague, or keep a copy?<\/h3>\n      <p>Every page has its own address. Open it from here, then use the link icon at the top of the panel, or open docs.geopard.tech directly and copy the address bar.<\/p>\n      <p>For a copy that survives a trip to the field, print the page from your browser and save as PDF. The screenshots come through.<\/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\": \"I have never opened the platform. Which page do I read first?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Read the import page, then the zones page. In that order they cover the part of the workflow everything else hangs off: a field with real data on it, and a map that splits that field into ground worth treating differently. After those two, jump to whatever you are actually about to do. The four steps at the top of this page follow a season end to end, and each step links the three pages that matter for it.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How is GeoPard priced, and which plan fits the way I work?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Two shapes. Pay-As-You-Go bills per operation: a 20 dollar monthly base plus the maps you actually run, no area limit and no annual commitment. Annual bills per area with unlimited usage, from 0.59 per acre per year stepping down to 0.45 as the area grows, on a 148 dollar minimum that covers 250 acres. Acre regions are billed in dollars, the rest of the world in euro per hectare. A few maps a season is cheaper per operation. Once you are importing, cleaning yield, building zones and planning sampling on the same ground every year, the annual rate passes it. Set your area and how hard you work the platform in the estimator and it shows you which side of the crossover you are on. Ahead of both there is a 30 day trial covering up to 250 acres, which takes no card. Co-ops, dealers and large operations get a custom proposal instead. The AI Assistant is on every plan, with fair-use message limits. See the plans and price your own farm, or open Subscriptions, Account Limits and Plans for what each one changes inside the platform.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is the documentation written in my language, or only in English?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Twenty five languages, including German, French, Spanish, Portuguese, Italian, Polish, Romanian, Ukrainian, Russian, Hungarian, Bulgarian, Czech, Turkish, Arabic, Japanese, Dutch and the Nordic and Baltic languages. If you are reading this page in one of them, the link at the bottom of the section opens the documentation home in that language. Search here stays English, because the translated pages carry translated addresses, so a search hit points at the English page. Open it, then switch language inside the documentation.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"I searched for what I want to do and got nothing back. What now?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Search matches words in page titles, so it is at its best with the noun rather than the sentence. Try the thing rather than the task: type zones, nitrogen, shapefile, work plan, boundary, calibration. If that still comes up empty, ask the question in plain words instead. The assistant reads the same pages and answers with links to the ones it used, which also tells you where to keep reading.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Where is the API reference, and how do I authenticate?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Under API reference. Start with Getting Started, then Authorization, which covers an API key, credentials and OAuth 2.0 and tells you which one fits a server integration against a user-facing one. From there, the requests section lists every call with its payload, and the spatial endpoints serve layers as WMS and WFS so a field boundary, a satellite index or a zones map can be pulled straight into QGIS or your own map without an export step.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can I send one of these pages to a colleague, or keep a copy?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Every page has its own address. Open it from here, then use the link icon at the top of the panel, or open docs.geopard.tech directly and copy the address bar. For a copy that survives a trip to the field, print the page from your browser and save as PDF. The screenshots come through.\"\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>Dokumentaatio Jokainen GeoPardin ty\u00f6nkulku kirjattuna. Koko dokumentaatio yhdess\u00e4 paikassa: verkkosovellus ruutu ruudulta, jokaisen kartan taustalla oleva agronomia,\u2026<\/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-14479","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GeoPard Documentation: Every Workflow, Written Down<\/title>\n<meta name=\"description\" content=\"Search the whole GeoPard documentation: imports, zones, variable rate, exports, the API and the mobile app. Opens on the page, in 25 languages.\" \/>\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\/fin\/dokumentaatio\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GeoPard documentation: every workflow, written down\" \/>\n<meta property=\"og:description\" content=\"Search 309 pages of GeoPard documentation: imports, management zones, variable rate, exports, the API and the mobile app. Opens on the page.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geopard.tech\/fin\/dokumentaatio\/\" \/>\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-30T19:17:44+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=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/documentation\\\/\",\"url\":\"https:\\\/\\\/geopard.tech\\\/documentation\\\/\",\"name\":\"GeoPard Documentation: Every Workflow, Written Down\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/geopard.tech\\\/#website\"},\"datePublished\":\"2026-09-30T14:04:33+00:00\",\"dateModified\":\"2026-09-30T19:17:44+00:00\",\"description\":\"Search the whole GeoPard documentation: imports, zones, variable rate, exports, the API and the mobile app. Opens on the page, in 25 languages.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/geopard.tech\\\/documentation\\\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/geopard.tech\\\/documentation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/documentation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/geopard.tech\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GeoPard Documentation\"}]},{\"@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\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/geopard.tech\\\/#organization\",\"name\":\"GeoPard Agriculture\",\"alternateName\":\"GeoPard\",\"url\":\"https:\\\/\\\/geopard.tech\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@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":"GeoPard-dokumentaatio: Jokainen ty\u00f6nkulku kirjattuna","description":"Hae koko GeoPardin dokumentaatiosta: tuonnit, vy\u00f6hykkeet, muuttuva m\u00e4\u00e4r\u00e4, viennit, API ja mobiilisovellus. Avautuu sivulla 25 kielell\u00e4.","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\/fin\/dokumentaatio\/","og_locale":"fi_FI","og_type":"article","og_title":"GeoPard documentation: every workflow, written down","og_description":"Search 309 pages of GeoPard documentation: imports, management zones, variable rate, exports, the API and the mobile app. Opens on the page.","og_url":"https:\/\/geopard.tech\/fin\/dokumentaatio\/","og_site_name":"GeoPard - Precision agriculture Mapping software","article_publisher":"https:\/\/www.facebook.com\/geopardAgriculture\/","article_modified_time":"2026-09-30T19:17:44+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":{"Arvioitu lukuaika":"10 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/geopard.tech\/documentation\/","url":"https:\/\/geopard.tech\/documentation\/","name":"GeoPard-dokumentaatio: Jokainen ty\u00f6nkulku kirjattuna","isPartOf":{"@id":"https:\/\/geopard.tech\/#website"},"datePublished":"2026-09-30T14:04:33+00:00","dateModified":"2026-09-30T19:17:44+00:00","description":"Hae koko GeoPardin dokumentaatiosta: tuonnit, vy\u00f6hykkeet, muuttuva m\u00e4\u00e4r\u00e4, viennit, API ja mobiilisovellus. Avautuu sivulla 25 kielell\u00e4.","breadcrumb":{"@id":"https:\/\/geopard.tech\/documentation\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geopard.tech\/documentation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/geopard.tech\/documentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/geopard.tech\/"},{"@type":"ListItem","position":2,"name":"GeoPard Documentation"}]},{"@type":"WebSite","@id":"https:\/\/geopard.tech\/#website","url":"https:\/\/geopard.tech\/","name":"GeoPard - T\u00e4sm\u00e4viljelyohjelmisto","description":"Tarkkuusviljelyn kartoitusohjelmisto","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":"fi"},{"@type":"Organization","@id":"https:\/\/geopard.tech\/#organization","name":"GeoPard Maatalous","alternateName":"GeoPard","url":"https:\/\/geopard.tech\/","logo":{"@type":"ImageObject","inLanguage":"fi","@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-3Lx","_links":{"self":[{"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/pages\/14479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/users\/210157960"}],"replies":[{"embeddable":true,"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/comments?post=14479"}],"version-history":[{"count":4,"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/pages\/14479\/revisions"}],"predecessor-version":[{"id":14522,"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/pages\/14479\/revisions\/14522"}],"wp:attachment":[{"href":"https:\/\/geopard.tech\/fin\/wp-json\/wp\/v2\/media?parent=14479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}