Leiden van xlsx via csv naar json
Complete procedure voor Leiden (voor andere gemeentes is het vaak wat simpeler)
Van xslx naar csv
- Creeer nieuwe folder ../data/Leiden/Gemeente/[yyyy-mm-dd]
- Open mail die de gemeente stuurde (tot nu toe steeds van Emiel Hilgersom)
- Sla de aangehechte xlsx file op in de nieuwe folder, bijv bomen 25-4-2024.xlsx
- Open de file in Excel
- Selecteer kolom 'Stamdiameterklasse'
- Ga naar Home / Find & Select / Replace
- Vervang komma door punt voor de hele kolom
Dit is de Engelse notatie voor decimale punt, en het voorkomt dat komma straks als scheidingsteken tussen velden wordt geinterpreteerd
- Sla het spreadsheet als csv bestand op in dezelfde folder onder naam obk_leiden_in_raw.csv (type csv versie utf-8)
van ene csv naar andere csv
- Open ActiveState Komodo IDE
- Open perl file csv2normalize.pl
- Run dit met F7
Nu is er een obk_leiden_in_raw2.csv gemaakt met kleine aanpassingen (geen dubbele quotes om velden X en Y, waar QGIS over zou vallen)
- Open QGIS
- vervolg met Admin:Invoerbestand_aanvullen_met_latitude_longitude
Aan het eind van deze actie heb je de definitieve file voor omzetting naar een json bestand: obk_leiden_in.csv
Van csv naar json
- Ga weer naar ActiveState Komodo IDE
- Open perl file obk_csv2json.pl
- Zet het combineren van diverse inputs aan
our $merge_trees_gov_osm = 1 ;
- Zorg dat juiste regel geactiveerd wordt (uit commentaar gehaald)
$file_input = "$data/leiden/gemeente/2024_04_25/obk_leiden_in.csv" ;
Helaas is in elke versie van het bestand dat we van Leiden krijgen de indeling in kolommen anders
- Pas obk_parse_csv.pl aan als volgt
- Ga naar code voor Leiden
# Leiden if ($csv_columns eq 'leiden') { ... }
- Deactiveer binnen die sectie de vorige code voor beschrijving kolommen door er commentaar aan toe te voegen
# columns for data file 2024_02_02/obk_leiden_in.csv if (0) { ... }
- Voeg een nieuwe sectie toe voor dit nieuwe bestand
- vind zelf de juiste kolommen door obk_leiden_in.csv in Excel te openen
- vervang dus ... hieronder door lijst met kolommen
- in deze versie zitten meer bruikbare velden dan in de vorige
# columns for data file from 2024_04_025 ($id, $species_nl, $species, $stamdiameterklasse, $hoogte, $plantjaar, $beheerder, $locatie, $stadsdeel, $wijk, $buurt, $long, $lat) = ($csv -> fields ()) [...] ;
- Run obk_csv2json.pl met F7
Check de output op foutmeldingen. Als er geen output is, dan was er vast een script syntax error waardoor de run meteen gestopt werd.
- Check ook ../scripts/perl/STDERR.txt
Als alles goed is gegaan is er een aantal bestanden gegenereerd, o.a. trees_leiden.json
json bestand testen
- Hernoem trees_leiden.json naar bijv. trees_leiden_test.json
- Upload met FileZilla naar ../data/..
- test en vergelijk met huidige 'live' editie van kaart
json bestand live brengen
bij grote verandering (bijv nieuwe jaarlijkse editie) huidige bestand onder andere naam beschikbaar houden
- Hernoem met FileZilla trees_leiden.json naar trees_leiden_2023.json
- Anders: Hernoem trees_leiden.json naar trees_leiden.json.bak
- Hernoem trees_leiden_test.json naar trees_leiden.json