diff --git a/.changeset/chilly-pants-sit.md b/.changeset/chilly-pants-sit.md new file mode 100644 index 000000000..6b6ad4401 --- /dev/null +++ b/.changeset/chilly-pants-sit.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +Redesign fields at Atlas to show all fields and redirect to details page when clicked diff --git a/.changeset/chubby-parks-pay.md b/.changeset/chubby-parks-pay.md new file mode 100644 index 000000000..456a19501 --- /dev/null +++ b/.changeset/chubby-parks-pay.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-data": minor +--- + +Add the new BRP 2025 crops to the brp cultivation dataset diff --git a/.changeset/lucky-suns-fly.md b/.changeset/lucky-suns-fly.md new file mode 100644 index 000000000..f4b402da6 --- /dev/null +++ b/.changeset/lucky-suns-fly.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-calculator": minor +--- + +Export the function getRegion, isFieldInNVGebied, isFieldInGWGBGebie and isFieldInNatura2000Gebied diff --git a/.changeset/petite-dogs-type.md b/.changeset/petite-dogs-type.md new file mode 100644 index 000000000..caab9cc63 --- /dev/null +++ b/.changeset/petite-dogs-type.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +Add at Atlas Fields that when a field is clicked, details about that field, like cultivation history and soil texture are shown on fields details page diff --git a/.changeset/polite-waves-like.md b/.changeset/polite-waves-like.md new file mode 100644 index 000000000..056baae6c --- /dev/null +++ b/.changeset/polite-waves-like.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +Atlas is now also available without selecting a farm first diff --git a/.changeset/puny-ravens-push.md b/.changeset/puny-ravens-push.md new file mode 100644 index 000000000..b38717d38 --- /dev/null +++ b/.changeset/puny-ravens-push.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-data": minor +--- + +Add the `b_lu_rest_oravib` property to the BRP cultivation dataset diff --git a/.changeset/puny-rockets-wait.md b/.changeset/puny-rockets-wait.md new file mode 100644 index 000000000..f8c56bf58 --- /dev/null +++ b/.changeset/puny-rockets-wait.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +Add `b_lu_rest_oravib` as parameter to cultivationCatalogue. This boolean parameter specifies if the cultivation is classified as 'rustgewas'. diff --git a/.changeset/social-papers-fall.md b/.changeset/social-papers-fall.md new file mode 100644 index 000000000..116018159 --- /dev/null +++ b/.changeset/social-papers-fall.md @@ -0,0 +1,5 @@ +--- +"@svenvw/fdm-app": minor +--- + +Redesign the landing page after signin with cards that show new farm and atlas. When first logged in show 2 detailed cards with the background information about the farm and atlas tool diff --git a/fdm-app/app/components/blocks/atlas-fields/cultivation-history.tsx b/fdm-app/app/components/blocks/atlas-fields/cultivation-history.tsx new file mode 100644 index 000000000..4660eeaec --- /dev/null +++ b/fdm-app/app/components/blocks/atlas-fields/cultivation-history.tsx @@ -0,0 +1,116 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card" +import { Skeleton } from "~/components/ui/skeleton" +import { Badge } from "~/components/ui/badge" +import { getCultivationColor } from "~/components/custom/cultivation-colors" + +type CultivationHistory = { + year: number + b_lu_catalogue: string + b_lu_name?: string + b_lu_croprotation?: string + b_lu_rest_oravib?: boolean +} + +export function CultivationHistoryCard({ + cultivationHistory, +}: { + cultivationHistory: CultivationHistory[] +}) { + return ( + + + Gewashistorie + + De gewassen van de afgelopen jaren op dit perceel volgens + Basisregistratie Gewaspercelen. + + + +
+ {cultivationHistory.map((cultivation, index) => ( +
+
+ + + {index !== cultivationHistory.length - 1 && ( +
+ )} +
+
+

+ {cultivation.b_lu_name} +

+

+ {cultivation.year} +

+
+
+ {cultivation.b_lu_rest_oravib === true ? ( + + Rustgewas + + ) : null} +
+
+ ))} +
+ + + ) +} + +export function CultivationHistorySkeleton() { + const SKELETON_KEYS = ["sk-1", "sk-2", "sk-3"] as const + + return ( + + + Gewashistorie + + De gewassen van de afgelopen jaren op dit perceel volgens + Basisregistratie Gewaspercelen. + + + +
+ {SKELETON_KEYS.map((key) => ( +
+ +
+ + +
+
+ ))} +
+
+
+ ) +} diff --git a/fdm-app/app/components/blocks/atlas-fields/field-details.tsx b/fdm-app/app/components/blocks/atlas-fields/field-details.tsx new file mode 100644 index 000000000..0b3a19b02 --- /dev/null +++ b/fdm-app/app/components/blocks/atlas-fields/field-details.tsx @@ -0,0 +1,192 @@ +import { Info } from "lucide-react" +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card" +import { Skeleton } from "~/components/ui/skeleton" + +export function FieldDetailsCard({ + fieldDetails, +}: { + fieldDetails: { + b_area: number + regionTable2?: "klei" | "veen" | "loess" | "zand_nwc" | "zand_zuid" + isNvGebied?: boolean + isGWBGGebied?: boolean + isNatura2000Area?: boolean + } +}) { + return ( + + + Perceeldetails + + +

De gebieden gelden voor 2025

