Breedtegraad en lengtegraad zijn de twee getallen die elk punt op aarde vastleggen. Breedtegraad zegt hoe ver je naar het noorden of zuiden zit, lengtegraad hoe ver naar het oosten of westen. Samen vormen ze een coördinatenpaar waar elke kaart, elk GPS-apparaat, elke geocoding-API en elke AI-assistent mee kan werken.
De meeste developers gebruiken coördinaten zonder erover na te denken, tot er een bug opduikt. Deze gids legt uit wat elk getal echt meet, welke notaties je in productie tegenkomt en welke verwisseling meer kaartbugs veroorzaakt dan welke andere fout ook.
Wat breedtegraad meet
Breedtegraad is de hoek in graden tussen een punt op het aardoppervlak en het vlak van de evenaar. De evenaar is 0 graden. De Noordpool is +90 graden. De Zuidpool is -90 graden. Breedtegraden (parallellen) lopen horizontaal om de aardbol en blijven overal even ver van elkaar verwijderd.
Eén graad breedte is op de grond altijd ongeveer 111 kilometer, waar je ook bent. Door die vaste maat is breedtegraad bruikbaar voor alles van vluchtplanning tot klimaatonderzoek.
Wat lengtegraad meet
Lengtegraad is de hoek tussen een punt en de nulmeridiaan, de lijn die door Greenwich in Londen loopt op 0 graden lengtegraad. Lengtegraad loopt van -180 graden (west) tot +180 graden (oost). Die twee waarden komen aan de andere kant van de aarde samen op de antimeridiaan, die het grootste deel van de internationale datumgrens vormt.
Anders dan bij breedtegraad hangt de afstand op de grond van één graad lengte af van waar je bent. Bij de evenaar is één graad lengtegraad ongeveer 111 km, hetzelfde als breedtegraad. Bij Helsinki is dat ongeveer 56 km. Bij de polen wordt het nul, omdat alle lengtegraden daar samenkomen.
Daardoor gaan afstandsberekeningen op een platte kaart mis bij lange routes en bij punten dicht bij de polen. Correcte afstandsfuncties gebruiken de haversine- of de Vincenty-formule, die rekening houden met de kromming van de aarde.
De bekende verwisseling (en hoe je die vermijdt)
Een van de vaakste fouten in geodatacode is het verwisselen van breedte- en lengtegraad. De oorzaak: elk formaat heeft zijn eigen volgorde.
- Menselijke weergave, adressen, GPS-apps: breedtegraad eerst.
48.8584, 2.2945betekent lat 48.8584, lng 2.2945. - GeoJSON, WKT, de meeste geodata-standaarden: lengtegraad eerst.
[2.2945, 48.8584]is hetzelfde punt. - MapAtlas Geocoding API en de meeste "v1" REST-APIs: breedtegraad eerst in JSON-sleutels (
lat,lng), maar check altijd de documentatie van het endpoint, want dat verschilt.
Trek je een feature uit GeoJSON en zet je die in een kaartbibliotheek die [lat, lng] verwacht, dan moet je de volgorde omdraaien. Vergeet je dat, dan belandt je punt op het verkeerde halfrond en ben je twee dagen bezig met de vraag waarom "Parijs" ergens voor de kust van Afrika ligt.
Een goede vuistregel: geef in elke functie die coördinaten aanneemt de parameters een duidelijke naam. Met function distance(latA, lngA, latB, lngB) maak je minder snel een fout dan met function distance(a, b), waarbij a en b vage arrays zijn.
Decimale graden versus GMS
Het meest gebruikte formaat in code is decimale graden (DD): 48.8584, 2.2945. Dat verwacht elke moderne API en bibliotheek.
Soms kom je graden-minuten-seconden (GMS) tegen: 48 gr 51' 30" N, 2 gr 17' 40" O. GMS komt uit de scheepvaart en de luchtvaart en staat nog op officiële papieren kaarten en in sommige losse GPS-ontvangers. GMS omzetten naar DD is eenvoudig: DD = graden + (minuten / 60) + (seconden / 3600). Voor zuid en west maak je het getal negatief.
Voor opslag zijn decimale graden met 5 tot 6 cijfers achter de komma genoeg voor elke realistische toepassing. Meer dan 6 cijfers is schijnprecisie: smartphone-GPS is onder open hemel doorgaans tot ongeveer 4,9 meter nauwkeurig, en alleen landmeetontvangers met correctiediensten komen in de buurt van centimeterniveau.
Hoeveel cijfers achter de komma heb je nodig?
Elke extra decimaal maakt de positie ongeveer tien keer preciezer:
- 0 decimalen (
48): ongeveer 111 km, landsniveau - 1 positie (
48.8): ongeveer 11 km, stadsniveau - 2 posities (
48.86): ongeveer 1,1 km, wijkniveau - 3 posities (
48.858): ongeveer 110 meter, straatniveau - 4 posities (
48.8584): ongeveer 11 meter, gebouwniveau - 5 posities (
48.85844): ongeveer 1 meter, voordeurniveau - 6 posities (
48.858445): ongeveer 11 centimeter, ver voorbij consumenten-GPS - 7+ posities: valse precisie voor vrijwel elke echte bron
Kies de precisie die bij je toepassing past. Sla je 8 decimalen op om "in deze wijk te bezorgen", dan verspil je ruimte en lijkt de data veel exacter dan ze is.
Coördinaten en kaartprojecties
De getallen zelf zijn hoekmetingen op het aardoppervlak, maar een scherm is plat. Elke kaartprojectie is een wiskundige functie die breedte- en lengtegraad omzet naar x,y-pixels op het scherm.
Web Mercator (EPSG:3857) is de projectie die Google Maps, OpenStreetMap en vrijwel elke interactieve webkaart gebruiken. Die projectie behoudt vorm en richting, maar vervormt oppervlak: Groenland lijkt even groot als Afrika, terwijl Afrika in werkelijkheid veertien keer groter is. Voor de meeste kaarten in productie maakt die vervorming niet uit, zolang gebruikers plaatsen herkennen. Vergelijk je oppervlakten op een thematische kaart (bevolking, verkiezingsuitslagen, klimaat), gebruik dan een oppervlaktegetrouwe projectie.
De coördinaten die je opslaat, zijn altijd WGS84-breedte- en lengtegraden. De projectie komt pas bij het tekenen van de kaart. Projectiecoördinaten en WGS84-coördinaten door elkaar in je database zetten is nog zo'n klassieke bron van bugs.
Coördinaten opslaan en indexeren
Sla in de meeste databases breedtegraad en lengtegraad op als twee numerieke kolommen (of geometry(point, 4326) als je PostGIS gebruikt). Om punten binnen een bounding box op te zoeken, is een B-tree-index op elke kolom genoeg. Voor "dichtstbijzijnde buur"-queries heb je een ruimtelijke index nodig: PostGIS GIST, MySQL SPATIAL of indeling in geohash-vakken.
Sla je coördinaten op als string ("48.8584,2.2945"), dan krijg je daar spijt van zodra je moet filteren, sorteren of een afstand berekenen. Doe het niet.
Hoe AI-assistenten coördinaten gebruiken
AI-assistenten (ChatGPT, Perplexity, Gemini) werken met plaatsen via coördinaten, net als gewone apps. Vraagt een gebruiker "zoek een koffiezaak bij mij in de buurt", dan zet de assistent de locatie van de gebruiker om naar een coördinaat, vraagt een places-API om resultaten en sorteert die op haversine-afstand. Goed opgegeven coördinaten in je gestructureerde data (de JSON-LD-eigenschap geo, het GeoCoordinates-schema) geven AI-assistenten een eenduidige locatie voor je vermelding. Dan hoeven ze die niet uit de tekst af te leiden.
Bij vermeldingen over landsgrenzen heen of in meerdere steden haalt het coördinaat de twijfel weg. "Paris" is dubbelzinnig: er ligt er een in Frankrijk en een in Texas. Een coördinaat is dat niet.
Waarom MapAtlas
MapAtlas is het Europese kaartplatform voor zoeken met AI. Elke aanroep voor geocoding, reverse geocoding, isochronen en routes geeft nette WGS84-coördinaten terug, altijd in dezelfde volgorde, GDPR-proof en gehost in de EU. Zet een adres direct om naar breedte- en lengtegraad met de Coördinaten-tool, of lees de gids Wat is een geocode om te zien hoe geocoding-API's in productie werken.
Veelgestelde vragen
Wat is het verschil tussen lengtegraad en breedtegraad?
Breedtegraad meet de noord-zuidpositie op aarde (tussen -90 aan de Zuidpool en +90 aan de Noordpool). Lengtegraad meet de oost-westpositie (tussen -180 en +180, met 0 bij de meridiaan van Greenwich). Breedtegraden lopen horizontaal en zijn evenwijdig aan elkaar. Lengtegraden lopen verticaal en komen samen bij de polen. Samen vormen ze een uniek cijferpaar dat elke locatie op aarde vastlegt.
Wat komt eerst: lengtegraad of breedtegraad?
Dat hangt af van het formaat. In leesbare vorm (Google Maps, GPS-apps, adressen) staat breedtegraad eerst: 48.8584, 2.2945 betekent lat 48.8584, lng 2.2945. In machineleesbare formaten zoals GeoJSON en de meeste geodata-standaarden staat lengtegraad eerst: [2.2945, 48.8584]. Die verwisseling is een van de vaakste oorzaken van kaartbugs in productie. Controleer dus altijd welke volgorde het formaat gebruikt.
Hoe nauwkeurig zijn GPS-coördinaten?
Zes decimalen (bijvoorbeeld 48.858444) zijn bij de evenaar nauwkeurig tot ongeveer 11 centimeter. Vijf decimalen (48.85844) geeft ongeveer 1 meter. Vier decimalen (48.8584) geeft ongeveer 11 meter, wat prima is voor kaarten op straatniveau. Voor de meeste toepassingen in productie zijn 6 decimalen overdreven en is 5 ruim voldoende. Sla je meer precisie op dan nodig, dan verspil je bytes en lijkt de data nauwkeuriger dan ze is.
Waarom komen lengtegraden samen bij de polen?
Breedtegraden zijn evenwijdig omdat ze allemaal de aardas als referentie delen. Lengtegraden zijn grote cirkels die allemaal door de Noord- en Zuidpool lopen. Hoe dichter bij de pool, hoe kleiner de oost-westafstand tussen twee lengtegraden: bij de evenaar is één graad lengte ongeveer 111 km, bij de pool nul. Daarom gaan eenvoudige afstandsberekeningen die de aarde als plat vlak behandelen op hoge breedtegraden mis. Correcte berekeningen gebruiken de haversine- of Vincenty-formule.

