CSV naar GeoJSON converteren

Deze converter zet een CSV met kolommen voor breedte- en lengtegraad of een WKT-kolom om naar GeoJSON, en kan overweg met de puntkomma's, decimale komma's en Windows-codering die Excel vaak schrijft. De CSV wordt in uw browser gelezen en wordt niet geüpload. Adressen worden niet gegeocodeerd, coördinaten in graden, minuten en seconden worden niet ondersteund en rijen zonder geldige coördinaten blijven behouden met een null-geometrie.

Is een bestand niet goed omgezet? Mail naar [email protected], liefst met een klein voorbeeldbestand, dan wordt het opgelost.

In het kort

CSV naar GeoJSON: waarom omzetten

Lijsten met winkels, sensoren, waarnemingen of klanten beginnen vaak in Excel of Google Spreadsheets, met één rij per locatie en een kolom voor breedte- en een voor lengtegraad. Om ze op een webkaart te zetten, hebt u GeoJSON nodig. Deze converter vindt de coördinaatkolommen zelf als ze een gebruikelijke naam hebben, zoals lat, latitude, lon, lng, longitude, x of y, of gebruikt een kolom met WKT-tekst zoals POINT (4.90 52.37), waarmee ook lijnen en polygonen mogelijk zijn. Hij kan overweg met de CSV-varianten die Excel in verschillende landen schrijft: komma's of puntkomma's, decimale punten of decimale komma's, UTF-8 of de oudere Windows-codering. Worden de kolommen niet herkend, dan kiest u ze zelf. Elke andere kolom wordt een attribuut. Het bestand wordt in uw browser gelezen en nooit geüpload.

Zo zet u CSV om naar GeoJSON

  1. Sleep uw .csv-bestand naar het vak, of klik om het te kiezen.
  2. Controleer welke kolommen voor de coördinaten worden gebruikt, en vul het coördinatenstelsel in als het geen lengte- en breedtegraad zijn.
  3. Klik op “Converteren naar GeoJSON” en download uw GeoJSON-bestand.

Wat er verandert bij het omzetten

Hoe de coördinaatkolommen worden gevonden

Een kolom waarvan de waarden op WKT lijken, wordt als eerste als geometrie gebruikt. Anders is de kolom voor lengtegraad of X de eerste waarvan de naam begint met lon, lng of long, of die x of easting heet, en de kolom voor breedtegraad of Y de eerste die begint met lat, of die y of northing heet. Het overzicht laat zien welke kolommen zijn gebruikt, en u kunt andere kiezen. Een punt in Amsterdam waarvan breedte- en lengtegraad zijn verwisseld, belandt in de Indische Oceaan voor de kust van Somalië, dus een blik op de kaart vóór het converteren loont. Adressen worden niet omgezet in coördinaten; het bestand moet getallen of WKT bevatten.

Puntkomma's en decimale komma's

In Nederland, België, Duitsland en veel andere landen slaat Excel CSV-bestanden op met puntkomma's tussen de kolommen en een komma als decimaalteken, dus 52,3728 betekent 52.3728. Het scheidingsteken (komma, puntkomma, tab of verticale streep) wordt herkend aan de kopregel, en een eerste regel “sep=” van Excel wordt gerespecteerd. Decimale komma's worden begrepen in bestanden die met puntkomma's of tabs zijn gescheiden; in een kommagescheiden bestand kan een komma alleen een scheidingsteken zijn. In een bestand met decimale komma's blijven getallen met een scheidingsteken voor duizendtallen, zoals 1.200, tekst. Coördinaten in graden, minuten en seconden, zoals 52°22'22"N, worden niet ondersteund; zet ze eerst om naar decimale graden.

Tekstcodering

