Leiden van xlsx via csv naar json: verschil tussen versies

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen
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)
  $file_input = "$data/leiden/gemeente/2024_04_25/obk_leiden_in.csv" ;         
  $file_input = "$data/leiden/gemeente/2024_04_25/obk_leiden_in.csv" ;         

Versie van 5 jun 2024 14:44

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, 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)

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" ;         
  • 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)
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 gegeneerd, 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