Admin:Referentiekaart maken op basis van bomenbestand

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen
info box uit Wikipedia

Inleiding

We gaan een bomenbestand omwerken naar een referentiekaart. Dit doen we met QGIS.

Dit heeft twee toepassingen:

  • Op basis hiervan kan een tileset gegenereerd worden die je dan in de OSM editor kunt laden, om zo gegevens uit het gemeentebestand aan eigen waarnemingen te kunnen koppelen.
  • Je kunt het referentiekaart ook rechtstreeks in QGIS bekijken, zodat je details die in de tileset niet goed te herkennen zijn 'bij de bron' kan lezen.

Daartoe gaan we

  • Een bomenbestand inladen. We kiezen nu voor een CSV bestand, maar het kan ook een GEOJSON bestand o.i.d dergelijks zijn.
We gaan er hier van uit dat alle data die we nodig hebben al in het bestand aanwezig zijn. Dit is daarom vaak niet het originele gemeentebestand, maar een bewerkte versie.
Zie ook Invoerbestand converteren, b.v. GEOJSON -> CSV / Invoerbestand aanvullen met latitude longitude
  • Een OSM layer toevoegen, zodat we zien waar we zijn.
  • Boomnummers van de gemeente zichtbaar maken
  • Presentatie van datapunten aanpassen, zodat we boomsoorten makkelijker uit elkaar houden

Stap voor stap handleiding

We gebruiken in dit voorbeeld de volgende dataset trees_leiden_LL_totaal.csv die gebaseerd is op het gemeentelijk bomenbestand van Leiden, maar een aantal bewerkingen heeft ondergaan:

  • Aan het oorspronkelijke csv bestand zijn met QGIS velden long(itude) en lat(itude) toegevoegd (vandaar 'LL' in de bestandsnaam). Zie ook Invoerbestand_aanvullen_met_latitude_longitude
  • Een aantal velden zijn genormaliseerd en aangevuld door een eigen perl script csv2json.pl
  • Veld 'number_name' is toegevoegd, wat een verkorte notatie is die gemeentenummer en afgekort boomsoort bevat
Csv gemeentedata voor background in ID.png


Procedure:

  • Start QGIS
  • Kies menu Project / New
  • Sla dit project meteen op onder een nieuwe naam blabla.qgz.
We gaan een lange procedure in. Het is raadzaam regelmatig de tussenstand op te slaan, zodat je vandaar altijd opnieuw kunt beginnen.
Als deze procedure klaar is, kun je de referentiekaart meteen weer op het scherm toveren door deze QGZ file aan te klikken, en komt dan meteen op de positie en ingezoomd waar je was bij de laatste keer dat je ge-saved hebt, (aannemende dat je de onderliggende bestanden niet intussen verplaatst of hernoemd hebt).

Een bomenbestand inladen

  • Kies menu Layer / Add Layer /
Laag toevoegen


  • We selecteren de velden in het bestand voor de X en Y coordinaat: nu staan X en Y al ingevuld, maar soms kies je X=long(itude) of Lengtegraad, Y=lat(itude) of Breedtegraad
  • We selecteren de projectie: 'Geometry CRS', hier 'EPSG:4326 WGS84'
Er zijn heel veel coordinatenstels voor GIS, het fijne weet ik er niet van, maar in Nederlands is het vaak Amersfoort in de naam (= het midden van Nederland, bij de kerktoren)
  • Klik Add button
Dialoogbox


  • En daarna de bovenste regel in deze vervolgdialoggbox
Vervolgdialoogbox


  • klik OK button: en dit is het resultaat: een veelheid aan kleine cirkels (elk een boom)
Resultaat


Een OSM layer toevoegen

Dit is een heel eenvoudige stap.

Add XYZ layer


  • Je kunt misschien alleen OpenStreetMap selecteren (tenzij je al andere XYZ layers hebt aangemaakt)
Add XYZ layer


  • Klik Add
  • KIes zelfde projectie als eerder gedaan (bovenste)
  • Klik OK -> Je ziet nu OSM, en wel het gebied dat door de coordinaten in het bestand is bepaald (hier velden X en Y)
Resultaat


  • Helemaal rechtsonder staat ook een EPSG code: maak dit 'EPSG 3857'. Let op dit is de goede combinatie: Bomenlaag 'EPSG:4326 WGS84' en OpenStreetMap laag 'EPSG 3857'. Als je 2 keer dezelfde EPSG code kiest zie je niets!