UTF-8, met of zonder byte order mark, en UTF-16 worden herkend. Een bestand dat geen geldige UTF-8 is, wordt gelezen als Windows-1252, de codering die Excel voor Windows in West-Europa en Amerika gebruikt voor “CSV (gescheiden door lijstscheidingsteken)”, zodat letters als é, ë, ï en ç intact blijven. Andere oudere coderingen, zoals Cyrillische of Aziatische codetabellen, worden niet herkend; sla die bestanden eerst op als “CSV UTF-8”.

Getallen, tekst en lege cellen

Een kolom wordt in de GeoJSON alleen een getal als al zijn waarden getallen zijn. Waarden met een voorloopnul, zoals het telefoonnummer 0612345678 of de ID 000123, houden de kolom als tekst, zodat er niets verloren gaat. De coördinaatkolommen worden niet herhaald als attributen. Rijen met een lege of onleesbare coördinaat blijven behouden met "geometry": null, en de pagina vertelt u hoeveel het er zijn.

Het coördinatenstelsel

Een CSV zegt niet in welk coördinatenstelsel de getallen staan. Lengte- en breedtegraad worden opgevat als WGS84, zoals van een gps of Google Maps. Zijn de waarden duidelijk geen graden, bijvoorbeeld RD-coördinaten of UTM-coördinaten in meters, dan vraagt de pagina om de EPSG-code, zoals EPSG:28992 of EPSG:3812, en herprojecteert naar WGS84. Bij EWKT-waarden met SRID=... wordt de code voor u ingevuld.

Over de bestandsformaten

CSV

CSV (comma-separated values, door komma's gescheiden waarden) is een tabel in platte tekst die opent in Excel, Google Sheets en elke database. Het heeft geen eigen geometrietype: locaties worden opgeslagen in twee coördinaatkolommen, zoals breedte- en lengtegraad, of in een kolom met WKT-tekst.

  • Punten passen in twee kolommen (X en Y, of lengte- en breedtegraad); lijnen en polygonen hebben een WKT-kolom nodig.
  • Het coördinatenstelsel wordt niet in het bestand opgeslagen, dus noteer het apart.
  • Er is geen standaard voor het scheidingsteken: Excel gebruikt een komma of een puntkomma, afhankelijk van de taalinstellingen.
  • Elke waarde is tekst; of 0612345678 een getal of een telefoonnummer is, bepaalt het programma dat het bestand leest.

GeoJSON

GeoJSON is een JSON-tekstformaat voor geografische objecten, in 2016 vastgelegd als RFC 7946. Het is het eigen formaat van webkaarten zoals Leaflet, MapLibre en Mapbox, en van veel API's.

  • Coördinaten zijn WGS84-lengtegraad en -breedtegraad (in die volgorde).
  • Punten, lijnen en polygonen kunnen in één bestand worden gecombineerd.
  • Eigenschappen kunnen elke JSON-waarde zijn, zonder limiet op de lengte van veldnamen.

Veelgestelde vragen

Wordt mijn CSV geüpload?

Nee. Het bestand wordt door uw eigen browser gelezen en geconverteerd, dus klantenlijsten en andere privéadressen blijven op uw computer.

Met welke Excel-optie sla ik de CSV het beste op?

“CSV UTF-8 (door komma's gescheiden)” is het veiligst, omdat elk teken behouden blijft. De gewone optie “CSV (gescheiden door lijstscheidingsteken)” werkt ook; de converter leest de Windows-codering ervan en, in landen met een decimale komma, de puntkomma's.

Kan de CSV lijnen en polygonen bevatten?

Ja, in een WKT-kolom. Elke rij bevat één geometrie, bijvoorbeeld LINESTRING (4.89 52.37, 4.90 52.38) of een POLYGON of MULTIPOLYGON. Puntcoördinaten in twee kolommen kunnen alleen punten opleveren.

Werkt het met Google Spreadsheets?

Ja. Kies in Google Spreadsheets Bestand, Downloaden, Kommagescheiden waarden (.csv), en sleep dat bestand hierheen.