Perl scripts

Uit wiki.openbomenkaart.org
Versie door Eazy (overleg | bijdragen) op 18 jan 2023 om 14:59
Naar navigatie springen Naar zoeken springen

Installeer perl

  • Installeer Perl en een Integrated Development Environment (IDE)
  • Test met dit triviale perl script: hello_world.pl, als volgt
    • Klik +, rechtsboven in menu balk
    • Klik 'new file'
    • Copieer deze twee regels naar het nieuw bestand
#!/usr/bin/perl
print "Hello World!"
    • Sla op als (Save as) hello_world.pl
    • Voer script uit (Run) met F7
    • Check de output
      • Staat er "Hello world!" in het output venster?

Gefeliciteerd, je heb een werkende perl omgeving.

csv_match_revisions.pl

Perl script csv_match_revisions.pl kan twee CSV bestanden met gemeentelijke data vergelijken en daaruit een aantal verschillenlijsten produceren. Er zijn verschillende bestandsformaten voor gemeentelijke bomenbestanden. Het eenvoudigste voor ons doel is een CSV (Comma ==csv2json.pl== Perl script csv2json.pl voert een aantal bewerkingen uit op een bomenbestand.

Het is een beetje Q&D (Quick and Dirty). Zo moet je eerst wat regels in het script aanpassen, wanneer je van invoerbestand wilt wisselen.

Zelfs de naam had beter gekund, want intussen produceert het niet alleen een json bestand, maar ook een csv bestand.

Aug 2022: nu ook tellingen per park: aantal bomen, aantal soorten (park = 'park' in straatnaam, plus voor Leiden bekende namen van parken die dat niet hebben, bijv 'Leidse Hout')

Separated Values) of XLS(X) bestand (Excel spreadsheet). Een Excel bestand kan je heel eenvoudig exportereen naar een CSV bestand. Het script verwacht dat de invoerbestanden al (oplopend) zijn gesorteerd op het eerste veld Id (dit kan in Excel).

(Terzijde: de naam Comma Separated Values kan misleidend zijn. Excel hanteert verschillende scheidingstekens in verschillende landen. In de Nederlandse versie van Excel is het een punt-komma. Dit script verwacht echt komma's als scheidingstekens.)

Taxonnamen

Twee van de verschillenlijsten gaan over taxonnamen:

  • een tekst bestand Leiden Matched Revisions Diff Species.txt, bedoeld als leesbaar overzicht
  • een csv bestand Leiden Matched Revisions Diff Taxon.csv, bedoeld om verder te verwerken metcsv2json.pl. Dat script voegt in het json bestand extra tags toe waarmee je verschillen tussen gemeentelijke soortnamen in oude en nieuw bestand op een kaart kan markeren tijdens nalopen kan registreren wat de juiste naam is (de oude, of de nieuwe, of toch weer iets anders). Als je zo'n json bestand hebt met deze extra tags kun je die op de kaart zichtbaar maken door een extra parameter aan de url toe te voegen: checktaxon. Zie voor waarom dit er is en hoe het te gebruiken Veranderingen_in_taxonnamen_nalopen