De kaart heeft nu de juiste verhoudingen
  • In paneel 'Layers' wissel de layers om (slepen)
Voor het verwisselen van de volgorde van layers


Na het verwisselen van de volgorde van layers


  • Het resultaat
Resultaat


Boomnummers van de gemeente zichtbaar maken

  • Selecteer de layer met bomen
Selecteer icon 'Layer labelling options'


Selecteer icon 'Layer labelling options'


  • Kies
Single labels


  • Een veelheid aan instellingen (achter meerdere tabs) verschijnt
Veel instellingen


  • Resultaat: een getallenwolk
Getallenwolk


  • We kunnen de presentatie van de labels 'fijnafstemmen', bijvoorbeeld de letters kleiner maken, naar 'size = 7 points'
size = 7 points


  • Als er een (afgekorte) soort naam bekend is dan is er een scheidings teken '-'.
Door dit teken in te vullen bij 'wrap on character' wordt de tekst in twee segmenten gedeeld, en blijft deze dus dichtbij de boom-cirkel
N.B.: Deze afgekorte soortnaam is niet aanwezig in het oorspronkelijke gemeente bestand. Dit is toegevoegd door mijn script (kan ook in Excel).
N.B.2: Het is ook mogelijk om een keten van velden achter elkaar te zetten en deze apart te tonen als label. Klik hiervoor op de Epsilon achteraan de keuze Value onder Single labels. Allerlei bewerkingen zijn mogelijk maar de functie array_to_string(array) is hiervoor eenvoudig is te gebruiken. Als voorbeeld was in mijn geval (anders dan hier verder wordt getoond) dit dus: array_to_string(array ( "Boomnummer", "Code boomsoort", "Boomhoogte", "Stamdiameter [cm]" ) ,'_'). Let hierbij op het goede scheidingsteken als laatste deel in de regel. Sla deze op en dan kun je deze gecombineerde regel selecteren in de Value regel.
Wrap character '-'
Resultaat
  • Pas label placement aan
  • Kies menu Layer / Layer Properties
Kies Layer Properties


  • KIes placement
Mode: 'offset from point' / Klik bijv. quadrant rechtsmidden / Offset X: 2 millimeters
Label placement
Label placement

Kleuren van cirkels aanpassen

Download eerst bestand 'trees_symbology.qml' van de OpenBomenKaart site, en sla op.

Symbolen zijn onderdeel van een 'style'. We gaan deze style uit dit QML bestand importeren.

  • menu Layer / menu item Layer Properties
  • button Style / menu item Load Style
Load style from file


  • Selecteer bestand 'trees_symbology.qml'
Het bestand dat je net gedownload hebt


  • En presto: een aantal symbolen zijn geladen
Dit style bestand bevat alleen deze symbolen, maar er kan veel meer naar/van een QML bestand gebracht worden
Deze symbolen zijn geladen


Wat dit doet is: cirkels zullen gekleurd worden volgens de regels die hier staan (deze symbolen zijn rule-based). Controleer de veldnamen als er regels zijn overgenomen uit een bestand. Je geïmporteerde CSV bestand kan andere veldnamen bevatten dan die hier in een regel staan. Je kunt de regel eenvoudig aanpassen door de regel te selecteren en op de knop 'Refine selected rules' te drukken.

regel 2 bepaalt: Als het label de tekst 'Fraxinus' bevat, wordt de cirkel blauw gekleurd.
Dit zijn dezelfde kleuren die in de kaarten gebruikt worden.
Als geen van deze teksten voorkomt: toon dan een witte cirkel. (bovenste regel)
De witte cirkel betekent dus niet 'soort onbekend' o.i.d., maar niet een van de geslachten waarvoor een regel is gedefinieerd, overige dus ''

Achtergrond fletser maken

Dit doet de teksten (waar het om gaat) er meer uitspringen.

  • Selecteer OSM layer
Slecteer OSM layer


Twee dialoogboxen die hierbij van pas komen. Kies een van beide om de kaart fletser te maken.

  • menu Layer / menu item Layer properties / Layer Rendering / pas Gamma aan
gamma
of gebruik
gamma
  • Save het project voor de laatste maal (-> QGZ bestand)
De referentiekaart is nu klaar voor gebruik (rechtstreeks, of via tileset)

Zie ook