Skip to content
gcs-landbrugsareal-data logo

Gcs Landbrugsareal Data

gcs-landbrugsareal-data

Activates when querying agricultural land and field data from GCS. Use this skill for: field boundaries, crop data, land use, organic farming, production estimates, cadastral data, agricultural blocks, building data. Keywords: landbrugsareal, field, mark, marker, crop, afgrøde, organic, økologisk...

SKILL.md

Full skill instructions

GCS Landbrugsareal (Agricultural Land) Data Catalog

Field boundaries, crop data, land use, and agricultural production data.

Frontend Metrics Supported

Metric KeyDanish NameDescription
land_useArealanvendelseLand use categories
organic_farmingØkologisk arealOrganic farming area
productionAfgrødeproduktionCrop production estimates
crop_diversityAfgrødediversitetDiversity of crops grown

Available Datasets

Silver Layer

FVM Marker - Field Boundaries (617K rows/​year)

Path: gs://$GCS_BUCKET/​silver/​fvm_marker_{year}/​*/​data.parquet Years Available: 2008-2025

ColumnTypeDescriptionExample
field_idstringUnique field identifier610341-27-1-0
area_hafloatField area in hectares12.45
cvr_numberstringCompany CVR (8 digits)31373077
crop_codeintCrop type code1
crop_namestringCrop type nameVårbyg
block_idstringAgricultural block ID610341-27
geometrybinaryField polygon (WKB, EPSG:4326)-
yearintData year2024
field_uuidstringUUID for field-
municipalitystringMunicipality code0101
is_organicboolOrganic certificationtrue
organic_conversion_datedateDate of organic conversion2020-01-15

Schema (introspected):

field_id: string
area_ha: double
cvr_number: string
crop_code: int64
crop_name: string
block_id: string
geometry: binary (WKB)
year: int64
field_uuid: string
municipality: string
is_organic: bool
organic_conversion_date: date32
[20 columns total]
Agricultural Blocks

Path: gs://$GCS_BUCKET/​silver/​agricultural_blocks_{year}/​*/​data.parquet

ColumnTypeDescription
block_idstringBlock identifier
geometrybinaryBlock polygon (WKB)
total_area_hafloatTotal block area
Cadastral (2.16M rows)

Path: gs://$GCS_BUCKET/​silver/​cadastral/​*/​data.parquet

ColumnTypeDescriptionExample
bfe_numberint64Cadastral parcel ID1234567
business_eventstringLast registration event-
registration_fromtimestampRegistration date-
is_worker_housingboolWorker housing flagfalse
is_common_lotboolCommon lot flagfalse
agricultural_notationstringAgricultural notation-
geometrybinaryParcel polygon (WKB)-
BBR Buildings (579K rows)

Path: gs://$GCS_BUCKET/​silver/​bbr_buildings/​*/​joined_buildings.parquet

ColumnTypeDescription
building_uuidstringUnique building ID
geo_building_polygonbinaryBuilding footprint (WKB)
geo_building_centroidbinaryBuilding center point
building_typestringBuilding type code
building_floor_area_sqmfloatFloor area in m²
building_usage_categorystringUsage category
current_usestringCurrent use description
addressstringBuilding address
DAGI Kommuner (99 rows)

Path: gs://$GCS_BUCKET/​silver/​dagi_kommuner/​*/​data.parquet

ColumnTypeDescription
codestringMunicipality code
namestringMunicipality name
region_codestringRegion code
geometrybinaryMunicipality polygon (WKB)
area_m2floatArea in m²
centroid_xfloatCentroid longitude
centroid_yfloatCentroid latitude

Gold Layer

Field Production (617K rows/​year)

Path: gs://$GCS_BUCKET/​gold/​field_production_{year}/​*/​data.parquet

ColumnTypeDescriptionExample
field_idstringField identifier610341-27-1-0
block_idstringBlock identifier610341-27
cvr_numberstringCompany CVR31373077
yearintProduction year2024
area_hafloatField area12.45
crop_typestringCrop type nameVårbyg
organic_farmingboolOrganic flagtrue
landsdel_codestringRegion code-
landsdel_namestringRegion nameNordjylland
dst_regionsstringDST region classification-
kommune_namestringMunicipality nameKøbenhavn
yield_estimate_hkg_hafloatYield estimate hkg/​ha52.3
production_estimate_hkgfloatTotal production hkg651.14
field_uuidstringUUID-
primary_field_idstringPrimary field reference-

Schema (introspected):

field_id: string
block_id: string
cvr_number: string
year: int64
area_ha: double
crop_type: string
organic_farming: bool
landsdel_code: string
landsdel_name: string
dst_regions: string
kommune_name: string
yield_estimate_hkg_ha: double
production_estimate_hkg: double
field_uuid: string
primary_field_id: string
[18 columns total]

