Perl obk csv2json.pl: verschil tussen versies

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen
Regel 35: Regel 35:
Zie [[Perl_obk_csv2json.pl/Voorbereiding|voorbereiding]]
Zie [[Perl_obk_csv2json.pl/Voorbereiding|voorbereiding]]


==Review output==
==Input==
 
input file given (most other files are derived from this):
c:/bomen/data/leiden/gemeente/2022_06_13/obk_leiden_in.csv
input folder:      c:/bomen/data/leiden/gemeente/2022_06_13
input file date:    2022-06-13
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden_in.csv obk_leiden_in.csv]        c:/bomen/data/leiden/gemeente/2022_06_13/obk_leiden_in.csv
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_overpass obk_leiden_overpass_2023_01_23.json]    c:/bomen/data/leiden/Gemeente/2022_06_13/obk_leiden_overpass_2023_01_23.json
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_skip_trees obk_skip_trees.txt]  c:/bomen/data/leiden/gemeente/2022_06_13/../obk_skip_trees.txt
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_park_trees obk_park_trees.txt]  c:/bomen/data/leiden/gemeente/2022_06_13/../obk_park_trees.txt
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_log_park_trees obk_park_trees_log.txt]  c:/bomen/data/leiden/gemeente/2022_06_13/../obk_park_trees_log.txt
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_taxon_diff diff_revisions_taxon.csv]  c:/bomen/data/Leiden/Gemeente/2022_06_13/diff/diff_revisions_taxon.csv
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_municipalities_csv obk_in_gemeenten.csv]  c:/bomen/data/obk_in_gemeenten.csv
==Output==


Als het goed is heb je nu 6 nieuwe bestanden.
Als het goed is heb je nu 6 nieuwe bestanden.
Regel 50: Regel 63:
  [https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden.json obk_leiden.json]      zelfde als volgende regel (copy)  
  [https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden.json obk_leiden.json]      zelfde als volgende regel (copy)  
  [https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/trees_leiden.json trees_leiden.json]    Het bestand dat naar de OBK server wordt gecopieerd, om aldaar door '''obk.htm''' opgehaald te worden
  [https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/trees_leiden.json trees_leiden.json]    Het bestand dat naar de OBK server wordt gecopieerd, om aldaar door '''obk.htm''' opgehaald te worden
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_out_test_json obk_leiden.js]      test variant van obk_leiden.json voor lokaal testen
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_upd_stats_csv obk_city_stats.csv]  centraal statistics bestand voor alle gemeentes


==Zie ook==
==Zie ook==
*[[Perl_obk_csv2json.pl/Nieuwe_gemeente|Voeg nieuwe gemeente toe]]
*[[Perl_obk_csv2json.pl/Nieuwe_gemeente|Voeg nieuwe gemeente toe]]
*[[Perl obk_csv2json.pl testen|Lokaal testen (advanced)]]
*[[Perl obk_csv2json.pl testen|Lokaal testen (advanced)]]

Versie van 18 mei 2023 09:11

Terug naar Perl scripts

script naam is eigenlijk obk_csv2json.pl (incl underscore)

Hoofddoel: Dit script vormt een gemeentebestand in csv formaat om naar een json bestand, klaar om in obk.htm ingeladen te worden.

Tevens genereert het tellingen, en input voor een tile set die in editor ID gebruikt kan worden om species, positie en admin_ref over te halen naar OSM.

Main script:

Modules

Initieel

Download data archief van STRATO

Download met FileZilla alle folders binnen /data/..

Download perl bestanden (6) van STRATO

  • Haal alle perl files die met obk_.. beginnen op van STRATO server en sla die lokaal op (allemaal in dezelfde folder ../perl..)
Het gaat om deze modules:
obk_csv2json.pl  hoofdscript , dit run je in de IDE
obk_setup.pl     genereer alle bestandsnamen, de meeste worden afgeleid uit de naam van het invoerbestand (csv bestand)
obk_parse_csv.pl breek een regel uit het csv bestand op in bruikbare kolommen 
obk_counts.pl    genereer tellingen 
obk_normalize.pl standaardiseer zaken als hoogte en stamdikte, die worden in elke gemeente weer iets anders gecodeerd 
obk_report.pl    rapporteer over de uitkomst

Test met een bestaand bestand

Zie voorbereiding

Input

input file given (most other files are derived from this): c:/bomen/data/leiden/gemeente/2022_06_13/obk_leiden_in.csv input folder: c:/bomen/data/leiden/gemeente/2022_06_13 input file date: 2022-06-13

obk_leiden_in.csv         c:/bomen/data/leiden/gemeente/2022_06_13/obk_leiden_in.csv
obk_leiden_overpass_2023_01_23.json    c:/bomen/data/leiden/Gemeente/2022_06_13/obk_leiden_overpass_2023_01_23.json
obk_skip_trees.txt  c:/bomen/data/leiden/gemeente/2022_06_13/../obk_skip_trees.txt
obk_park_trees.txt  c:/bomen/data/leiden/gemeente/2022_06_13/../obk_park_trees.txt
obk_park_trees_log.txt  c:/bomen/data/leiden/gemeente/2022_06_13/../obk_park_trees_log.txt
diff_revisions_taxon.csv  c:/bomen/data/Leiden/Gemeente/2022_06_13/diff/diff_revisions_taxon.csv
obk_in_gemeenten.csv  c:/bomen/data/obk_in_gemeenten.csv

Output

Als het goed is heb je nu 6 nieuwe bestanden. Twee daarvan zijn qua inhoud identiek, en verschillen alleen in naam, namelijk obk_[gemeente].json en trees_[gemeente].json.

Reden: de javascript files verwachten prefix trees_... Voor dit perl script is prefix obk_... standaard voor input en output. De file handmatig renamen van obk_... naar trees_... had ook gekund, maar zou mogelijk net zo verwarrend zijn geweest. Daarom twee identieke bestanden bestanden, de ene (obk_...) om het generatieproces te reviewen, en de andere (trees_...) om naar de folder te copieren, waar de web pagina het kan downloaden.

voorbeeld voor Leiden:

obk_leiden-counts.csv Synopsis: totaal aantal bomen en soorten per park
obk_leiden-counts.txt Details: aantal bomen, per soort per park
obk_leiden.csv        Bestand dat in QGIS omgezet kan worden in een tegelset (tile set) voor gebruik in OSM editor ID. Met per boom coordinaten, id, species, diameter, hoogte,  plantjaar, kort label (bijv: '2028728'-Que rob), owner 
obk_leiden.log        Tellingen per veld, voor nerds 
obk_leiden.json       zelfde als volgende regel (copy) 
trees_leiden.json     Het bestand dat naar de OBK server wordt gecopieerd, om aldaar door obk.htm opgehaald te worden
obk_leiden.js      test variant van obk_leiden.json voor lokaal testen
obk_city_stats.csv  centraal statistics bestand voor alle gemeentes

Zie ook