+
+
+ +
+ + + + Oppervlakte + + + +
+
+ {fieldDetails.b_area} +
+
+ ha +
+
+
+
+ + + + Regio (RVO Tabel 2) + + + +
+
+ {fieldDetails.regionTable2 === "klei" + ? "Klei" + : fieldDetails.regionTable2 === "veen" + ? "Veen" + : fieldDetails.regionTable2 === + "loess" + ? "Löss" + : fieldDetails.regionTable2 === + "zand_nwc" + ? "Noordelijk, westelijk, en centraal zand" + : fieldDetails.regionTable2 === + "zand_zuid" + ? "Zuidelijk zand" + : "Onbekend"} +
+
+
+
+
+
+ + + + NV-Gebied + + + +
+
+ {fieldDetails.isNvGebied ? "Ja" : "Nee"} +
+
+
+
+ + + + Grondwaterbeschermingsgebied + + + +
+
+ {fieldDetails.isGWBGGebied ? "Ja" : "Nee"} +
+
+
+
+ + + + Natura 2000 + + + +
+
+ {fieldDetails.isNatura2000Area + ? "Ja" + : "Nee"} +
+
+
+
+
+
+
+ ) +} + +export function FieldDetailsSkeleton() { + return ( + + + Perceeldetails + + +

De gebieden gelden voor 2025

+
+
+ +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ ) +} diff --git a/fdm-app/app/components/blocks/atlas-fields/groundwater.tsx b/fdm-app/app/components/blocks/atlas-fields/groundwater.tsx new file mode 100644 index 000000000..afa57da78 --- /dev/null +++ b/fdm-app/app/components/blocks/atlas-fields/groundwater.tsx @@ -0,0 +1,105 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card" +import { Skeleton } from "~/components/ui/skeleton" + +export function GroundwaterCard({ + groundwaterEstimates, +}: { + groundwaterEstimates: { + b_gwl_class?: string | null + b_gwl_ghg?: number | null + b_gwl_glg?: number | null + } +}) { + return ( + + + Grondwater + + De geschatte grondwaterstanden voor dit perceel. + + + + + + + Grondwaterklasse + + + +
+
+ {groundwaterEstimates.b_gwl_class ?? "Onbekend"} +
+
+
+
+ + + + GHG + + + +
+
+ {groundwaterEstimates.b_gwl_ghg ?? "Onbekend"} +
+
+ cm-mv +
+
+
+
+ + + + GLG + + + +
+
+ {groundwaterEstimates.b_gwl_glg ?? "Onbekend"} +
+
+ cm-mv +
+
+
+
+
+
+ ) +} + +export function GroundwaterSkeleton() { + return ( + + + Grondwater + + De geschatte grondwaterstanden voor dit perceel. + + + + {["class", "ghg", "glg"].map((key) => ( + + + + + + + + + + ))} + + + ) +} diff --git a/fdm-app/app/components/blocks/atlas-fields/query.tsx b/fdm-app/app/components/blocks/atlas-fields/query.tsx new file mode 100644 index 000000000..49c0db930 --- /dev/null +++ b/fdm-app/app/components/blocks/atlas-fields/query.tsx @@ -0,0 +1,35 @@ +import { deserialize } from "flatgeobuf/lib/mjs/geojson.js" +import type { Feature, GeoJsonProperties, Geometry } from "geojson" +import { getAvailableFieldsUrl } from "~/components/blocks/atlas/atlas-url" +import { booleanPointInPolygon, point } from "@turf/turf" + +export async function getFieldByCentroid( + longitude: number, + latitude: number, + calendar: string, +): Promise | null> { + // Create a small bounding box around the centroid to query the FGB file + const buffer = 0.00001 // A very small buffer to ensure the point is within the bbox + const bbox = { + minX: longitude - buffer, + maxX: longitude + buffer, + minY: latitude - buffer, + maxY: latitude + buffer, + } + + try { + const availableFieldsUrl = getAvailableFieldsUrl(calendar) + + const pt = point([longitude, latitude]) + const iter = deserialize(availableFieldsUrl, bbox) + for await (const feature of iter) { + // Verify the centroid is actually inside the polygon + if (feature.geometry && booleanPointInPolygon(pt, feature as any)) { + return feature + } + } + } catch (error) { + console.error("Failed to query FGB data by centroid: ", error) + } + return null +} diff --git a/fdm-app/app/components/blocks/atlas-fields/soil-texture.tsx b/fdm-app/app/components/blocks/atlas-fields/soil-texture.tsx new file mode 100644 index 000000000..d5780f313 --- /dev/null +++ b/fdm-app/app/components/blocks/atlas-fields/soil-texture.tsx @@ -0,0 +1,108 @@ +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card" +import { Skeleton } from "~/components/ui/skeleton" + +export function SoilTextureCard({ + soilParameterEstimates, +}: { + soilParameterEstimates: { + a_clay_mi: number + a_silt_mi: number + a_sand_mi: number + } +}) { + return ( + + + Textuur + + De geschatte textuur van de bodem voor dit perceel. + + + + + + + Klei + + + +
+
+ {soilParameterEstimates.a_clay_mi} +
+
+ % +
+
+
+
+ + + + Silt + + + +
+
+ {soilParameterEstimates.a_silt_mi} +
+
+ % +
+
+
+
+ + + + Zand + + + +
+
+ {soilParameterEstimates.a_sand_mi} +
+
+ % +
+
+
+
+
+
+ ) +} + +export function SoilTextureSkeleton() { + return ( + + + Textuur + + De geschatte textuur van de bodem voor dit perceel. + + + + {["clay", "silt", "sand"].map((key) => ( + + + + + + + + + + ))} + + + ) +} diff --git a/fdm-app/app/components/blocks/atlas/atlas-panels.tsx b/fdm-app/app/components/blocks/atlas/atlas-panels.tsx index bd3a80deb..005abffe7 100644 --- a/fdm-app/app/components/blocks/atlas/atlas-panels.tsx +++ b/fdm-app/app/components/blocks/atlas/atlas-panels.tsx @@ -23,10 +23,12 @@ export function FieldsPanelHover({ zoomLevelFields, layer, layerExclude, + clickRedirectsToDetailsPage = false, }: { zoomLevelFields: number layer: string layerExclude?: string[] | string + clickRedirectsToDetailsPage?: boolean }) { const { current: map } = useMap() const [panel, setPanel] = useState(null) @@ -71,9 +73,11 @@ export function FieldsPanelHover({ {layer === "fieldsSaved" ? `${features[0].properties.b_area} ha` - : layer === "fieldsAvailable" - ? "Klik om te selecteren" - : "Klik om te verwijderen"} + : clickRedirectsToDetailsPage + ? "Klik voor meer details over dit perceel" + : layer === "fieldsAvailable" + ? "Klik om te selecteren" + : "Klik om te verwijderen"} , @@ -101,7 +105,7 @@ export function FieldsPanelHover({ map.off("load", updatePanel) } } - }, [map, zoomLevelFields, layer, layerExclude]) + }, [map, zoomLevelFields, layer, layerExclude, clickRedirectsToDetailsPage]) return panel } @@ -209,7 +213,11 @@ export function FieldsPanelSelection({ const cultivations = features.reduce( ( - acc: { b_lu_name: string; b_lu_croprotation?: string; count: number }[], + acc: { + b_lu_name: string + b_lu_croprotation?: string + count: number + }[], feature, ) => { if (!feature.properties) return acc diff --git a/fdm-app/app/components/blocks/atlas/atlas-sources.tsx b/fdm-app/app/components/blocks/atlas/atlas-sources.tsx index b4d7b1d43..78f03c72a 100644 --- a/fdm-app/app/components/blocks/atlas/atlas-sources.tsx +++ b/fdm-app/app/components/blocks/atlas/atlas-sources.tsx @@ -1,11 +1,21 @@ import { deserialize } from "flatgeobuf/lib/mjs/geojson.js" import type { FeatureCollection, GeoJsonProperties, Geometry } from "geojson" import throttle from "lodash.throttle" -import { type Dispatch, type JSX, type ReactNode, type SetStateAction, useEffect, useMemo, useState } from "react" +import centroid from "@turf/centroid" +import { + type Dispatch, + type JSX, + type ReactNode, + type SetStateAction, + useEffect, + useMemo, + useState, +} from "react" import { Source, useMap } from "react-map-gl/mapbox" import { generateFeatureClass } from "./atlas-functions" import type { Field } from "@svenvw/fdm-core" import { getAvailableFieldsUrl } from "./atlas-url" +import { useNavigate } from "react-router" import { type CatalogueCultivationItem, getCultivationCatalogue, @@ -128,12 +138,14 @@ export function FieldsSourceAvailable({ calendar, exclude, zoomLevelFields, + redirectToDetailsPage = false, children, }: { id: string calendar: string exclude: Field[] zoomLevelFields: number + redirectToDetailsPage: boolean children: JSX.Element }) { const unwantedIds = new Set( @@ -145,6 +157,8 @@ export function FieldsSourceAvailable({ const [data, setData] = useState(generateFeatureClass()) const availableFieldsUrl = getAvailableFieldsUrl(calendar) + const navigate = useNavigate() + const cultivationCataloguePromise = useMemo(async () => { try { const items = await getCultivationCatalogue("brp") @@ -162,6 +176,32 @@ export function FieldsSourceAvailable({ } }, []) + useEffect(() => { + if (map && redirectToDetailsPage) { + const handleClick = (e: any) => { + // Get the coordinates of the centroid of the clicked field + if (e.features) { + try { + const clickedFeature = e.features[0] + const featureCentroid = centroid(clickedFeature) + const featureCentroidCoordinates = + featureCentroid.geometry.coordinates.join(",") + navigate(featureCentroidCoordinates) + } catch (error) { + console.error( + "Failed to calculate centroid or navigate:", + error, + ) + } + } + } + map.on("click", id, handleClick) + return () => { + map.off("click", id, handleClick) + } + } + }, [map, id, redirectToDetailsPage, navigate]) + useEffect(() => { async function loadData() { if (map) { @@ -233,7 +273,13 @@ export function FieldsSourceAvailable({ map.off("zoomend", throttledLoadData) } } - }, [map, availableFieldsUrl, zoomLevelFields, unwantedIds, cultivationCataloguePromise]) + }, [ + map, + availableFieldsUrl, + zoomLevelFields, + unwantedIds, + cultivationCataloguePromise, + ]) return ( diff --git a/fdm-app/app/components/blocks/atlas/atlas-viewstate.tsx b/fdm-app/app/components/blocks/atlas/atlas-viewstate.tsx index 1729875f5..5986daa9d 100644 --- a/fdm-app/app/components/blocks/atlas/atlas-viewstate.tsx +++ b/fdm-app/app/components/blocks/atlas/atlas-viewstate.tsx @@ -1,7 +1,7 @@ import geojsonExtent from "@mapbox/geojson-extent" import type { FeatureCollection } from "geojson" -function getBounds(fields: FeatureCollection | null) { +function getBounds(fields: FeatureCollection | null | undefined) { const initialBounds = [3.1, 50.7, 7.2, 53.6] let bounds = initialBounds @@ -16,7 +16,7 @@ function getBounds(fields: FeatureCollection | null) { return bounds } -export function getViewState(fields: FeatureCollection | null) { +export function getViewState(fields: FeatureCollection | null | undefined) { if (fields) { const bounds = getBounds(fields) diff --git a/fdm-app/app/components/blocks/email/welcome.tsx b/fdm-app/app/components/blocks/email/welcome.tsx index 1758a30a1..abb68bc5b 100644 --- a/fdm-app/app/components/blocks/email/welcome.tsx +++ b/fdm-app/app/components/blocks/email/welcome.tsx @@ -33,6 +33,8 @@ export function WelcomeEmail({ const fontFamily = `"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, sans-serif` + const absoluteUrl = url.startsWith("http") ? url : `https://${url}` + return ( @@ -63,22 +65,77 @@ export function WelcomeEmail({
- Fijn dat je erbij bent! We helpen je graag om - meer inzicht te krijgen en je bedrijf te - verbeteren. + Bedankt voor je aanmelding. Dit is een overzicht + van de belangrijkste functies. + +
+ +
+ +
+ + Wat kun je nu doen? + + + 1. Een bedrijf aanmaken + + + Door een bedrijf aan te maken, krijg je toegang + tot de volgende functies: + +
    +
  • + Stikstofbalans, bemestingsadvies en + gebruiksruimte-apps. +
  • +
  • + Beheer van meerdere jaren voor een compleet + overzicht. +
  • +
  • + Een uitgebreide lijst van meststoffen die je + zelf kunt aanpassen. +
  • +
  • + De mogelijkheid om je adviseur toegang te + geven. +
  • +
+ + + 2. De Atlas verkennen - Met {appName} kun je eenvoudig je - nutriëntenbalans berekenen, organische - stofbalans bepalen en advies krijgen over het - gebruik van de juiste meststoffen. + Je kunt er ook voor kiezen om de Atlas te + verkennen. Hier vind je onder andere: +
    +
  • + De volledige gewashistorie van percelen + sinds 2009. +
  • +
  • + Of een perceel in een gebied met beperkingen + voor de gebruiksruimte valt. +
  • +
  • + Een inschatting van de bodemtextuur en het + grondwaterpeil. +
  • +
+
@@ -86,7 +143,7 @@ export function WelcomeEmail({
Heb je vragen of suggesties? We horen graag van - je. Je kunt ons bereiken door te reageren op + je. Je kunt ons ook bereiken door te reageren op deze mail.
diff --git a/fdm-app/app/components/blocks/farm/farm-title.tsx b/fdm-app/app/components/blocks/farm/farm-title.tsx index 7429463d8..d303895ff 100644 --- a/fdm-app/app/components/blocks/farm/farm-title.tsx +++ b/fdm-app/app/components/blocks/farm/farm-title.tsx @@ -1,6 +1,7 @@ import { NavLink } from "react-router" import { Button } from "~/components/ui/button" import { Separator } from "~/components/ui/separator" +import { Skeleton } from "~/components/ui/skeleton" interface FarmTitleProps { title: string @@ -33,3 +34,20 @@ export function FarmTitle({ title, description, action }: FarmTitleProps) {
) } + +export function FarmTitleSkeleton() { + return ( +
+
+
+ + +
+
+ +
+
+ +
+ ) +} diff --git a/fdm-app/app/components/blocks/header/action.tsx b/fdm-app/app/components/blocks/header/action.tsx index 2e4ef9e6e..c154f920e 100644 --- a/fdm-app/app/components/blocks/header/action.tsx +++ b/fdm-app/app/components/blocks/header/action.tsx @@ -1,6 +1,7 @@ import { NavLink } from "react-router" import { cn } from "@/app/lib/utils" import { Button } from "../../ui/button" +import type { JSX } from "react" export interface HeaderActionProps { label: string diff --git a/fdm-app/app/components/blocks/header/atlas.tsx b/fdm-app/app/components/blocks/header/atlas.tsx index f0285bf16..51e2f8a81 100644 --- a/fdm-app/app/components/blocks/header/atlas.tsx +++ b/fdm-app/app/components/blocks/header/atlas.tsx @@ -1,29 +1,11 @@ -import { ChevronDown } from "lucide-react" -import { NavLink, useLocation } from "react-router" import { useCalendarStore } from "@/app/store/calendar" import { BreadcrumbItem, BreadcrumbLink, BreadcrumbSeparator, } from "~/components/ui/breadcrumb" -import { - DropdownMenu, - DropdownMenuCheckboxItem, - DropdownMenuContent, - DropdownMenuTrigger, -} from "~/components/ui/dropdown-menu" -export function HeaderAtlas({ - b_id_farm, - selectedAtlasLayerId, - atlasLayerOptions, -}: { - b_id_farm: string - selectedAtlasLayerId: string - atlasLayerOptions: HeaderAtlasLayerOption[] -}) { - const location = useLocation() - const currentPath = String(location.pathname) +export function HeaderAtlas({ b_id_farm }: { b_id_farm: string | undefined }) { const calendar = useCalendarStore((state) => state.calendar) return ( @@ -35,41 +17,12 @@ export function HeaderAtlas({ - - - - {selectedAtlasLayerId && atlasLayerOptions - ? (atlasLayerOptions.find( - (option) => - option.atlasLayerId === - selectedAtlasLayerId, - )?.atlasLayerName ?? "Unknown layer") - : "Kies een kaartlaag"} - - - {atlasLayerOptions && atlasLayerOptions.length > 0 ? ( - - {atlasLayerOptions.map((option) => ( - - - {option.atlasLayerName} - - - ))} - - ) : null} - + + + Percelen + ) diff --git a/fdm-app/app/components/blocks/header/farm.tsx b/fdm-app/app/components/blocks/header/farm.tsx index 37792408e..594d30b1b 100644 --- a/fdm-app/app/components/blocks/header/farm.tsx +++ b/fdm-app/app/components/blocks/header/farm.tsx @@ -40,7 +40,7 @@ export function HeaderFarm({ {b_id_farm && farmOptions ? (farmOptions.find( (option) => option.b_id_farm === b_id_farm, - )?.b_name_farm ?? "Unknown farm") + )?.b_name_farm ?? "Geen bedrijf geselecteerd") : "Kies een bedrijf"} {farmOptions && farmOptions.length > 0 ? ( @@ -57,13 +57,13 @@ export function HeaderFarm({ to={ b_id_farm ? currentPath.replace( - b_id_farm, - option.b_id_farm, + /^\/farm\/[^/]+/, + `/farm/${option.b_id_farm}`, ) : `/farm/${option.b_id_farm}` } > - {option.b_name_farm} + {option.b_name_farm ?? "Naam onbekend"} ))} diff --git a/fdm-app/app/components/blocks/sidebar/apps.tsx b/fdm-app/app/components/blocks/sidebar/apps.tsx index 7c9008aff..39e92a7a0 100644 --- a/fdm-app/app/components/blocks/sidebar/apps.tsx +++ b/fdm-app/app/components/blocks/sidebar/apps.tsx @@ -34,7 +34,7 @@ export function SidebarApps() { } else if (farmId) { atlasLink = `/farm/${farmId}/${selectedCalendar}/atlas` } else { - atlasLink = undefined + atlasLink = `/farm/undefined/${selectedCalendar}/atlas` } let nutrientBalanceLink: string | undefined diff --git a/fdm-app/app/components/blocks/sidebar/farm.tsx b/fdm-app/app/components/blocks/sidebar/farm.tsx index 0538f456d..230ae91c5 100644 --- a/fdm-app/app/components/blocks/sidebar/farm.tsx +++ b/fdm-app/app/components/blocks/sidebar/farm.tsx @@ -52,7 +52,7 @@ export function SidebarFarm() { farmLinkDisplay = "Bedrijf" } else { farmLink = "/farm" - farmLinkDisplay = "Selecteer een bedrijf" + farmLinkDisplay = "Overzicht bedrijven" } let fieldsLink: string | undefined diff --git a/fdm-app/app/integrations/nmi.ts b/fdm-app/app/integrations/nmi.ts index bbe9cf098..585251168 100644 --- a/fdm-app/app/integrations/nmi.ts +++ b/fdm-app/app/integrations/nmi.ts @@ -51,6 +51,9 @@ export async function getSoilParameterEstimates( a_zn_cc: number b_soiltype_agr: string b_gwl_class: string + b_gwl_ghg: number + b_gwl_glg: number + cultivations: { year: number; b_lu_brp: number }[] a_source: string a_depth_upper: number a_depth_lower: number | undefined @@ -140,6 +143,9 @@ const soilParameterEstimatesSchema = z.object({ a_zn_cc: z.number(), b_soiltype_agr: z.string(), b_gwl_class: z.string(), + b_gwl_ghg: z.number(), + b_gwl_glg: z.number(), + cultivations: z.array(z.object({ year: z.number(), b_lu_brp: z.number() })), a_source: z.string(), }) diff --git a/fdm-app/app/lib/email.server.ts b/fdm-app/app/lib/email.server.ts index c78e6a11a..cf64d6cd8 100644 --- a/fdm-app/app/lib/email.server.ts +++ b/fdm-app/app/lib/email.server.ts @@ -86,7 +86,7 @@ export async function renderMagicLinkEmail( const email: Email = { From: `"${serverConfig.mail?.postmark.sender_name}" <${serverConfig.mail?.postmark.sender_address}>`, To: emailAddress, - Subject: `Aanmeldlink voor ${serverConfig.name} | ${emailTimestamp}}`, + Subject: `Aanmeldlink voor ${serverConfig.name} | ${emailTimestamp}`, HtmlBody: emailHtml, Tag: "magic-link", } diff --git a/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.$centroid.tsx b/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.$centroid.tsx new file mode 100644 index 000000000..c0eca9514 --- /dev/null +++ b/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.$centroid.tsx @@ -0,0 +1,258 @@ +import { + data, + type LoaderFunctionArgs, + type MetaFunction, + useLoaderData, + Await, +} from "react-router" +import { getSession } from "~/lib/auth.server" +import { getCalendar } from "~/lib/calendar" +import { clientConfig } from "~/lib/config" +import { handleLoaderError } from "~/lib/error" +import { getNmiApiKey, getSoilParameterEstimates } from "~/integrations/nmi" +import { getCultivationCatalogue } from "@svenvw/fdm-data" +import { + FarmTitle, + FarmTitleSkeleton, +} from "~/components/blocks/farm/farm-title" +import { + CultivationHistoryCard, + CultivationHistorySkeleton, +} from "~/components/blocks/atlas-fields/cultivation-history" +import { + SoilTextureCard, + SoilTextureSkeleton, +} from "~/components/blocks/atlas-fields/soil-texture" +import { + GroundwaterCard, + GroundwaterSkeleton, +} from "~/components/blocks/atlas-fields/groundwater" +import { + FieldDetailsCard, + FieldDetailsSkeleton, +} from "~/components/blocks/atlas-fields/field-details" +import { Suspense } from "react" +import { + getRegion, + isFieldInGWGBGebied, + isFieldInNatura2000Gebied, + isFieldInNVGebied, +} from "@svenvw/fdm-calculator" +import { getFieldByCentroid } from "~/components/blocks/atlas-fields/query" +import type { Feature, Point } from "geojson" + +// Meta +export const meta: MetaFunction = () => { + return [ + { title: `Perceel | Atlas | ${clientConfig.name}` }, + { + name: "description", + content: "Bekijk de details van dit perceel", + }, + ] +} + +export async function loader({ request, params }: LoaderFunctionArgs) { + try { + // Get the farm id + const b_id_farm = params.b_id_farm + if (!b_id_farm) { + throw data("Farm ID is required", { + status: 400, + statusText: "Farm ID is required", + }) + } + + // Get the session + const session = await getSession(request) + + // Get timeframe from calendar store + const calendar = getCalendar(params) + + // Get the estimates for this field + const centroid = params.centroid + if (!centroid) { + throw data("Centroid is required", { + status: 400, + statusText: "Centroid is required", + }) + } + const [longitude, latitude] = centroid.split(",").map(Number) + if (Number.isNaN(longitude) || Number.isNaN(latitude)) { + throw data("Invalid centroid format", { + status: 400, + statusText: "Centroid must be in format: longitude,latitude", + }) + } + const fieldPromise = getFieldByCentroid(longitude, latitude, calendar) + const field = { + type: "Feature", + properties: {}, + geometry: { + type: "Point", + coordinates: [longitude, latitude], + }, + } as Feature + const nmiApiKey = getNmiApiKey() + + const estimatesPromise = getSoilParameterEstimates(field, nmiApiKey) + const cultivationCataloguePromise = getCultivationCatalogue("brp") + + const fieldDetailsPromise = Promise.all([ + getRegion([longitude, latitude]), + isFieldInNVGebied([longitude, latitude]), + isFieldInGWGBGebied([longitude, latitude]), + isFieldInNatura2000Gebied([longitude, latitude]), + ]) + + const [ + estimates, + cultivationCatalogue, + fieldDetailsData, + queriedField, + ] = await Promise.all([ + estimatesPromise, + cultivationCataloguePromise, + fieldDetailsPromise, + fieldPromise, + ]) + + const [regionTable2, isNvGebied, isGWBGGebied, isNatura2000Area] = + fieldDetailsData + + const cultivationHistory = estimates.cultivations.map( + (cultivation: { year: number; b_lu_brp: string }) => { + const b_lu_catalogue = `nl_${cultivation.b_lu_brp}` + const catalogueItem = cultivationCatalogue.find( + (item: { b_lu_catalogue: string }) => + item.b_lu_catalogue === b_lu_catalogue, + ) + return { + year: cultivation.year, + b_lu_catalogue, + b_lu_name: catalogueItem?.b_lu_name ?? "Onbekend gewas", + b_lu_croprotation: + catalogueItem?.b_lu_croprotation ?? "other", + b_lu_rest_oravib: catalogueItem?.b_lu_rest_oravib ?? false, + } + }, + ) + + return { + cultivationHistory, + groundwaterEstimates: { + b_gwl_class: estimates.b_gwl_class, + b_gwl_ghg: estimates.b_gwl_ghg, + b_gwl_glg: estimates.b_gwl_glg, + }, + soilParameterEstimates: { + a_clay_mi: Math.round(estimates.a_clay_mi), + a_silt_mi: Math.round(estimates.a_silt_mi), + a_sand_mi: Math.round(estimates.a_sand_mi), + }, + fieldDetails: { + b_area: queriedField?.properties?.b_area + ? Math.round( + (queriedField.properties.b_area / 10000) * 100, + ) / 100 + : 0, + isNvGebied, + isGWBGGebied, + isNatura2000Area, + regionTable2, + }, + calendar, + } + } catch (error) { + throw handleLoaderError(error) + } +} + +export default function FieldDetailsAtlasBlock() { + const { + cultivationHistory, + calendar, + soilParameterEstimates, + groundwaterEstimates, + fieldDetails, + } = useLoaderData() + + return ( +
+ }> + + {(resolvedCultivationHistory) => ( + + cultivation.year === Number(calendar), + )?.b_lu_name ?? "Onbekend gewas" + } + description="Bekijk alle details over dit perceel" + /> + )} + + +
+ {/* Cultivation History - Mobile (order 2), Desktop (order 1) */} +
+ }> + + {(resolvedCultivationHistory) => ( + + )} + + +
+ {/* Grouped Detail Cards - Mobile (order 1, 3, 4), Desktop (order 2) */} +
+ {/* Field Details - Mobile first (order 1) */} +
+ }> + + {(resolvedFieldDetails) => ( + + )} + + +
+ {/* Soil Texture - Mobile (order 3) */} +
+ }> + + {(resolvedSoilParameterEstimates) => ( + + )} + + +
+ {/* Ground Water - Mobile (order 4) */} +
+ }> + + {(resolvedGroundwaterEstimates) => ( + + )} + + +
+
+
+
+ ) +} diff --git a/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.tsx b/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields._index.tsx similarity index 60% rename from fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.tsx rename to fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields._index.tsx index 27a788cd2..c3c9b879d 100644 --- a/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.tsx +++ b/fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields._index.tsx @@ -1,4 +1,4 @@ -import { useCallback, useState } from "react" +import { useCallback, useEffect, useRef, useState } from "react" import { Layer, Map as MapGL, @@ -13,12 +13,15 @@ import { data, type LoaderFunctionArgs, useLoaderData } from "react-router" import { ZOOM_LEVEL_FIELDS } from "~/components/blocks/atlas/atlas" import { Controls } from "~/components/blocks/atlas/atlas-controls" import { FieldsPanelHover } from "~/components/blocks/atlas/atlas-panels" -import { FieldsSourceNotClickable } from "~/components/blocks/atlas/atlas-sources" +import { + FieldsSourceAvailable, + FieldsSourceNotClickable, +} from "~/components/blocks/atlas/atlas-sources" import { getFieldsStyle } from "~/components/blocks/atlas/atlas-styles" import { getViewState } from "~/components/blocks/atlas/atlas-viewstate" import { getMapboxStyle, getMapboxToken } from "~/integrations/mapbox" import { getSession } from "~/lib/auth.server" -import { getTimeframe } from "~/lib/calendar" +import { getCalendar, getTimeframe } from "~/lib/calendar" import { clientConfig } from "~/lib/config" import { handleLoaderError } from "~/lib/error" import { fdm } from "~/lib/fdm.server" @@ -53,44 +56,42 @@ export async function loader({ request, params }: LoaderFunctionArgs) { try { // Get the farm id const b_id_farm = params.b_id_farm - if (!b_id_farm) { - throw data("Farm ID is required", { - status: 400, - statusText: "Farm ID is required", - }) - } // Get the session const session = await getSession(request) // Get timeframe from calendar store + const calendar = getCalendar(params) const timeframe = getTimeframe(params) // Get the fields of the farm - const fields = await getFields( - fdm, - session.principal_id, - b_id_farm, - timeframe, - ) - const features = fields.map((field) => { - const feature = { - type: "Feature" as const, - properties: { - b_id: field.b_id, - b_name: field.b_name, - b_area: Math.round(field.b_area * 10) / 10, - b_lu_name: field.b_lu_name, - b_id_source: field.b_id_source, - }, - geometry: field.b_geometry, - } - return feature - }) + let featureCollection: FeatureCollection | undefined + if (b_id_farm && b_id_farm !== "undefined") { + const fields = await getFields( + fdm, + session.principal_id, + b_id_farm, + timeframe, + ) + const features = fields.map((field) => { + const feature = { + type: "Feature" as const, + properties: { + b_id: field.b_id, + b_name: field.b_name, + b_area: Math.round(field.b_area * 10) / 10, + b_lu_name: field.b_lu_name, + b_id_source: field.b_id_source, + }, + geometry: field.b_geometry, + } + return feature + }) - const featureCollection: FeatureCollection = { - type: "FeatureCollection", - features: features, + featureCollection = { + type: "FeatureCollection", + features: features, + } } // Get the Mapbox token and style @@ -99,6 +100,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) { // Return user information from loader return { + calendar: calendar, savedFields: featureCollection, mapboxToken: mapboxToken, mapboxStyle: mapboxStyle, @@ -119,27 +121,50 @@ export default function FarmAtlasFieldsBlock() { const id = "fieldsSaved" const fields = loaderData.savedFields - const initialViewState = getViewState(fields) const fieldsSavedStyle = getFieldsStyle(id) - + const fieldsAvailableId = "fieldsAvailable" + const fieldsAvailableStyle = getFieldsStyle(fieldsAvailableId) const fieldsSavedOutlineStyle = getFieldsStyle("fieldsSavedOutline") + const initialViewState = getViewState(fields) - const [viewState, setViewState] = useState( - initialViewState as ViewState, - ) + // Create a sessionStorage to store the latest viewstate + const [viewState, setViewState] = useState(() => { + if (typeof window !== "undefined") { + const savedViewState = sessionStorage.getItem("mapViewState") + if (savedViewState) { + try { + return JSON.parse(savedViewState) + } catch { + sessionStorage.removeItem("mapViewState") + } + } + } + return initialViewState as ViewState + }) const onViewportChange = useCallback((event: ViewStateChangeEvent) => { setViewState(event.viewState) }, []) + const isFirstRender = useRef(true) + + // If latest viewstate is available use that one + useEffect(() => { + if (isFirstRender.current) { + isFirstRender.current = false + return + } + sessionStorage.setItem("mapViewState", JSON.stringify(viewState)) + }, [viewState]) + return ( - - - - + + + + + + {fields ? ( + + + + + ) : null}
+ { @@ -45,33 +45,12 @@ export async function loader({ request, params }: LoaderFunctionArgs) { try { // Get the farm id const b_id_farm = params.b_id_farm - if (!b_id_farm) { - throw data("Farm ID is required", { - status: 400, - statusText: "Farm ID is required", - }) - } // Get the session const session = await getSession(request) - // Get details of farm - let farm = null - try { - farm = await getFarm(fdm, session.principal_id, b_id_farm) - if (!farm) { - throw data("Farm is not found", { - status: 404, - statusText: "Farm is not found", - }) - } - } catch (error) { - console.error("Failed to fetch farm details:", error) - throw data("Failed to fetch farm details", { - status: 500, - statusText: "Internal Server Error", - }) - } + // Get the calendar + const calendar = getCalendar(params) // Get a list of possible farms of the user const farms = await getFarms(fdm, session.principal_id) @@ -88,18 +67,11 @@ export async function loader({ request, params }: LoaderFunctionArgs) { } }) - const atlasLayerOptions = [ - { atlasLayerId: "fields", atlasLayerName: "Percelen" }, - { atlasLayerId: "soil", atlasLayerName: "Bodem" }, - { atlasLayerId: "elevation", atlasLayerName: "Hoogtekaart" }, - ] - // Return user information from loader return { - farm: farm, b_id_farm: b_id_farm, + calendar: calendar, farmOptions: farmOptions, - atlasLayerOptions: atlasLayerOptions, } } catch (error) { throw handleLoaderError(error) @@ -122,29 +94,32 @@ export default function FarmContentBlock() { // Get the current layer const pathname = location.pathname - const pathSegments = pathname.split("/") - const layerSelected = pathSegments[pathSegments.length - 1] + + // Add back to map button when visiting the field details page + const isFieldDetailsPage = + pathname.includes("/atlas/fields/") && + pathname.split("/atlas/fields/")[1]?.includes(",") + let headerAction: + | { to: string; label: string; disabled: boolean } + | undefined + if (isFieldDetailsPage) { + headerAction = { + to: `/farm/${loaderData.b_id_farm}/${loaderData.calendar}/atlas/fields`, + label: "Terug", + disabled: false, + } + } return ( -
+
- +
- } > diff --git a/fdm-app/app/routes/farm.$b_id_farm.$calendar.field.new.tsx b/fdm-app/app/routes/farm.$b_id_farm.$calendar.field.new.tsx index e98ebf878..7ac0e2199 100644 --- a/fdm-app/app/routes/farm.$b_id_farm.$calendar.field.new.tsx +++ b/fdm-app/app/routes/farm.$b_id_farm.$calendar.field.new.tsx @@ -309,6 +309,7 @@ export default function Index() { calendar={loaderData.calendar} zoomLevelFields={ZOOM_LEVEL_FIELDS} exclude={fieldsSaved.features} + redirectToDetailsPage={false} > diff --git a/fdm-app/app/routes/farm._index.tsx b/fdm-app/app/routes/farm._index.tsx index 38f1ddfd3..1fa9ed14f 100644 --- a/fdm-app/app/routes/farm._index.tsx +++ b/fdm-app/app/routes/farm._index.tsx @@ -1,5 +1,5 @@ import { getFarms } from "@svenvw/fdm-core" -import { House } from "lucide-react" +import { CheckIcon, House, MapIcon, PlusCircle, PlusIcon } from "lucide-react" import { type LoaderFunctionArgs, type MetaFunction, @@ -26,6 +26,7 @@ import { clientConfig } from "~/lib/config" import { handleLoaderError } from "~/lib/error" import { fdm } from "~/lib/fdm.server" import { getTimeBasedGreeting } from "~/lib/greetings" +import { getCalendar, getCalendarSelection } from "../lib/calendar" // Meta export const meta: MetaFunction = () => { @@ -50,14 +51,16 @@ export const meta: MetaFunction = () => { * * @throws {Error} If retrieving the session or fetching the farm data fails. */ -export async function loader({ request }: LoaderFunctionArgs) { +export async function loader({ request, params }: LoaderFunctionArgs) { try { // Get the session const session = await getSession(request) + // Get latest available year + const calendar = getCalendarSelection()[0] ?? "all" + // Get a list of possible farms of the user const farms = await getFarms(fdm, session.principal_id) - const farmOptions = farms.map((farm) => { return { b_id_farm: farm.b_id_farm, @@ -69,6 +72,7 @@ export async function loader({ request }: LoaderFunctionArgs) { return { farms: farms, farmOptions: farmOptions, + calendar: calendar, username: session.userName, } } catch (error) { @@ -97,32 +101,134 @@ export default function AppIndex() {
{loaderData.farms.length === 0 ? ( - <> +
-
-
-

- Het lijkt erop dat je nog geen bedrijf hebt - :( -

-

- Gebruik onze wizard en maak snel je eigen - bedrijf aan -

-
- -

- De meeste gebruikers lukt het binnen 6 minuten. -

+
+ + + + + + Nieuw bedrijf aanmaken + + + + Start met het aanmaken van je bedrijf en + voeg je percelen toe. + + + +

+ Een bedrijf vormt de basis voor al je + analyses en adviezen. Krijg toegang tot: +

+
    +
  • + + + Toegang tot de{" "} + Stikstofbalans,{" "} + Bemestingsadvies en{" "} + Gebruiksruimte. + +
  • +
  • + + + Beheer van meerdere jaren voor + een compleet overzicht. + +
  • +
  • + + + Een uitgebreide lijst van + meststoffen die je zelf kunt + aanpassen en uitbreiden. + +
  • +
  • + + + De mogelijkheid om je adviseur + toegang te geven tot je + bedrijfsgegevens. + +
  • +
+
+ + + +
+ + + + + + Verken de Atlas + + + + Bekijk percelen op de kaart en ontdek + gedetailleerde informatie. + + + +

+ De Atlas is een handige tool om percelen + te analyseren, zelfs zonder een eigen + bedrijf. Ontdek bijvoorbeeld: +

+
    +
  • + + + De volledige teelthistorie van + percelen tot 2009. + +
  • +
  • + + + Of een perceel in een gebied met + beperkingen voor de + gebruiksruimte valt. + +
  • +
  • + + + Een inschatting van de + bodemtextuur en het + grondwaterpeil. + +
  • +
+
+ + + +
- +
) : ( <>
-
-
- {loaderData.farms.map((farm) => ( - +
+ {loaderData.farms.map((farm) => ( + +
- +
+ +
{farm.b_name_farm}
@@ -148,7 +262,6 @@ export default function AppIndex() { {role === "owner" @@ -167,37 +280,33 @@ export default function AppIndex() { - +
-
-

- Adres: -

+
+

Adres:

{farm.b_address_farm ? ( -

+

{ farm.b_address_farm }

) : ( -

+

{"Onbekend"}

)}
-
-

- Postcode: -

+
+

Postcode:

{farm.b_postalcode_farm ? ( -

+

{ farm.b_postalcode_farm }

) : ( -

+

{"Onbekend"}

)} @@ -216,33 +325,83 @@ export default function AppIndex() { )}
- - + + + Selecteer → + - - ))} -
- -
- -

- Of maak een nieuw bedrijf aan: -

- - + + + ))} + + + + +
+ +
+ Nieuw bedrijf +
+ +
+ +

+ Maak een nieuw bedrijf aan en + beheer je percelen, gewassen en + meststoffen. +

+

+ Hiermee kun je dan voor dit + bedrijf de Nutriëntenbalans, + Bemestingsadvies en + Gebruiksruimte gaan gebruiken. +

+
+ + + Naar nieuw Bedrijf → + + +
+
+ + + + +
+ +
+ Atlas +
+ +
+ +

+ Bekijk alle percelen op de kaart + en selecteer een perceel voor + meer details, zoals + gewashistorie. +

+
+ + + Naar Atlas → + +
-
+
diff --git a/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.atlas.tsx b/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.atlas.tsx index b98f346fa..30d9367bf 100644 --- a/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.atlas.tsx +++ b/fdm-app/app/routes/farm.create.$b_id_farm.$calendar.atlas.tsx @@ -300,6 +300,7 @@ export default function Index() { exclude={fieldsSaved.features} calendar={loaderData.calendar} zoomLevelFields={ZOOM_LEVEL_FIELDS} + redirectToDetailsPage={false} > diff --git a/fdm-calculator/src/index.ts b/fdm-calculator/src/index.ts index 9d1172910..3ed19c49e 100644 --- a/fdm-calculator/src/index.ts +++ b/fdm-calculator/src/index.ts @@ -28,3 +28,11 @@ export type { GebruiksnormResult, NL2025NormsInput, } from "./norms/nl/2025/types.d" +export { + getRegion, + isFieldInNVGebied, +} from "./norms/nl/2025/stikstofgebruiksnorm" +export { + isFieldInGWGBGebied, + isFieldInNatura2000Gebied, +} from "./norms/nl/2025/dierlijke-mest-gebruiksnorm" \ No newline at end of file diff --git a/fdm-core/src/cultivation.test.ts b/fdm-core/src/cultivation.test.ts index 752df9d94..59bc84fba 100644 --- a/fdm-core/src/cultivation.test.ts +++ b/fdm-core/src/cultivation.test.ts @@ -117,6 +117,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) b_lu_start = new Date("2024-01-01") @@ -161,6 +162,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) const cultivations = await getCultivationsFromCatalogue( @@ -399,6 +401,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) await updateCultivation( @@ -469,6 +472,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) const newSowingDate = new Date("2024-02-01") @@ -511,6 +515,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 8, b_lu_n_residue: 5, b_n_fixation: 0, + b_lu_rest_oravib: false, }) await updateCultivation(fdm, principal_id, b_lu, newCatalogueId) @@ -683,6 +688,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) await addCultivation( @@ -850,6 +856,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) // Add a second field @@ -993,6 +1000,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) // Add a cultivation 'Wheat' within the timeframe @@ -1055,6 +1063,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) // Add a cultivation 'Wheat' @@ -1178,6 +1187,7 @@ describe("Cultivation Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) // Add a cultivation 'Wheat' - outside timeframe diff --git a/fdm-core/src/cultivation.ts b/fdm-core/src/cultivation.ts index 6ed33adf1..21e07b85e 100644 --- a/fdm-core/src/cultivation.ts +++ b/fdm-core/src/cultivation.ts @@ -115,6 +115,7 @@ export async function addCultivationToCatalogue( b_lu_n_harvestable: schema.cultivationsCatalogueTypeInsert["b_lu_n_harvestable"] b_lu_n_residue: schema.cultivationsCatalogueTypeInsert["b_lu_n_residue"] b_n_fixation: schema.cultivationsCatalogueTypeInsert["b_n_fixation"] + b_lu_rest_oravib: schema.cultivationsCatalogueTypeInsert["b_lu_rest_oravib"] }, ): Promise { try { diff --git a/fdm-core/src/db/migrations/0012_legal_boomer.sql b/fdm-core/src/db/migrations/0012_legal_boomer.sql new file mode 100644 index 000000000..991d4ea3c --- /dev/null +++ b/fdm-core/src/db/migrations/0012_legal_boomer.sql @@ -0,0 +1 @@ +ALTER TABLE "fdm"."cultivations_catalogue" ADD COLUMN "b_lu_rest_oravib" boolean; \ No newline at end of file diff --git a/fdm-core/src/db/migrations/meta/0012_snapshot.json b/fdm-core/src/db/migrations/meta/0012_snapshot.json new file mode 100644 index 000000000..84ce00395 --- /dev/null +++ b/fdm-core/src/db/migrations/meta/0012_snapshot.json @@ -0,0 +1,3084 @@ +{ + "id": "86dd4050-d615-411f-970e-abe487a67425", + "prevId": "cae75e4d-7713-414b-9342-466ca79bf163", + "version": "7", + "dialect": "postgresql", + "tables": { + "fdm.cultivation_catalogue_selecting": { + "name": "cultivation_catalogue_selecting", + "schema": "fdm", + "columns": { + "b_id_farm": { + "name": "b_id_farm", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu_source": { + "name": "b_lu_source", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "cultivation_catalogue_selecting_b_id_farm_farms_b_id_farm_fk": { + "name": "cultivation_catalogue_selecting_b_id_farm_farms_b_id_farm_fk", + "tableFrom": "cultivation_catalogue_selecting", + "tableTo": "farms", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_farm" + ], + "columnsTo": [ + "b_id_farm" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.cultivation_ending": { + "name": "cultivation_ending", + "schema": "fdm", + "columns": { + "b_lu": { + "name": "b_lu", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu_end": { + "name": "b_lu_end", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "m_cropresidue": { + "name": "m_cropresidue", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "cultivation_ending_b_lu_cultivations_b_lu_fk": { + "name": "cultivation_ending_b_lu_cultivations_b_lu_fk", + "tableFrom": "cultivation_ending", + "tableTo": "cultivations", + "schemaTo": "fdm", + "columnsFrom": [ + "b_lu" + ], + "columnsTo": [ + "b_lu" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.cultivation_harvesting": { + "name": "cultivation_harvesting", + "schema": "fdm", + "columns": { + "b_id_harvesting": { + "name": "b_id_harvesting", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_id_harvestable": { + "name": "b_id_harvestable", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu": { + "name": "b_lu", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu_harvest_date": { + "name": "b_lu_harvest_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "cultivation_harvesting_b_id_harvestable_harvestables_b_id_harvestable_fk": { + "name": "cultivation_harvesting_b_id_harvestable_harvestables_b_id_harvestable_fk", + "tableFrom": "cultivation_harvesting", + "tableTo": "harvestables", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_harvestable" + ], + "columnsTo": [ + "b_id_harvestable" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "cultivation_harvesting_b_lu_cultivations_b_lu_fk": { + "name": "cultivation_harvesting_b_lu_cultivations_b_lu_fk", + "tableFrom": "cultivation_harvesting", + "tableTo": "cultivations", + "schemaTo": "fdm", + "columnsFrom": [ + "b_lu" + ], + "columnsTo": [ + "b_lu" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.cultivation_starting": { + "name": "cultivation_starting", + "schema": "fdm", + "columns": { + "b_id": { + "name": "b_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu": { + "name": "b_lu", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu_start": { + "name": "b_lu_start", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "b_sowing_amount": { + "name": "b_sowing_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_sowing_method": { + "name": "b_sowing_method", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "cultivation_starting_b_id_fields_b_id_fk": { + "name": "cultivation_starting_b_id_fields_b_id_fk", + "tableFrom": "cultivation_starting", + "tableTo": "fields", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id" + ], + "columnsTo": [ + "b_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "cultivation_starting_b_lu_cultivations_b_lu_fk": { + "name": "cultivation_starting_b_lu_cultivations_b_lu_fk", + "tableFrom": "cultivation_starting", + "tableTo": "cultivations", + "schemaTo": "fdm", + "columnsFrom": [ + "b_lu" + ], + "columnsTo": [ + "b_lu" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.cultivations": { + "name": "cultivations", + "schema": "fdm", + "columns": { + "b_lu": { + "name": "b_lu", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_lu_catalogue": { + "name": "b_lu_catalogue", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "b_lu_idx": { + "name": "b_lu_idx", + "columns": [ + { + "expression": "b_lu", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "cultivations_b_lu_catalogue_cultivations_catalogue_b_lu_catalogue_fk": { + "name": "cultivations_b_lu_catalogue_cultivations_catalogue_b_lu_catalogue_fk", + "tableFrom": "cultivations", + "tableTo": "cultivations_catalogue", + "schemaTo": "fdm", + "columnsFrom": [ + "b_lu_catalogue" + ], + "columnsTo": [ + "b_lu_catalogue" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.cultivations_catalogue": { + "name": "cultivations_catalogue", + "schema": "fdm", + "columns": { + "b_lu_catalogue": { + "name": "b_lu_catalogue", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_lu_source": { + "name": "b_lu_source", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu_name": { + "name": "b_lu_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_lu_name_en": { + "name": "b_lu_name_en", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "b_lu_harvestable": { + "name": "b_lu_harvestable", + "type": "b_lu_harvestable", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": true + }, + "b_lu_hcat3": { + "name": "b_lu_hcat3", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "b_lu_hcat3_name": { + "name": "b_lu_hcat3_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "b_lu_croprotation": { + "name": "b_lu_croprotation", + "type": "b_lu_croprotation", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": false + }, + "b_lu_yield": { + "name": "b_lu_yield", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_hi": { + "name": "b_lu_hi", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_n_harvestable": { + "name": "b_lu_n_harvestable", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_n_residue": { + "name": "b_lu_n_residue", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_n_fixation": { + "name": "b_n_fixation", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_rest_oravib": { + "name": "b_lu_rest_oravib", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "b_lu_catalogue_idx": { + "name": "b_lu_catalogue_idx", + "columns": [ + { + "expression": "b_lu_catalogue", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.derogation_applying": { + "name": "derogation_applying", + "schema": "fdm", + "columns": { + "b_id_farm": { + "name": "b_id_farm", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_id_derogation": { + "name": "b_id_derogation", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "derogation_applying_b_id_farm_farms_b_id_farm_fk": { + "name": "derogation_applying_b_id_farm_farms_b_id_farm_fk", + "tableFrom": "derogation_applying", + "tableTo": "farms", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_farm" + ], + "columnsTo": [ + "b_id_farm" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "derogation_applying_b_id_derogation_derogations_b_id_derogation_fk": { + "name": "derogation_applying_b_id_derogation_derogations_b_id_derogation_fk", + "tableFrom": "derogation_applying", + "tableTo": "derogations", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_derogation" + ], + "columnsTo": [ + "b_id_derogation" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.derogations": { + "name": "derogations", + "schema": "fdm", + "columns": { + "b_id_derogation": { + "name": "b_id_derogation", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_derogation_year": { + "name": "b_derogation_year", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.farms": { + "name": "farms", + "schema": "fdm", + "columns": { + "b_id_farm": { + "name": "b_id_farm", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_name_farm": { + "name": "b_name_farm", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "b_businessid_farm": { + "name": "b_businessid_farm", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "b_address_farm": { + "name": "b_address_farm", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "b_postalcode_farm": { + "name": "b_postalcode_farm", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "b_id_farm_idx": { + "name": "b_id_farm_idx", + "columns": [ + { + "expression": "b_id_farm", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fertilizer_acquiring": { + "name": "fertilizer_acquiring", + "schema": "fdm", + "columns": { + "b_id_farm": { + "name": "b_id_farm", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_id": { + "name": "p_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_acquiring_amount": { + "name": "p_acquiring_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_acquiring_date": { + "name": "p_acquiring_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "fertilizer_acquiring_b_id_farm_farms_b_id_farm_fk": { + "name": "fertilizer_acquiring_b_id_farm_farms_b_id_farm_fk", + "tableFrom": "fertilizer_acquiring", + "tableTo": "farms", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_farm" + ], + "columnsTo": [ + "b_id_farm" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "fertilizer_acquiring_p_id_fertilizers_p_id_fk": { + "name": "fertilizer_acquiring_p_id_fertilizers_p_id_fk", + "tableFrom": "fertilizer_acquiring", + "tableTo": "fertilizers", + "schemaTo": "fdm", + "columnsFrom": [ + "p_id" + ], + "columnsTo": [ + "p_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fertilizer_applying": { + "name": "fertilizer_applying", + "schema": "fdm", + "columns": { + "p_app_id": { + "name": "p_app_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_id": { + "name": "b_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_id": { + "name": "p_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_app_amount": { + "name": "p_app_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_app_method": { + "name": "p_app_method", + "type": "p_app_method", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": false + }, + "p_app_date": { + "name": "p_app_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "p_app_idx": { + "name": "p_app_idx", + "columns": [ + { + "expression": "p_app_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "fertilizer_applying_b_id_fields_b_id_fk": { + "name": "fertilizer_applying_b_id_fields_b_id_fk", + "tableFrom": "fertilizer_applying", + "tableTo": "fields", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id" + ], + "columnsTo": [ + "b_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "fertilizer_applying_p_id_fertilizers_p_id_fk": { + "name": "fertilizer_applying_p_id_fertilizers_p_id_fk", + "tableFrom": "fertilizer_applying", + "tableTo": "fertilizers", + "schemaTo": "fdm", + "columnsFrom": [ + "p_id" + ], + "columnsTo": [ + "p_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fertilizer_catalogue_enabling": { + "name": "fertilizer_catalogue_enabling", + "schema": "fdm", + "columns": { + "b_id_farm": { + "name": "b_id_farm", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_source": { + "name": "p_source", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "fertilizer_catalogue_enabling_b_id_farm_farms_b_id_farm_fk": { + "name": "fertilizer_catalogue_enabling_b_id_farm_farms_b_id_farm_fk", + "tableFrom": "fertilizer_catalogue_enabling", + "tableTo": "farms", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_farm" + ], + "columnsTo": [ + "b_id_farm" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fertilizer_picking": { + "name": "fertilizer_picking", + "schema": "fdm", + "columns": { + "p_id": { + "name": "p_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_id_catalogue": { + "name": "p_id_catalogue", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_picking_date": { + "name": "p_picking_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "fertilizer_picking_p_id_fertilizers_p_id_fk": { + "name": "fertilizer_picking_p_id_fertilizers_p_id_fk", + "tableFrom": "fertilizer_picking", + "tableTo": "fertilizers", + "schemaTo": "fdm", + "columnsFrom": [ + "p_id" + ], + "columnsTo": [ + "p_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "fertilizer_picking_p_id_catalogue_fertilizers_catalogue_p_id_catalogue_fk": { + "name": "fertilizer_picking_p_id_catalogue_fertilizers_catalogue_p_id_catalogue_fk", + "tableFrom": "fertilizer_picking", + "tableTo": "fertilizers_catalogue", + "schemaTo": "fdm", + "columnsFrom": [ + "p_id_catalogue" + ], + "columnsTo": [ + "p_id_catalogue" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fertilizers": { + "name": "fertilizers", + "schema": "fdm", + "columns": { + "p_id": { + "name": "p_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "p_id_idx": { + "name": "p_id_idx", + "columns": [ + { + "expression": "p_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fertilizers_catalogue": { + "name": "fertilizers_catalogue", + "schema": "fdm", + "columns": { + "p_id_catalogue": { + "name": "p_id_catalogue", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "p_source": { + "name": "p_source", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_name_nl": { + "name": "p_name_nl", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "p_name_en": { + "name": "p_name_en", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "p_description": { + "name": "p_description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "p_app_method_options": { + "name": "p_app_method_options", + "type": "p_app_method[]", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": false + }, + "p_dm": { + "name": "p_dm", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_density": { + "name": "p_density", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_om": { + "name": "p_om", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_a": { + "name": "p_a", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_hc": { + "name": "p_hc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_eom": { + "name": "p_eom", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_eoc": { + "name": "p_eoc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_c_rt": { + "name": "p_c_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_c_of": { + "name": "p_c_of", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_c_if": { + "name": "p_c_if", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_c_fr": { + "name": "p_c_fr", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_cn_of": { + "name": "p_cn_of", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_n_rt": { + "name": "p_n_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_n_if": { + "name": "p_n_if", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_n_of": { + "name": "p_n_of", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_n_wc": { + "name": "p_n_wc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_no3_rt": { + "name": "p_no3_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_nh4_rt": { + "name": "p_nh4_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_p_rt": { + "name": "p_p_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_k_rt": { + "name": "p_k_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_mg_rt": { + "name": "p_mg_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_ca_rt": { + "name": "p_ca_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_ne": { + "name": "p_ne", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_s_rt": { + "name": "p_s_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_s_wc": { + "name": "p_s_wc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_cu_rt": { + "name": "p_cu_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_zn_rt": { + "name": "p_zn_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_na_rt": { + "name": "p_na_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_si_rt": { + "name": "p_si_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_b_rt": { + "name": "p_b_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_mn_rt": { + "name": "p_mn_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_ni_rt": { + "name": "p_ni_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_fe_rt": { + "name": "p_fe_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_mo_rt": { + "name": "p_mo_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_co_rt": { + "name": "p_co_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_as_rt": { + "name": "p_as_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_cd_rt": { + "name": "p_cd_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_cr_rt": { + "name": "p_cr_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_cr_vi": { + "name": "p_cr_vi", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_pb_rt": { + "name": "p_pb_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_hg_rt": { + "name": "p_hg_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_cl_rt": { + "name": "p_cl_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_ef_nh3": { + "name": "p_ef_nh3", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "p_type_manure": { + "name": "p_type_manure", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "p_type_mineral": { + "name": "p_type_mineral", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "p_type_compost": { + "name": "p_type_compost", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "p_id_catalogue_idx": { + "name": "p_id_catalogue_idx", + "columns": [ + { + "expression": "p_id_catalogue", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.field_acquiring": { + "name": "field_acquiring", + "schema": "fdm", + "columns": { + "b_id": { + "name": "b_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_id_farm": { + "name": "b_id_farm", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_start": { + "name": "b_start", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "b_acquiring_method": { + "name": "b_acquiring_method", + "type": "b_acquiring_method", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": true, + "default": "'unknown'" + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "field_acquiring_b_id_fields_b_id_fk": { + "name": "field_acquiring_b_id_fields_b_id_fk", + "tableFrom": "field_acquiring", + "tableTo": "fields", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id" + ], + "columnsTo": [ + "b_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "field_acquiring_b_id_farm_farms_b_id_farm_fk": { + "name": "field_acquiring_b_id_farm_farms_b_id_farm_fk", + "tableFrom": "field_acquiring", + "tableTo": "farms", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_farm" + ], + "columnsTo": [ + "b_id_farm" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.field_discarding": { + "name": "field_discarding", + "schema": "fdm", + "columns": { + "b_id": { + "name": "b_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_end": { + "name": "b_end", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "field_discarding_b_id_fields_b_id_fk": { + "name": "field_discarding_b_id_fields_b_id_fk", + "tableFrom": "field_discarding", + "tableTo": "fields", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id" + ], + "columnsTo": [ + "b_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.fields": { + "name": "fields", + "schema": "fdm", + "columns": { + "b_id": { + "name": "b_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_name": { + "name": "b_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_geometry": { + "name": "b_geometry", + "type": "geometry(Polygon,4326)", + "primaryKey": false, + "notNull": false + }, + "b_id_source": { + "name": "b_id_source", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "b_id_idx": { + "name": "b_id_idx", + "columns": [ + { + "expression": "b_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "b_geom_idx": { + "name": "b_geom_idx", + "columns": [ + { + "expression": "b_geometry", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "gist", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.harvestable_analyses": { + "name": "harvestable_analyses", + "schema": "fdm", + "columns": { + "b_id_harvestable_analysis": { + "name": "b_id_harvestable_analysis", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_lu_yield": { + "name": "b_lu_yield", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_n_harvestable": { + "name": "b_lu_n_harvestable", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_n_residue": { + "name": "b_lu_n_residue", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_p_harvestable": { + "name": "b_lu_p_harvestable", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_p_residue": { + "name": "b_lu_p_residue", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_k_harvestable": { + "name": "b_lu_k_harvestable", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_lu_k_residue": { + "name": "b_lu_k_residue", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "b_id_harvestable_analyses_idx": { + "name": "b_id_harvestable_analyses_idx", + "columns": [ + { + "expression": "b_id_harvestable_analysis", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.harvestable_sampling": { + "name": "harvestable_sampling", + "schema": "fdm", + "columns": { + "b_id_harvestable": { + "name": "b_id_harvestable", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_id_harvestable_analysis": { + "name": "b_id_harvestable_analysis", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "b_sampling_date": { + "name": "b_sampling_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "harvestable_sampling_b_id_harvestable_harvestables_b_id_harvestable_fk": { + "name": "harvestable_sampling_b_id_harvestable_harvestables_b_id_harvestable_fk", + "tableFrom": "harvestable_sampling", + "tableTo": "harvestables", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_harvestable" + ], + "columnsTo": [ + "b_id_harvestable" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "harvestable_sampling_b_id_harvestable_analysis_harvestable_analyses_b_id_harvestable_analysis_fk": { + "name": "harvestable_sampling_b_id_harvestable_analysis_harvestable_analyses_b_id_harvestable_analysis_fk", + "tableFrom": "harvestable_sampling", + "tableTo": "harvestable_analyses", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id_harvestable_analysis" + ], + "columnsTo": [ + "b_id_harvestable_analysis" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.harvestables": { + "name": "harvestables", + "schema": "fdm", + "columns": { + "b_id_harvestable": { + "name": "b_id_harvestable", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "b_id_harvestable_idx": { + "name": "b_id_harvestable_idx", + "columns": [ + { + "expression": "b_id_harvestable", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.soil_analysis": { + "name": "soil_analysis", + "schema": "fdm", + "columns": { + "a_id": { + "name": "a_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "a_date": { + "name": "a_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "a_source": { + "name": "a_source", + "type": "a_source", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": false, + "default": "'other'" + }, + "a_al_ox": { + "name": "a_al_ox", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_c_of": { + "name": "a_c_of", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_ca_co": { + "name": "a_ca_co", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_ca_co_po": { + "name": "a_ca_co_po", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_caco3_if": { + "name": "a_caco3_if", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_cec_co": { + "name": "a_cec_co", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_clay_mi": { + "name": "a_clay_mi", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_cn_fr": { + "name": "a_cn_fr", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_com_fr": { + "name": "a_com_fr", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_cu_cc": { + "name": "a_cu_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_density_sa": { + "name": "a_density_sa", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_fe_ox": { + "name": "a_fe_ox", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_k_cc": { + "name": "a_k_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_k_co": { + "name": "a_k_co", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_k_co_po": { + "name": "a_k_co_po", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_mg_cc": { + "name": "a_mg_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_mg_co": { + "name": "a_mg_co", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_mg_co_po": { + "name": "a_mg_co_po", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_n_pmn": { + "name": "a_n_pmn", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_n_rt": { + "name": "a_n_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_nh4_cc": { + "name": "a_nh4_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_nmin_cc": { + "name": "a_nmin_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_no3_cc": { + "name": "a_no3_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_p_al": { + "name": "a_p_al", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_p_cc": { + "name": "a_p_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_p_ox": { + "name": "a_p_ox", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_p_rt": { + "name": "a_p_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_p_sg": { + "name": "a_p_sg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_p_wa": { + "name": "a_p_wa", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_ph_cc": { + "name": "a_ph_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_s_rt": { + "name": "a_s_rt", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_sand_mi": { + "name": "a_sand_mi", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_silt_mi": { + "name": "a_silt_mi", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_som_loi": { + "name": "a_som_loi", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "a_zn_cc": { + "name": "a_zn_cc", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_gwl_class": { + "name": "b_gwl_class", + "type": "b_gwl_class", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": false + }, + "b_soiltype_agr": { + "name": "b_soiltype_agr", + "type": "b_soiltype_agr", + "typeSchema": "fdm", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm.soil_sampling": { + "name": "soil_sampling", + "schema": "fdm", + "columns": { + "b_id_sampling": { + "name": "b_id_sampling", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "b_id": { + "name": "b_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "a_id": { + "name": "a_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "a_depth_upper": { + "name": "a_depth_upper", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "a_depth_lower": { + "name": "a_depth_lower", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "b_sampling_date": { + "name": "b_sampling_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "b_sampling_geometry": { + "name": "b_sampling_geometry", + "type": "geometry(MultiPoint,4326)", + "primaryKey": false, + "notNull": false + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated": { + "name": "updated", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "soil_sampling_b_id_fields_b_id_fk": { + "name": "soil_sampling_b_id_fields_b_id_fk", + "tableFrom": "soil_sampling", + "tableTo": "fields", + "schemaTo": "fdm", + "columnsFrom": [ + "b_id" + ], + "columnsTo": [ + "b_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "soil_sampling_a_id_soil_analysis_a_id_fk": { + "name": "soil_sampling_a_id_soil_analysis_a_id_fk", + "tableFrom": "soil_sampling", + "tableTo": "soil_analysis", + "schemaTo": "fdm", + "columnsFrom": [ + "a_id" + ], + "columnsTo": [ + "a_id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.account": { + "name": "account", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token_expires_at": { + "name": "access_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "refresh_token_expires_at": { + "name": "refresh_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "account_user_id_user_id_fk": { + "name": "account_user_id_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "schemaTo": "fdm-authn", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.invitation": { + "name": "invitation", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "inviter_id": { + "name": "inviter_id", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "invitation_organization_id_organization_id_fk": { + "name": "invitation_organization_id_organization_id_fk", + "tableFrom": "invitation", + "tableTo": "organization", + "schemaTo": "fdm-authn", + "columnsFrom": [ + "organization_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "invitation_inviter_id_user_id_fk": { + "name": "invitation_inviter_id_user_id_fk", + "tableFrom": "invitation", + "tableTo": "user", + "schemaTo": "fdm-authn", + "columnsFrom": [ + "inviter_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.member": { + "name": "member", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "member_organization_id_organization_id_fk": { + "name": "member_organization_id_organization_id_fk", + "tableFrom": "member", + "tableTo": "organization", + "schemaTo": "fdm-authn", + "columnsFrom": [ + "organization_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "member_user_id_user_id_fk": { + "name": "member_user_id_user_id_fk", + "tableFrom": "member", + "tableTo": "user", + "schemaTo": "fdm-authn", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.organization": { + "name": "organization", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "logo": { + "name": "logo", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "metadata": { + "name": "metadata", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "organization_slug_unique": { + "name": "organization_slug_unique", + "nullsNotDistinct": false, + "columns": [ + "slug" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.rate_limit": { + "name": "rate_limit", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "count": { + "name": "count", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "last_request": { + "name": "last_request", + "type": "bigint", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.session": { + "name": "session", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "ip_address": { + "name": "ip_address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "active_organization_id": { + "name": "active_organization_id", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "schemaTo": "fdm-authn", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "session_token_unique": { + "name": "session_token_unique", + "nullsNotDistinct": false, + "columns": [ + "token" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.user": { + "name": "user", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email_verified": { + "name": "email_verified", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "display_username": { + "name": "display_username", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "firstname": { + "name": "firstname", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "surname": { + "name": "surname", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "lang": { + "name": "lang", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "farm_active": { + "name": "farm_active", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_email_unique": { + "name": "user_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + }, + "user_username_unique": { + "name": "user_username_unique", + "nullsNotDistinct": false, + "columns": [ + "username" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authn.verification": { + "name": "verification", + "schema": "fdm-authn", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authz.audit": { + "name": "audit", + "schema": "fdm-authz", + "columns": { + "audit_id": { + "name": "audit_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "audit_timestamp": { + "name": "audit_timestamp", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "audit_origin": { + "name": "audit_origin", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "principal_id": { + "name": "principal_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "target_resource": { + "name": "target_resource", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "target_resource_id": { + "name": "target_resource_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "granting_resource": { + "name": "granting_resource", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "granting_resource_id": { + "name": "granting_resource_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "action": { + "name": "action", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "allowed": { + "name": "allowed", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "duration": { + "name": "duration", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "fdm-authz.role": { + "name": "role", + "schema": "fdm-authz", + "columns": { + "role_id": { + "name": "role_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "resource": { + "name": "resource", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "principal_id": { + "name": "principal_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created": { + "name": "created", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted": { + "name": "deleted", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "role_idx": { + "name": "role_idx", + "columns": [ + { + "expression": "resource", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "principal_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "role", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "fdm.p_app_method": { + "name": "p_app_method", + "schema": "fdm", + "values": [ + "slotted coulter", + "incorporation", + "incorporation 2 tracks", + "injection", + "shallow injection", + "spraying", + "broadcasting", + "spoke wheel", + "pocket placement", + "narrowband" + ] + }, + "fdm.b_gwl_class": { + "name": "b_gwl_class", + "schema": "fdm", + "values": [ + "I", + "Ia", + "Ic", + "II", + "IIa", + "IIb", + "IIc", + "III", + "IIIa", + "IIIb", + "IV", + "IVu", + "IVc", + "V", + "Va", + "Vao", + "Vad", + "Vb", + "Vbo", + "Vbd", + "sV", + "sVb", + "VI", + "VIo", + "VId", + "VII", + "VIIo", + "VIId", + "VIII", + "VIIIo", + "VIIId" + ] + }, + "fdm.b_lu_harvestable": { + "name": "b_lu_harvestable", + "schema": "fdm", + "values": [ + "none", + "once", + "multiple" + ] + }, + "fdm.b_lu_croprotation": { + "name": "b_lu_croprotation", + "schema": "fdm", + "values": [ + "other", + "clover", + "nature", + "potato", + "grass", + "rapeseed", + "starch", + "maize", + "cereal", + "sugarbeet", + "alfalfa", + "catchcrop" + ] + }, + "fdm.a_source": { + "name": "a_source", + "schema": "fdm", + "values": [ + "nl-rva-l122", + "nl-rva-l136", + "nl-rva-l264", + "nl-rva-l320", + "nl-rva-l335", + "nl-rva-l610", + "nl-rva-l648", + "nl-rva-l697", + "nl-other-nmi", + "other" + ] + }, + "fdm.b_soiltype_agr": { + "name": "b_soiltype_agr", + "schema": "fdm", + "values": [ + "moerige_klei", + "rivierklei", + "dekzand", + "zeeklei", + "dalgrond", + "veen", + "loess", + "duinzand", + "maasklei" + ] + } + }, + "schemas": { + "fdm": "fdm", + "fdm-authn": "fdm-authn", + "fdm-authz": "fdm-authz" + }, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/fdm-core/src/db/migrations/meta/_journal.json b/fdm-core/src/db/migrations/meta/_journal.json index 9855e6656..a02bd9803 100644 --- a/fdm-core/src/db/migrations/meta/_journal.json +++ b/fdm-core/src/db/migrations/meta/_journal.json @@ -85,6 +85,13 @@ "when": 1754396961710, "tag": "0011_v0-22-1-1", "breakpoints": true + }, + { + "idx": 12, + "version": "7", + "when": 1754661913554, + "tag": "0012_legal_boomer", + "breakpoints": true } ] } \ No newline at end of file diff --git a/fdm-core/src/db/schema.ts b/fdm-core/src/db/schema.ts index 6e3686a38..2b304e04c 100644 --- a/fdm-core/src/db/schema.ts +++ b/fdm-core/src/db/schema.ts @@ -368,6 +368,7 @@ export const cultivationsCatalogue = fdmSchema.table( b_lu_n_harvestable: numericCasted(), b_lu_n_residue: numericCasted(), b_n_fixation: numericCasted(), + b_lu_rest_oravib: boolean(), hash: text(), created: timestamp({ withTimezone: true }).notNull().defaultNow(), updated: timestamp({ withTimezone: true }), diff --git a/fdm-core/src/harvest.test.ts b/fdm-core/src/harvest.test.ts index dfeacf63d..957f968df 100644 --- a/fdm-core/src/harvest.test.ts +++ b/fdm-core/src/harvest.test.ts @@ -89,6 +89,7 @@ describe("Harvest Data Model", () => { b_lu_n_harvestable: 4, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) await addCultivationToCatalogue(fdm, { @@ -105,6 +106,7 @@ describe("Harvest Data Model", () => { b_lu_n_harvestable: 12, b_lu_n_residue: 2, b_n_fixation: 0, + b_lu_rest_oravib: false, }) b_lu_start = new Date("2024-01-01") diff --git a/fdm-data/src/cultivations/catalogues/brp.json b/fdm-data/src/cultivations/catalogues/brp.json index 2722d72eb..94db3a5d6 100644 --- a/fdm-data/src/cultivations/catalogues/brp.json +++ b/fdm-data/src/cultivations/catalogues/brp.json @@ -11,7 +11,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_174", @@ -25,7 +26,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_175", @@ -39,7 +41,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_176", @@ -53,7 +56,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_212", @@ -67,7 +71,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_229", @@ -81,7 +86,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_233", @@ -95,7 +101,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_234", @@ -109,7 +116,8 @@ "b_lu_hi": 0.4, "b_lu_n_harvestable": 20, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_235", @@ -123,7 +131,8 @@ "b_lu_hi": 0.42, "b_lu_n_harvestable": 20, "b_lu_n_residue": 4.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_236", @@ -137,7 +146,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 17.6, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_237", @@ -151,7 +161,8 @@ "b_lu_hi": 0.36, "b_lu_n_harvestable": 16.5, "b_lu_n_residue": 4.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_238", @@ -165,7 +176,8 @@ "b_lu_hi": 0.4, "b_lu_n_harvestable": 20, "b_lu_n_residue": 4.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_239", @@ -179,7 +191,8 @@ "b_lu_hi": 0.12, "b_lu_n_harvestable": 37, "b_lu_n_residue": 29.8, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_240", @@ -193,7 +206,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 39.5, "b_lu_n_residue": 24.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_241", @@ -207,7 +221,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 39.5, "b_lu_n_residue": 24.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_242", @@ -221,7 +236,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_243", @@ -235,7 +251,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 47.1, "b_lu_n_residue": 21.1, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_244", @@ -249,7 +266,8 @@ "b_lu_hi": 0.12, "b_lu_n_harvestable": 37, "b_lu_n_residue": 29.8, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_246", @@ -263,7 +281,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_247", @@ -277,7 +296,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_249", @@ -291,7 +311,8 @@ "b_lu_hi": 0.16, "b_lu_n_harvestable": 36.7, "b_lu_n_residue": 4.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_256", @@ -305,7 +326,8 @@ "b_lu_hi": 0.69, "b_lu_n_harvestable": 8, "b_lu_n_residue": 17.5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_257", @@ -319,7 +341,8 @@ "b_lu_hi": 0.75, "b_lu_n_harvestable": 8, "b_lu_n_residue": 17.5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_258", @@ -333,7 +356,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 31, "b_lu_n_residue": 20, - "b_n_fixation": 300 + "b_n_fixation": 300, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_259", @@ -347,7 +371,8 @@ "b_lu_hi": 0.74, "b_lu_n_harvestable": 16.4, "b_lu_n_residue": 10, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_262", @@ -361,7 +386,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 15.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_263", @@ -375,7 +401,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_265", @@ -389,7 +416,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_266", @@ -403,7 +431,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_294", @@ -417,7 +446,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_308", @@ -431,7 +461,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 39.5, "b_lu_n_residue": 24.7, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_311", @@ -445,7 +476,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 47.1, "b_lu_n_residue": 21.1, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_314", @@ -459,7 +491,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_316", @@ -473,7 +506,8 @@ "b_lu_hi": 0.74, "b_lu_n_harvestable": 16.4, "b_lu_n_residue": 10, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_317", @@ -487,7 +521,8 @@ "b_lu_hi": 0.74, "b_lu_n_harvestable": 16.4, "b_lu_n_residue": 10, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_331", @@ -501,7 +536,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_332", @@ -515,7 +551,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_333", @@ -529,7 +566,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_334", @@ -543,7 +581,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_335", @@ -557,7 +596,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_336", @@ -571,7 +611,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_337", @@ -585,7 +626,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_338", @@ -599,7 +641,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_343", @@ -613,7 +656,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_344", @@ -627,7 +671,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_345", @@ -641,7 +686,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_346", @@ -655,7 +701,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17.3, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_347", @@ -669,7 +716,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17.3, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_370", @@ -683,7 +731,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_372", @@ -697,7 +746,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_375", @@ -711,7 +761,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_381", @@ -725,7 +776,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_382", @@ -739,7 +791,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_383", @@ -753,7 +806,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_426", @@ -767,7 +821,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_427", @@ -781,7 +836,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_428", @@ -795,7 +851,8 @@ "b_lu_hi": 0.72, "b_lu_n_harvestable": 40, "b_lu_n_residue": 20, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_511", @@ -809,7 +866,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_513", @@ -823,7 +881,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_515", @@ -837,7 +896,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_516", @@ -851,7 +911,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_636", @@ -865,7 +926,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_637", @@ -879,7 +941,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_652", @@ -893,7 +956,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_653", @@ -907,7 +971,8 @@ "b_lu_hi": 0.07, "b_lu_n_harvestable": 26.1, "b_lu_n_residue": 3.5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_654", @@ -921,7 +986,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_655", @@ -935,7 +1001,8 @@ "b_lu_hi": 0.72, "b_lu_n_harvestable": 40, "b_lu_n_residue": 20, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_656", @@ -949,7 +1016,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_657", @@ -963,7 +1031,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_658", @@ -977,7 +1046,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_659", @@ -991,7 +1061,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_660", @@ -1005,7 +1076,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_661", @@ -1019,7 +1091,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_662", @@ -1033,7 +1106,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_663", @@ -1047,7 +1121,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_664", @@ -1061,7 +1136,8 @@ "b_lu_hi": 0.28, "b_lu_n_harvestable": 38.9, "b_lu_n_residue": 7.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_665", @@ -1075,7 +1151,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_666", @@ -1089,7 +1166,8 @@ "b_lu_hi": 0.16, "b_lu_n_harvestable": 36.7, "b_lu_n_residue": 4.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_669", @@ -1103,7 +1181,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_670", @@ -1117,7 +1196,8 @@ "b_lu_hi": 0.4, "b_lu_n_harvestable": 20, "b_lu_n_residue": 4.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_671", @@ -1131,7 +1211,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_672", @@ -1145,7 +1226,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_794", @@ -1159,7 +1241,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_795", @@ -1173,7 +1256,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_796", @@ -1187,7 +1271,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_799", @@ -1201,7 +1286,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_800", @@ -1215,7 +1301,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_801", @@ -1229,7 +1316,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_802", @@ -1243,7 +1331,8 @@ "b_lu_hi": 0.84, "b_lu_n_harvestable": 45, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_803", @@ -1257,7 +1346,8 @@ "b_lu_hi": 0.84, "b_lu_n_harvestable": 45, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_804", @@ -1271,7 +1361,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_814", @@ -1285,7 +1376,8 @@ "b_lu_hi": 0.35, "b_lu_n_harvestable": 15.5, "b_lu_n_residue": 16, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_853", @@ -1299,7 +1391,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_854", @@ -1313,7 +1406,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_859", @@ -1327,7 +1421,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17, "b_lu_n_residue": 16.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_863", @@ -1341,7 +1436,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_864", @@ -1355,7 +1451,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_944", @@ -1369,7 +1466,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_964", @@ -1383,7 +1481,8 @@ "b_lu_hi": 0.49, "b_lu_n_harvestable": 4, "b_lu_n_residue": 17.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_965", @@ -1397,7 +1496,8 @@ "b_lu_hi": 0.49, "b_lu_n_harvestable": 4, "b_lu_n_residue": 17.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_967", @@ -1411,7 +1511,8 @@ "b_lu_hi": 0.51, "b_lu_n_harvestable": 14, "b_lu_n_residue": 13, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_968", @@ -1425,7 +1526,8 @@ "b_lu_hi": 0.51, "b_lu_n_harvestable": 14, "b_lu_n_residue": 13, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_970", @@ -1439,7 +1541,8 @@ "b_lu_hi": 0.85, "b_lu_n_harvestable": 11.3, "b_lu_n_residue": 19.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_971", @@ -1453,7 +1556,8 @@ "b_lu_hi": 0.85, "b_lu_n_harvestable": 11.3, "b_lu_n_residue": 19.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_973", @@ -1467,7 +1571,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 12.8, "b_lu_n_residue": 11.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_974", @@ -1481,7 +1586,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 12.8, "b_lu_n_residue": 11.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_976", @@ -1495,7 +1601,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 10.7, "b_lu_n_residue": 13.4, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_977", @@ -1509,7 +1616,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 10.7, "b_lu_n_residue": 13.4, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_979", @@ -1523,7 +1631,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_980", @@ -1537,7 +1646,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_982", @@ -1551,7 +1661,8 @@ "b_lu_hi": 0.82, "b_lu_n_harvestable": 7.4, "b_lu_n_residue": 12.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_983", @@ -1565,7 +1676,8 @@ "b_lu_hi": 0.82, "b_lu_n_harvestable": 7.4, "b_lu_n_residue": 12.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_985", @@ -1579,7 +1691,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 10.8, "b_lu_n_residue": 13.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_986", @@ -1593,7 +1706,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 10.8, "b_lu_n_residue": 13.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_988", @@ -1607,7 +1721,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_989", @@ -1621,7 +1736,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_991", @@ -1635,7 +1751,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_992", @@ -1649,7 +1766,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_994", @@ -1663,7 +1781,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_995", @@ -1677,7 +1796,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_997", @@ -1691,7 +1811,8 @@ "b_lu_hi": 0.49, "b_lu_n_harvestable": 4, "b_lu_n_residue": 17.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_998", @@ -1705,7 +1826,8 @@ "b_lu_hi": 0.51, "b_lu_n_harvestable": 14, "b_lu_n_residue": 13, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_999", @@ -1719,7 +1841,8 @@ "b_lu_hi": 0.85, "b_lu_n_harvestable": 11.3, "b_lu_n_residue": 19.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1000", @@ -1733,7 +1856,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 12.8, "b_lu_n_residue": 11.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1001", @@ -1747,7 +1871,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 10.7, "b_lu_n_residue": 13.4, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1002", @@ -1761,7 +1886,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1003", @@ -1775,7 +1901,8 @@ "b_lu_hi": 0.82, "b_lu_n_harvestable": 7.4, "b_lu_n_residue": 12.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1004", @@ -1789,7 +1916,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 10.8, "b_lu_n_residue": 13.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1005", @@ -1803,7 +1931,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1006", @@ -1817,7 +1946,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1007", @@ -1831,7 +1961,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1010", @@ -1845,7 +1976,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1011", @@ -1859,7 +1991,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1012", @@ -1873,7 +2006,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1013", @@ -1887,7 +2021,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1014", @@ -1901,7 +2036,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1015", @@ -1915,7 +2051,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1016", @@ -1929,7 +2066,8 @@ "b_lu_hi": 0.85, "b_lu_n_harvestable": 11.3, "b_lu_n_residue": 19.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1017", @@ -1943,7 +2081,8 @@ "b_lu_hi": 0.85, "b_lu_n_harvestable": 11.3, "b_lu_n_residue": 19.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1018", @@ -1957,7 +2096,8 @@ "b_lu_hi": 0.85, "b_lu_n_harvestable": 11.3, "b_lu_n_residue": 19.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1019", @@ -1971,7 +2111,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1020", @@ -1985,7 +2126,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1021", @@ -1999,7 +2141,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1022", @@ -2013,7 +2156,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1023", @@ -2027,7 +2171,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1024", @@ -2041,7 +2186,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1025", @@ -2055,7 +2201,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1026", @@ -2069,7 +2216,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1027", @@ -2083,7 +2231,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1028", @@ -2097,7 +2246,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1029", @@ -2111,7 +2261,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1030", @@ -2125,7 +2276,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1031", @@ -2139,7 +2291,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1032", @@ -2153,7 +2306,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1033", @@ -2167,7 +2321,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1034", @@ -2181,7 +2336,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1035", @@ -2195,7 +2351,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1036", @@ -2209,7 +2366,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1037", @@ -2223,7 +2381,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1038", @@ -2237,7 +2396,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1039", @@ -2251,7 +2411,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1040", @@ -2265,7 +2426,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1042", @@ -2279,7 +2441,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1043", @@ -2293,7 +2456,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1044", @@ -2307,7 +2471,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1045", @@ -2321,7 +2486,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1046", @@ -2335,7 +2501,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1047", @@ -2349,7 +2516,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1048", @@ -2363,7 +2531,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1049", @@ -2377,7 +2546,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1050", @@ -2391,7 +2561,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1051", @@ -2405,7 +2576,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 12.8, "b_lu_n_residue": 11.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1052", @@ -2419,7 +2591,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 12.8, "b_lu_n_residue": 11.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1053", @@ -2433,7 +2606,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1054", @@ -2447,7 +2621,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1055", @@ -2461,7 +2636,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1067", @@ -2475,7 +2651,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1068", @@ -2489,7 +2666,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1069", @@ -2503,7 +2681,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1070", @@ -2517,7 +2696,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1071", @@ -2531,7 +2711,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1072", @@ -2545,7 +2726,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1073", @@ -2559,7 +2741,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1074", @@ -2573,7 +2756,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1075", @@ -2587,7 +2771,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1076", @@ -2601,7 +2786,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1077", @@ -2615,7 +2801,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1078", @@ -2629,7 +2816,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1079", @@ -2643,7 +2831,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1080", @@ -2657,7 +2846,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1081", @@ -2671,7 +2861,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1082", @@ -2685,7 +2876,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1083", @@ -2699,7 +2891,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1084", @@ -2713,7 +2906,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1085", @@ -2727,7 +2921,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1086", @@ -2741,7 +2936,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1087", @@ -2755,7 +2951,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1088", @@ -2769,7 +2966,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1089", @@ -2783,7 +2981,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1090", @@ -2797,7 +2996,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1091", @@ -2811,7 +3011,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1092", @@ -2825,7 +3026,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1093", @@ -2839,7 +3041,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1094", @@ -2853,7 +3056,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1095", @@ -2867,7 +3071,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1096", @@ -2881,7 +3086,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1097", @@ -2895,7 +3101,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1098", @@ -2909,7 +3116,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1099", @@ -2923,7 +3131,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1100", @@ -2937,7 +3146,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1570", @@ -2951,7 +3161,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1574", @@ -2965,7 +3176,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1575", @@ -2979,7 +3191,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1697", @@ -2993,7 +3206,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1698", @@ -3007,7 +3221,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1869", @@ -3021,7 +3236,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1870", @@ -3035,7 +3251,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1872", @@ -3049,7 +3266,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1873", @@ -3063,7 +3281,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1874", @@ -3077,7 +3296,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1876", @@ -3091,7 +3311,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1909", @@ -3105,7 +3326,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 18.6, "b_lu_n_residue": 16.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1910", @@ -3119,7 +3341,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17, "b_lu_n_residue": 16.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1911", @@ -3133,7 +3356,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 16.7, "b_lu_n_residue": 17.6, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1912", @@ -3147,7 +3371,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 16.7, "b_lu_n_residue": 17.6, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1914", @@ -3161,7 +3386,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1915", @@ -3175,7 +3401,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1916", @@ -3189,7 +3416,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1917", @@ -3203,7 +3431,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1918", @@ -3217,7 +3446,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1919", @@ -3231,7 +3461,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1920", @@ -3245,7 +3476,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1921", @@ -3259,7 +3491,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1922", @@ -3273,7 +3506,8 @@ "b_lu_hi": 0.28, "b_lu_n_harvestable": 38.9, "b_lu_n_residue": 7.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1923", @@ -3287,7 +3521,8 @@ "b_lu_hi": 0.28, "b_lu_n_harvestable": 38.9, "b_lu_n_residue": 7.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_1925", @@ -3301,7 +3536,8 @@ "b_lu_hi": 0.82, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1926", @@ -3315,7 +3551,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1927", @@ -3329,7 +3566,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1928", @@ -3343,7 +3581,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1929", @@ -3357,7 +3596,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1930", @@ -3371,7 +3611,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17.3, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1931", @@ -3385,7 +3626,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1932", @@ -3399,7 +3641,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1933", @@ -3413,7 +3656,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1934", @@ -3427,7 +3671,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1935", @@ -3441,7 +3686,8 @@ "b_lu_hi": 0.74, "b_lu_n_harvestable": 16.4, "b_lu_n_residue": 10, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1936", @@ -3455,7 +3701,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1940", @@ -3469,7 +3716,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1949", @@ -3483,7 +3731,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1950", @@ -3497,7 +3746,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_1959", @@ -3511,7 +3761,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2014", @@ -3525,7 +3776,8 @@ "b_lu_hi": 0.82, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2015", @@ -3539,7 +3791,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2016", @@ -3553,7 +3806,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2017", @@ -3567,7 +3821,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17, "b_lu_n_residue": 16.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2025", @@ -3581,7 +3836,8 @@ "b_lu_hi": 0.82, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2026", @@ -3595,7 +3851,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2027", @@ -3609,7 +3866,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2029", @@ -3623,7 +3881,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2030", @@ -3637,7 +3896,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2031", @@ -3651,7 +3911,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2032", @@ -3665,7 +3926,8 @@ "b_lu_hi": 0.74, "b_lu_n_harvestable": 16.4, "b_lu_n_residue": 10, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2033", @@ -3679,7 +3941,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2297", @@ -3693,7 +3956,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2298", @@ -3707,7 +3971,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2299", @@ -3721,7 +3986,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2300", @@ -3735,7 +4001,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2301", @@ -3749,7 +4016,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2302", @@ -3763,7 +4031,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2303", @@ -3777,7 +4046,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2304", @@ -3791,7 +4061,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2325", @@ -3805,7 +4076,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2326", @@ -3819,7 +4091,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2327", @@ -3833,7 +4106,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2328", @@ -3847,13 +4121,14 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2617", "b_lu_name": "boomgroep", "b_lu_name_en": null, - "b_lu_harvestable": "once", + "b_lu_harvestable": "none", "b_lu_hcat3": null, "b_lu_hcat3_name": null, "b_lu_croprotation": "nature", @@ -3861,7 +4136,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2618", @@ -3875,7 +4151,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2619", @@ -3889,7 +4166,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2620", @@ -3903,7 +4181,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2621", @@ -3917,7 +4196,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2622", @@ -3931,7 +4211,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2624", @@ -3945,7 +4226,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2625", @@ -3959,7 +4241,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2626", @@ -3973,7 +4256,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2628", @@ -3987,7 +4271,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2629", @@ -4001,7 +4286,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2630", @@ -4015,7 +4301,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2631", @@ -4029,7 +4316,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2633", @@ -4043,7 +4331,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2634", @@ -4057,7 +4346,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2635", @@ -4071,7 +4361,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2636", @@ -4085,7 +4376,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2637", @@ -4099,7 +4391,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2638", @@ -4113,7 +4406,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2639", @@ -4127,7 +4421,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2640", @@ -4141,7 +4436,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2641", @@ -4155,7 +4451,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2642", @@ -4169,7 +4466,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2643", @@ -4183,7 +4481,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2644", @@ -4197,7 +4496,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2645", @@ -4211,7 +4511,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2650", @@ -4225,7 +4526,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 39.5, "b_lu_n_residue": 24.7, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2651", @@ -4239,7 +4541,8 @@ "b_lu_hi": 0.75, "b_lu_n_harvestable": 8, "b_lu_n_residue": 17.5, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2652", @@ -4253,7 +4556,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2653", @@ -4267,7 +4571,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2700", @@ -4281,7 +4586,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2701", @@ -4295,7 +4601,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2702", @@ -4309,7 +4616,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2703", @@ -4323,7 +4631,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2704", @@ -4337,7 +4646,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2705", @@ -4351,7 +4661,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2706", @@ -4365,7 +4676,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2707", @@ -4379,7 +4691,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2708", @@ -4393,7 +4706,8 @@ "b_lu_hi": 0.56, "b_lu_n_harvestable": 46, "b_lu_n_residue": 30, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2709", @@ -4407,7 +4721,8 @@ "b_lu_hi": 0.56, "b_lu_n_harvestable": 46, "b_lu_n_residue": 30, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2710", @@ -4421,7 +4736,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2711", @@ -4435,7 +4751,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2712", @@ -4449,7 +4766,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2713", @@ -4463,7 +4781,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2714", @@ -4477,7 +4796,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2715", @@ -4491,7 +4811,8 @@ "b_lu_hi": 0.43, "b_lu_n_harvestable": 27.6, "b_lu_n_residue": 24.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2716", @@ -4505,7 +4826,8 @@ "b_lu_hi": 0.43, "b_lu_n_harvestable": 27.6, "b_lu_n_residue": 24.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2717", @@ -4519,7 +4841,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2718", @@ -4533,7 +4856,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2719", @@ -4547,7 +4871,8 @@ "b_lu_hi": 0.18, "b_lu_n_harvestable": 22.2, "b_lu_n_residue": 41.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2720", @@ -4561,7 +4886,8 @@ "b_lu_hi": 0.18, "b_lu_n_harvestable": 22.2, "b_lu_n_residue": 41.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2721", @@ -4575,7 +4901,8 @@ "b_lu_hi": 0.5, "b_lu_n_harvestable": 31.6, "b_lu_n_residue": 43.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2722", @@ -4589,7 +4916,8 @@ "b_lu_hi": 0.5, "b_lu_n_harvestable": 31.6, "b_lu_n_residue": 43.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2723", @@ -4603,7 +4931,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2724", @@ -4617,7 +4946,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2725", @@ -4631,7 +4961,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 22.8, "b_lu_n_residue": 22.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2726", @@ -4645,7 +4976,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 22.8, "b_lu_n_residue": 22.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2727", @@ -4659,7 +4991,8 @@ "b_lu_hi": 0.38, "b_lu_n_harvestable": 44.8, "b_lu_n_residue": 38.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2728", @@ -4673,7 +5006,8 @@ "b_lu_hi": 0.38, "b_lu_n_harvestable": 44.8, "b_lu_n_residue": 38.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2729", @@ -4687,7 +5021,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2730", @@ -4701,7 +5036,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2731", @@ -4715,7 +5051,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2732", @@ -4729,7 +5066,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2733", @@ -4743,7 +5081,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2734", @@ -4757,7 +5096,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2735", @@ -4771,7 +5111,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2736", @@ -4785,7 +5126,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2737", @@ -4799,7 +5141,8 @@ "b_lu_hi": 0.71, "b_lu_n_harvestable": 11.5, "b_lu_n_residue": 22.6, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2738", @@ -4813,7 +5156,8 @@ "b_lu_hi": 0.71, "b_lu_n_harvestable": 11.5, "b_lu_n_residue": 22.6, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2739", @@ -4827,7 +5171,8 @@ "b_lu_hi": 0.5, "b_lu_n_harvestable": 28.1, "b_lu_n_residue": 35, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2740", @@ -4841,7 +5186,8 @@ "b_lu_hi": 0.5, "b_lu_n_harvestable": 28.1, "b_lu_n_residue": 35, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2741", @@ -4855,7 +5201,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 17.1, "b_lu_n_residue": 25.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2742", @@ -4869,7 +5216,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 17.1, "b_lu_n_residue": 25.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2743", @@ -4883,7 +5231,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2744", @@ -4897,7 +5246,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2745", @@ -4911,7 +5261,8 @@ "b_lu_hi": 0.5, "b_lu_n_harvestable": 31.6, "b_lu_n_residue": 43.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2746", @@ -4925,7 +5276,8 @@ "b_lu_hi": 0.5, "b_lu_n_harvestable": 31.6, "b_lu_n_residue": 43.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2747", @@ -4939,7 +5291,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2748", @@ -4953,7 +5306,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2749", @@ -4967,7 +5321,8 @@ "b_lu_hi": 0.57, "b_lu_n_harvestable": 29.3, "b_lu_n_residue": 31.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2750", @@ -4981,7 +5336,8 @@ "b_lu_hi": 0.57, "b_lu_n_harvestable": 29.3, "b_lu_n_residue": 31.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2751", @@ -4995,7 +5351,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2752", @@ -5009,7 +5366,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2753", @@ -5023,7 +5381,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2754", @@ -5037,7 +5396,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2755", @@ -5051,7 +5411,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2756", @@ -5065,7 +5426,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2757", @@ -5079,7 +5441,8 @@ "b_lu_hi": 0.77, "b_lu_n_harvestable": 50, "b_lu_n_residue": 50, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2758", @@ -5093,7 +5456,8 @@ "b_lu_hi": 0.77, "b_lu_n_harvestable": 50, "b_lu_n_residue": 50, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2759", @@ -5107,7 +5471,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2760", @@ -5121,7 +5486,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2761", @@ -5135,7 +5501,8 @@ "b_lu_hi": 0.41, "b_lu_n_harvestable": 43.2, "b_lu_n_residue": 31.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2762", @@ -5149,7 +5516,8 @@ "b_lu_hi": 0.41, "b_lu_n_harvestable": 43.2, "b_lu_n_residue": 31.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2763", @@ -5163,7 +5531,8 @@ "b_lu_hi": 0.69, "b_lu_n_harvestable": 9.2, "b_lu_n_residue": 19.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2764", @@ -5177,7 +5546,8 @@ "b_lu_hi": 0.69, "b_lu_n_harvestable": 9.2, "b_lu_n_residue": 19.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2765", @@ -5191,7 +5561,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2766", @@ -5205,7 +5576,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2767", @@ -5219,7 +5591,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 40, "b_lu_n_residue": 41.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2768", @@ -5233,7 +5606,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 40, "b_lu_n_residue": 41.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2769", @@ -5247,7 +5621,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 40, "b_lu_n_residue": 41.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2770", @@ -5261,7 +5636,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 40, "b_lu_n_residue": 41.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2771", @@ -5275,7 +5651,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 44.1, "b_lu_n_residue": 33.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2772", @@ -5289,7 +5666,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 44.1, "b_lu_n_residue": 33.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2773", @@ -5303,7 +5681,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 50, "b_lu_n_residue": 50, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2774", @@ -5317,7 +5696,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 50, "b_lu_n_residue": 50, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2775", @@ -5331,7 +5711,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 54, "b_lu_n_residue": 35.6, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2776", @@ -5345,7 +5726,8 @@ "b_lu_hi": 0.62, "b_lu_n_harvestable": 54, "b_lu_n_residue": 35.6, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2777", @@ -5359,7 +5741,8 @@ "b_lu_hi": 0.31, "b_lu_n_harvestable": 35.9, "b_lu_n_residue": 16.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2778", @@ -5373,7 +5756,8 @@ "b_lu_hi": 0.31, "b_lu_n_harvestable": 35.9, "b_lu_n_residue": 16.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2779", @@ -5387,7 +5771,8 @@ "b_lu_hi": 0.34, "b_lu_n_harvestable": 25, "b_lu_n_residue": 32.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2780", @@ -5401,7 +5786,8 @@ "b_lu_hi": 0.34, "b_lu_n_harvestable": 25, "b_lu_n_residue": 32.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2781", @@ -5415,7 +5801,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2782", @@ -5429,7 +5816,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2783", @@ -5443,7 +5831,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2784", @@ -5457,7 +5846,8 @@ "b_lu_hi": 0.86, "b_lu_n_harvestable": 21.1, "b_lu_n_residue": 22.2, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2785", @@ -5471,7 +5861,8 @@ "b_lu_hi": 0.64, "b_lu_n_harvestable": 12.7, "b_lu_n_residue": 29, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2786", @@ -5485,7 +5876,8 @@ "b_lu_hi": 0.64, "b_lu_n_harvestable": 12.7, "b_lu_n_residue": 29, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2787", @@ -5499,7 +5891,8 @@ "b_lu_hi": 0.69, "b_lu_n_harvestable": 9.2, "b_lu_n_residue": 19.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2788", @@ -5513,7 +5906,8 @@ "b_lu_hi": 0.69, "b_lu_n_harvestable": 9.2, "b_lu_n_residue": 19.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2789", @@ -5527,7 +5921,8 @@ "b_lu_hi": 0.51, "b_lu_n_harvestable": 36.4, "b_lu_n_residue": 26.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2790", @@ -5541,7 +5936,8 @@ "b_lu_hi": 0.51, "b_lu_n_harvestable": 36.4, "b_lu_n_residue": 26.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2791", @@ -5555,7 +5951,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2792", @@ -5569,7 +5966,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2793", @@ -5583,7 +5981,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2794", @@ -5597,7 +5996,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2795", @@ -5611,7 +6011,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2796", @@ -5625,7 +6026,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2797", @@ -5639,7 +6041,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2798", @@ -5653,7 +6056,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2799", @@ -5667,7 +6071,8 @@ "b_lu_hi": 0.57, "b_lu_n_harvestable": 29.3, "b_lu_n_residue": 31.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2800", @@ -5681,7 +6086,8 @@ "b_lu_hi": 0.57, "b_lu_n_harvestable": 29.3, "b_lu_n_residue": 31.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2801", @@ -5695,7 +6101,8 @@ "b_lu_hi": 0.57, "b_lu_n_harvestable": 29.3, "b_lu_n_residue": 31.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_2802", @@ -5709,7 +6116,8 @@ "b_lu_hi": 0.57, "b_lu_n_harvestable": 29.3, "b_lu_n_residue": 31.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_2951", @@ -5723,7 +6131,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 18.6, "b_lu_n_residue": 16.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3055", @@ -5737,7 +6146,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3500", @@ -5751,7 +6161,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3501", @@ -5765,7 +6176,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3502", @@ -5779,7 +6191,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3503", @@ -5793,7 +6206,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3504", @@ -5807,7 +6221,8 @@ "b_lu_hi": 0.72, "b_lu_n_harvestable": 21.5, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_3505", @@ -5821,7 +6236,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3506", @@ -5835,7 +6251,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3507", @@ -5849,7 +6266,8 @@ "b_lu_hi": 0.72, "b_lu_n_harvestable": 40, "b_lu_n_residue": 20, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3508", @@ -5863,7 +6281,8 @@ "b_lu_hi": 0.69, "b_lu_n_harvestable": 40, "b_lu_n_residue": 20, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3509", @@ -5877,7 +6296,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3510", @@ -5891,7 +6311,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_3511", @@ -5905,7 +6326,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3512", @@ -5919,7 +6341,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 20, "b_lu_n_residue": 9.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3513", @@ -5933,7 +6356,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 24.1, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3514", @@ -5947,7 +6371,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3515", @@ -5961,7 +6386,8 @@ "b_lu_hi": 0.77, "b_lu_n_harvestable": 33, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3516", @@ -5975,7 +6401,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3517", @@ -5989,7 +6416,8 @@ "b_lu_hi": 0.72, "b_lu_n_harvestable": 40, "b_lu_n_residue": 20, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3518", @@ -6003,7 +6431,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3519", @@ -6017,7 +6446,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_3520", @@ -6031,7 +6461,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3521", @@ -6045,7 +6476,8 @@ "b_lu_hi": 0.32, "b_lu_n_harvestable": 42.1, "b_lu_n_residue": 34.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3522", @@ -6059,7 +6491,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3523", @@ -6073,7 +6506,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3524", @@ -6087,7 +6521,8 @@ "b_lu_hi": 0.61, "b_lu_n_harvestable": 35, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3718", @@ -6101,7 +6536,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3719", @@ -6115,7 +6551,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3720", @@ -6129,7 +6566,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3721", @@ -6143,7 +6581,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3722", @@ -6157,7 +6596,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3730", @@ -6171,7 +6611,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3731", @@ -6185,7 +6626,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3732", @@ -6199,7 +6641,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 15.7, "b_lu_n_residue": 22, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3736", @@ -6213,7 +6656,8 @@ "b_lu_hi": 0.16, "b_lu_n_harvestable": 36.7, "b_lu_n_residue": 4.7, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_3792", @@ -6227,7 +6671,8 @@ "b_lu_hi": 0.8, "b_lu_n_harvestable": 17, "b_lu_n_residue": 16.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3801", @@ -6241,7 +6686,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3802", @@ -6255,7 +6701,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3803", @@ -6269,7 +6716,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3804", @@ -6283,7 +6731,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3805", @@ -6297,7 +6746,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_3806", @@ -6311,7 +6761,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3807", @@ -6325,7 +6776,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_3808", @@ -6339,7 +6791,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6520", @@ -6353,7 +6806,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6521", @@ -6367,7 +6821,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6522", @@ -6381,7 +6836,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6632", @@ -6395,7 +6851,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6636", @@ -6409,7 +6866,8 @@ "b_lu_hi": 0.4, "b_lu_n_harvestable": 20, "b_lu_n_residue": 4.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6660", @@ -6423,7 +6881,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 15.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6664", @@ -6437,7 +6896,8 @@ "b_lu_hi": 0.78, "b_lu_n_harvestable": 18.2, "b_lu_n_residue": 15.8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6746", @@ -6451,7 +6911,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6748", @@ -6465,7 +6926,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6749", @@ -6479,7 +6941,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6750", @@ -6493,7 +6956,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6751", @@ -6507,7 +6971,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6752", @@ -6521,7 +6986,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6753", @@ -6535,7 +7001,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6754", @@ -6549,7 +7016,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6755", @@ -6563,7 +7031,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 20, "b_lu_n_residue": 9.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6756", @@ -6577,7 +7046,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6757", @@ -6591,7 +7061,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6758", @@ -6605,7 +7076,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6759", @@ -6619,7 +7091,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6760", @@ -6633,7 +7106,8 @@ "b_lu_hi": 0.77, "b_lu_n_harvestable": 33, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6761", @@ -6647,7 +7121,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6762", @@ -6661,7 +7136,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 26.3, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6763", @@ -6675,7 +7151,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6764", @@ -6689,7 +7166,8 @@ "b_lu_hi": 0.61, "b_lu_n_harvestable": 35, "b_lu_n_residue": 26.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6765", @@ -6703,7 +7181,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6766", @@ -6717,7 +7196,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6767", @@ -6731,7 +7211,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6768", @@ -6745,7 +7226,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6769", @@ -6759,7 +7241,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6782", @@ -6773,7 +7256,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6783", @@ -6787,7 +7271,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6784", @@ -6801,7 +7286,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6785", @@ -6815,7 +7301,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6786", @@ -6829,7 +7316,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6787", @@ -6843,7 +7331,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6788", @@ -6857,7 +7346,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6789", @@ -6871,7 +7361,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6790", @@ -6885,7 +7376,8 @@ "b_lu_hi": 0.11, "b_lu_n_harvestable": 22, "b_lu_n_residue": 8, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6791", @@ -6899,7 +7391,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 24.1, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_6792", @@ -6913,7 +7406,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6793", @@ -6927,7 +7421,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6794", @@ -6941,7 +7436,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6795", @@ -6955,7 +7451,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6796", @@ -6969,7 +7466,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6797", @@ -6983,7 +7481,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6798", @@ -6997,7 +7496,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6799", @@ -7011,7 +7511,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6800", @@ -7025,7 +7526,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6801", @@ -7039,7 +7541,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6802", @@ -7053,7 +7556,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6803", @@ -7067,7 +7571,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6804", @@ -7081,7 +7586,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6805", @@ -7095,7 +7601,8 @@ "b_lu_hi": 0.81, "b_lu_n_harvestable": 9.3, "b_lu_n_residue": 11, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6806", @@ -7109,7 +7616,8 @@ "b_lu_hi": 0.36, "b_lu_n_harvestable": 16.5, "b_lu_n_residue": 4.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6807", @@ -7123,7 +7631,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6808", @@ -7137,7 +7646,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_6809", @@ -7151,7 +7661,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_7121", @@ -7165,7 +7676,8 @@ "b_lu_hi": 0.6, "b_lu_n_harvestable": 45, "b_lu_n_residue": 13.9, - "b_n_fixation": 100 + "b_n_fixation": 100, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_7122", @@ -7179,7 +7691,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_7124", @@ -7193,7 +7706,8 @@ "b_lu_hi": 0.28, "b_lu_n_harvestable": 38.9, "b_lu_n_residue": 7.1, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_7125", @@ -7207,7 +7721,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_7126", @@ -7221,7 +7736,8 @@ "b_lu_hi": 0.67, "b_lu_n_harvestable": 28.6, "b_lu_n_residue": 22.9, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_7127", @@ -7235,7 +7751,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_7128", @@ -7249,7 +7766,8 @@ "b_lu_hi": 0, "b_lu_n_harvestable": 0, "b_lu_n_residue": 0, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": false }, { "b_lu_catalogue": "nl_7129", @@ -7263,7 +7781,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_7130", @@ -7277,7 +7796,8 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true }, { "b_lu_catalogue": "nl_7131", @@ -7291,6 +7811,67 @@ "b_lu_hi": 0.44, "b_lu_n_harvestable": 23.5, "b_lu_n_residue": 5.3, - "b_n_fixation": 0 + "b_n_fixation": 0, + "b_lu_rest_oravib": true + }, + { + "b_lu_catalogue": "nl_7134", + "b_lu_name": "riet in water, anders dan een subsidiabele sloot", + "b_lu_name_en": null, + "b_lu_harvestable": "multiple", + "b_lu_hcat3": null, + "b_lu_hcat3_name": null, + "b_lu_croprotation": "nature", + "b_lu_yield": 0, + "b_lu_hi": 0, + "b_lu_n_harvestable": 0, + "b_lu_n_residue": 0, + "b_n_fixation": 0, + "b_lu_rest_oravib": false + }, + { + "b_lu_catalogue": "nl_7135", + "b_lu_name": "riet in een subsidiabele sloot", + "b_lu_name_en": null, + "b_lu_harvestable": "multiple", + "b_lu_hcat3": null, + "b_lu_hcat3_name": null, + "b_lu_croprotation": "nature", + "b_lu_yield": 0, + "b_lu_hi": 0, + "b_lu_n_harvestable": 0, + "b_lu_n_residue": 0, + "b_n_fixation": 0, + "b_lu_rest_oravib": false + }, + { + "b_lu_catalogue": "nl_7137", + "b_lu_name": "bonen, overig", + "b_lu_name_en": null, + "b_lu_harvestable": "once", + "b_lu_hcat3": null, + "b_lu_hcat3_name": null, + "b_lu_croprotation": "other", + "b_lu_yield": 2295, + "b_lu_hi": 0.6, + "b_lu_n_harvestable": 45, + "b_lu_n_residue": 13.9, + "b_n_fixation": 100, + "b_lu_rest_oravib": false + }, + { + "b_lu_catalogue": "nl_7138", + "b_lu_name": "palmkool", + "b_lu_name_en": null, + "b_lu_harvestable": "once", + "b_lu_hcat3": null, + "b_lu_hcat3_name": null, + "b_lu_croprotation": "other", + "b_lu_yield": 2030, + "b_lu_hi": 0.32, + "b_lu_n_harvestable": 42.1, + "b_lu_n_residue": 34.3, + "b_n_fixation": 0, + "b_lu_rest_oravib": false } ] diff --git a/fdm-data/src/cultivations/catalogues/brp.ts b/fdm-data/src/cultivations/catalogues/brp.ts index e791a7e9f..d80150dcf 100644 --- a/fdm-data/src/cultivations/catalogues/brp.ts +++ b/fdm-data/src/cultivations/catalogues/brp.ts @@ -61,6 +61,7 @@ export async function getCatalogueBrp(): Promise { b_lu_n_harvestable: cultivation.b_lu_n_harvestable, b_lu_n_residue: cultivation.b_lu_n_residue, b_n_fixation: cultivation.b_n_fixation, + b_lu_rest_oravib: cultivation.b_lu_rest_oravib, hash: null, } diff --git a/fdm-data/src/cultivations/d.ts b/fdm-data/src/cultivations/d.ts index 920dd5616..5b0d20883 100644 --- a/fdm-data/src/cultivations/d.ts +++ b/fdm-data/src/cultivations/d.ts @@ -26,6 +26,7 @@ export interface CatalogueCultivationItem { b_lu_n_harvestable: number b_lu_n_residue: number b_n_fixation: number + b_lu_rest_oravib: boolean hash: string | null } diff --git a/fdm-data/src/cultivations/hash.test.ts b/fdm-data/src/cultivations/hash.test.ts index c8d86deb7..16c01ee0d 100644 --- a/fdm-data/src/cultivations/hash.test.ts +++ b/fdm-data/src/cultivations/hash.test.ts @@ -18,6 +18,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -25,7 +26,7 @@ describe("hashCultivation", () => { expect(hash).toBeDefined() expect(typeof hash).toBe("string") expect(hash.length).toBeGreaterThan(0) - expect(hash).toBe("c514800f") + expect(hash).toBe("f6ceb42b") }) it("should generate different hashes for different cultivation items", async () => { @@ -43,6 +44,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -60,6 +62,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -84,6 +87,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -112,6 +116,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -140,6 +145,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -169,6 +175,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -198,6 +205,7 @@ describe("hashCultivation", () => { b_lu_n_harvestable: 11.3, b_lu_n_residue: 19.3, b_n_fixation: 0, + b_lu_rest_oravib: false, hash: null, } @@ -218,4 +226,34 @@ describe("hashCultivation", () => { expect(hash1).not.toBe(hash2) expect(hash1).not.toBe(hash3) }) + + it("should generate different hashes when a boolean value changes", async () => { + const cultivation1: CatalogueCultivationItem = { + b_lu_source: "brp", + b_lu_catalogue: "test-id-1", + b_lu_name: "Test Cultivation 1", + b_lu_name_en: "Test Cultivation (EN)", + b_lu_harvestable: "once", + b_lu_hcat3: "hcat3", + b_lu_hcat3_name: "hcat3 name", + b_lu_croprotation: "other", + b_lu_yield: 51298, + b_lu_hi: 0.85, + b_lu_n_harvestable: 11.3, + b_lu_n_residue: 19.3, + b_n_fixation: 0, + b_lu_rest_oravib: false, + hash: null, + } + + const cultivation2: CatalogueCultivationItem = { + ...cultivation1, + b_lu_rest_oravib: true, + } + + const hash1 = await hashCultivation(cultivation1) + const hash2 = await hashCultivation(cultivation2) + + expect(hash1).not.toBe(hash2) + }) })