Common Queries

Get All Fields for a CVR

import pyarrow.parquet as pq
from google.cloud import storage
import io

client = storage.Client()
bucket = client.bucket('$GCS_BUCKET')

# Read FVM marker data for 2024
blob = bucket.blob('silver/​fvm_marker_2024/​2025-01-10/​data.parquet')
buffer = io.BytesIO()
blob.download_to_file(buffer)
buffer.seek(0)
df = pq.read_table(buffer).to_pandas()

# Filter by CVR
company_fields = df[df['cvr_number'] == '31373077']
print(f"Total fields: {len(company_fields)}")
print(f"Total area: {company_fields['area_ha'].sum():.2f} ha")

Calculate Organic Farming Percentage by Municipality

# Group by municipality and organic status
organic_stats = df.groupby(['municipality', 'is_organic']).agg({
    'area_ha': 'sum'
}).unstack(fill_value=0)

organic_stats.columns = ['conventional', 'organic']
organic_stats['organic_pct'] = (
    organic_stats['organic'] /
    (organic_stats['conventional'] + organic_stats['organic']) * 100
)
organic_stats = organic_stats.sort_values('organic_pct', ascending=False)

Get Production Estimates for a Crop

# Read gold production data
blob = bucket.blob('gold/​field_production_2024/​2025-01-10/​data.parquet')
buffer = io.BytesIO()
blob.download_to_file(buffer)
buffer.seek(0)
production = pq.read_table(buffer).to_pandas()

# Filter for wheat
wheat = production[production['crop_type'].str.contains('hvede', case=False)]
print(f"Total wheat area: {wheat['area_ha'].sum():.2f} ha")
print(f"Average yield: {wheat['yield_estimate_hkg_ha'].mean():.2f} hkg/​ha")
print(f"Total production: {wheat['production_estimate_hkg'].sum():.2f} hkg")

Crop Diversity Analysis

# Count unique crops per CVR
crop_diversity = df.groupby('cvr_number').agg({
    'crop_name': 'nunique',
    'area_ha': 'sum'
}).reset_index()
crop_diversity.columns = ['cvr_number', 'crop_count', 'total_area']
crop_diversity = crop_diversity.sort_values('crop_count', ascending=False)

Read Geometry with GeoPandas

import geopandas as gpd
import io

# Read with geometry
blob = bucket.blob('silver/​fvm_marker_2024/​2025-01-10/​data.parquet')
buffer = io.BytesIO()
blob.download_to_file(buffer)
buffer.seek(0)

# Read as GeoDataFrame
gdf = gpd.read_parquet(buffer)
gdf = gdf.set_crs('EPSG:4326')  # Set CRS if not set

# Plot a sample
gdf[gdf['cvr_number'] == '31373077'].plot()

Join Keys

This DatasetJoin ColumnTarget DatasetTarget Column
fvm_markercvr_numbersubsidiescvr_number
fvm_markerfield_idfield_productionfield_id
fvm_markerblock_idagricultural_blocksblock_id
fvm_markerfield_uuidpesticide_disaggregationfield_uuid
fvm_markermunicipalitydagi_kommunercode
field_productionfield_idnles5_nitrogenfield_id
cadastralbfe_numberproperty_ownersbestemtFastEjendomBFENr

Data Quality Notes

FVM Marker

  • Update frequency: Annual (new year data released ~Q2)
  • Coverage: All registered agricultural fields in Denmark
  • Years available: 2008-2025 (varies by data source)
  • Geometry: WKB format, EPSG:4326

Field Production

  • Update frequency: Annual after harvest statistics
  • Coverage: Production estimates for all registered fields
  • Caveat: Yield estimates are modeled, not measured

Cadastral

  • Update frequency: Weekly
  • Coverage: All cadastral parcels in Denmark
  • Note: Use for property boundaries, not field boundaries

Related Skills

  • okonomi/​ - Subsidies linked to fields via CVR and markbloknummer
  • miljo/​ - Environmental data at field level (pesticides, nitrogen)
  • husdyr/​ - Livestock density per land area

GCS Paths Reference

# List available FVM marker years
gsutil ls gs://$GCS_BUCKET/​silver/ | grep fvm_marker

# List field production years
gsutil ls gs://$GCS_BUCKET/​gold/ | grep field_production

# List cadastral snapshots
gsutil ls gs://$GCS_BUCKET/​silver/​cadastral/

# List DAGI municipality data
gsutil ls gs://$GCS_BUCKET/​silver/​dagi_kommuner/

Yearly Data Pattern

For datasets with yearly data, use this pattern:

# Query specific year
year = 2024
path = f'silver/​fvm_marker_{year}/​*/​data.parquet'

# Query all years (use with caution - large data)
path = 'silver/​fvm_marker_*/​*/​data.parquet'

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View