Perl diff revisions.pl

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen

Terug naar Perl scripts

Script naam is eigenlijk diff_revisions.pl (incl underscore)

Doel van het script

Dit perl script kan twee bestanden met verschillende revisies voor gemeentelijke data vergelijken, en daaruit verschillenlijsten produceren.
Er zijn verschillende bestandsformaten voor gemeentelijke bomenbestanden. Dit script verwacht altijd input in csv formaat (Comma Separated Values).
Een Excel bestand (*.xlsx) kan je heel eenvoudig converteren (opslaan) als een csv bestand. Met QGIS kun je een shapefile converteren.

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.).
Oplossing is simpel: voeg als eerste lijn van het csv bestand (dus nog voor de headers) 'sep=;' toe. Voor verdere verwerking van het bestand met perl scripts is het raadzaam het bestand opnieuw op te slaan als een csv file. Die zal nu komma's bevatten, in plaats van punt-komma's

Het script verwacht dat de invoerbestanden al (oplopend) zijn gesorteerd op het eerste veld Id (dit kan in Excel).

Taxon namen

Twee van de uitvoerbestanden gaan over taxon namen (genus, species, cultivar) die veranderd, toegevoegd of verwijderd zijn:

  • een tekst bestand diff_revisions_taxon.txt is bedoeld als leesbaar overzicht.
  • een csv bestand diff_revisions_taxon.csv is bedoeld om verder te verwerken met een ander perl script obk_csv2json.pl. Dat script voegt in de json output 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 waarom dit er is en hoe het te gebruiken Veranderingen_in_taxonnamen_nalopen

Invoer uit csv uitgesplitst

Deze csv bestanden bevatten volledige regels uit de invoer, die in 1 of beide invoerbestanden voorkomen

Tekst bestanden

Deze bestanden rapporteren over verschillen tussen beide invoerbestanden, steeds over 1 veld in de invoer

het ene invoerbestand bevat coordinaten met meer decimalen dan het andere (nog aan te passen)