Leaf: Business Locations Dataset: CVR (CentraleVirksomhedsregister) — Registered Addresses

The authoritative realisation. CVR records addresses for both firms and production units.

Spatial Access Path

Produktionsenhed (or Virksomhed)
  │  FK: → Adressering (text-based address components)
  │         kommunekode + vejnavn + husnummer + postnummer
  │
  │  Geocode via DAR match:
  │  FK: adresse → husnummer → adgangspunkt.position
  ▼
adgangspunkt.position (point geometry via DAR)

3+ levels of joins to geometry. CVR addresses are text-based — they store kommunekode, vejnavn, husnummer, postnummer as separate fields. Coordinates require joining to Addresses (DAR):

  1. Normalize CVR address components (strip whitespace, standardise case)
  2. Match to DAR using kommunekode + vejnavn + husnummer
  3. DAR resolves to husnummeradgangspunkt.position (entrance point) or vejpunkt.position (road centreline point)
LevelEntityRoleCardinality
1ProduktionsenhedOperational location record
2AdresseringText address fields1..1 per P-enhed
3DAR husnummerMatched via address components1..1 (when matched)
4aadgangspunktEntrance coordinate1..1 per husnummer
4bvejpunktRoad centreline coordinate1..1 per husnummer

Key Attributes

AttributeDescriptionNotes
kommunekodeMunicipality code4-digit, zero-padded (e.g., 0101 for Copenhagen)
vejnavnStreet nameDanish characters
husnummerHouse numberMay include letter suffix (e.g., 12A)
postnummerPostal code4-digit
bynavnCity/town nameMay differ from municipality name

Access

Temporal Model

Business locations are bitemporal. A business can move. Historical spatial analysis requires virkningFra/virkningTil filtering to reconstruct location at a given point in time. Both Adressering and Produktionsenhed carry their own temporal fields.