Leiden van xlsx via csv naar json: verschil tussen versies
(Nieuwe pagina aangemaakt met '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]...') |
|||
(7 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 8: | Regel 8: | ||
*Ga naar Home / Find & Select / Replace | *Ga naar Home / Find & Select / Replace | ||
*Vervang komma door punt voor de hele kolom | *Vervang komma door punt voor de hele kolom | ||
Dit is de Engelse notatie, en het voorkomt dat komma straks als scheidingsteken tussen velden wordt geinterpreteerd | 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) | *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== | ==van ene csv naar andere csv== | ||
Regel 24: | Regel 24: | ||
*Ga weer naar ActiveState Komodo IDE | *Ga weer naar ActiveState Komodo IDE | ||
*Open perl file '''obk_csv2json.pl''' | *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) | *Zorg dat juiste regel geactiveerd wordt (uit commentaar gehaald) | ||
*Run | $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 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 | *Check ook ../scripts/perl/STDERR.txt | ||
Als alles goed is gegaan is er een aantal bestanden | Als alles goed is gegaan is er een aantal bestanden gegenereerd, o.a. '''trees_leiden.json''' | ||
==json bestand testen== | ==json bestand testen== | ||
*Hernoem '''trees_leiden.json''' naar bijv. '''trees_leiden_test.json''' | *Hernoem '''trees_leiden.json''' naar bijv. '''trees_leiden_test.json''' | ||
*Upload met FileZilla naar ../data/ | *Upload met FileZilla naar '''../data/..''' | ||
*test en vergelijk met | *test en vergelijk met huidige 'live' editie van kaart | ||
==json bestand live brengen== | ==json bestand live brengen== | ||
bij grote verandering (bijv nieuwe jaarlijkse editie) huidige bestand onder andere naam beschikbaar houden | bij grote verandering (bijv nieuwe jaarlijkse editie) huidige bestand onder andere naam beschikbaar houden | ||
*Hernoem '''trees_leiden.json''' naar '''trees_leiden_2023.json''' | *Hernoem met FileZilla '''trees_leiden.json''' naar '''trees_leiden_2023.json''' | ||
*Anders: Hernoem '''trees_leiden.json''' naar '''trees_leiden.json.bak''' | *Anders: Hernoem '''trees_leiden.json''' naar '''trees_leiden.json.bak''' | ||
*Hernoem '''trees_leiden_test.json''' naar '''trees_leiden.json''' | *Hernoem '''trees_leiden_test.json''' naar '''trees_leiden.json''' |
Huidige versie van 6 jun 2024 om 15:08
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