Perl obk csv2json.pl: verschil tussen versies
(→Input) |
|||
Regel 43: | Regel 43: | ||
(procedure voor aanmaken van deze nummers nog te beschrijven) | (procedure voor aanmaken van deze nummers nog te beschrijven) | ||
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_park_trees obk_park_trees.txt] (optioneel) Lijst van parken, met per park id's van bomen (ref:id of coordinaten) | [https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/file_in_park_trees obk_park_trees.txt] (optioneel) Lijst van parken, met per park id's van bomen (ref:id of coordinaten) | ||
[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/diff/diff_revisions_taxon.csv diff_revisions_taxon.csv] (optioneel) Lijst van verschillen tussen twee revisies van het gemeentebestand, gegenereerd met [[Perl_diff_revisions.pl]] | [https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/diff/diff_revisions_taxon.csv diff_revisions_taxon.csv] (optioneel) Lijst van verschillen tussen twee revisies van het gemeentebestand, gegenereerd met [[Perl_diff_revisions.pl]] | ||
[https://www.openbomenkaart.org/data/obk_in_gemeenten.csv obk_in_gemeenten.csv] Extract uit Wikipedia met cijfers per gemeente, nodig voor updaten obk_city_stats.csv | [https://www.openbomenkaart.org/data/obk_in_gemeenten.csv obk_in_gemeenten.csv] Extract uit Wikipedia met cijfers per gemeente, nodig voor updaten obk_city_stats.csv | ||
Regel 55: | Regel 54: | ||
voorbeeld voor Leiden: | voorbeeld voor Leiden: | ||
<table border=1> | |||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden_counts.csv obk_leiden-counts.csv]</td><td>Synopsis: totaal aantal bomen en soorten per park</td></tr> | |||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden_counts.txt obk_leiden-counts.txt]</td><td>Details: aantal bomen, per soort per park</td></tr> | |||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden.csv obk_leiden.csv]</td><td>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 | met per boom coordinaten, id, species, diameter, hoogte, plantjaar, kort label (bijv: '2028728'-Que rob), owner </td></tr> | ||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden.log obk_leiden.log]</td><td>Tellingen per veld, voor nerds </td></tr> | |||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_leiden.json obk_leiden.json]</td><td>Zelfde als volgende bestand (copy), alleen om bestandsnamen consequent te houden</td></tr> | |||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/trees_leiden.json trees_leiden.json]</td><td>Het bestand dat naar de OBK server wordt gecopieerd, om van daar door '''obk.htm''' opgehaald te worden</td></tr> | |||
<tr><td>obk_leiden.js</td><td>Variant van obk_leiden.json voor lokaal testen, bestand is met 1 regel uitgebreid, en wordt als javascript module geladen, zie ook [[Perl_obk_csv2json.pl_testen|hier]]</td></tr> | |||
<tr><td>[https://www.openbomenkaart.org/data/Leiden/Gemeente/2022_06_13/obk_park_trees_log.txt obk_park_trees_log.txt]</td><td>Log file met resultaten van verwerken van obk_park_trees.txt</td></tr> | |||
<tr><td>[https://www.openbomenkaart.org/data/obk_city_stats.csv obk_city_stats.csv]</td><td>Centraal statistics bestand info over laatste run voor alle gemeentes | |||
</table> | |||
==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 10:53
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
obk_leiden_in.csv Het gemeentebestand (na omzetting in Excel naar csv) obk_leiden_overpass_2023_01_23.json (optioneel) Extract uit OSM voor bomen die door ons zelf zijn geinventariseerd (en die in plaats komen van bomen data ut het gemeentebestand) obk_skip_trees.txt (optioneel) Nummers van bomen die niet uit het gemeentebestand geladen moeten worden want er is OSM een versie met recentere data, maar die niet matchen met gemeentenummers uit het gemeentebestand (procedure voor aanmaken van deze nummers nog te beschrijven) obk_park_trees.txt (optioneel) Lijst van parken, met per park id's van bomen (ref:id of coordinaten) diff_revisions_taxon.csv (optioneel) Lijst van verschillen tussen twee revisies van het gemeentebestand, gegenereerd met Perl_diff_revisions.pl obk_in_gemeenten.csv Extract uit Wikipedia met cijfers per gemeente, nodig voor updaten obk_city_stats.csv
Output
Als het goed is heb je nu een aantal nieuwe bestanden, aantal kan verschillen per gemeente. 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 bestand (copy), alleen om bestandsnamen consequent te houden |
trees_leiden.json | Het bestand dat naar de OBK server wordt gecopieerd, om van daar door obk.htm opgehaald te worden |
obk_leiden.js | Variant van obk_leiden.json voor lokaal testen, bestand is met 1 regel uitgebreid, en wordt als javascript module geladen, zie ook hier |
obk_park_trees_log.txt | Log file met resultaten van verwerken van obk_park_trees.txt |
obk_city_stats.csv | Centraal statistics bestand info over laatste run voor alle gemeentes |