Waarden uit een shapefile opleggen aan een raster

Auteur

Siebe Bosch (Hydroconsult)

Publicatiedatum

woensdag, 18 december 2024

Inleiding

In ontwerpsituaties kan het wenselijk zijn om bepaalde hoogtewaarden te implementeren in een hoogteraster. Denk bijvoorbeeld aan het verhogen van een fietspad.

HydroToolbox geeft de mogelijkheid om hoogtewaarden uit shapefiles rechtstreeks ‘in te branden’ in een hoogteraster.

  • Kies in het startscherm de optie ‘GIS’
  • Kies ‘grid operations’ - ‘adjust’ - ‘insert values from a shapefile’
  • Hier zitten twee opties:
    • attribuutwaarden uit een polygonenbestand opdrukken aan de onderliggende cellen
    • waarden uit een polyline-bestand opdrukken, gebruikmakend van een buffer rond de polylines

We bespreken beide opties.

Waarden uit een shapefile inbranden in een raster.

Waarden uit een shapefile inbranden in een raster.

Attribuutwaarden uit een polygonenbestand

De optie ‘from polygons, attribute values’ laat de gebruiker waarden uit de attribuuttabel van een polygoonbestand ‘inbranden’ in het onderliggende grid. Het is met deze functie ook mogelijk om een gradiënt in te branden. Zeer geschikt voor het inbranden van bijvoorbeeld de bodemhoogtes van ontworpen watergangen met verhang.

  • Klik op <..> achter Source Grid om het raster te kiezen wat moet worden aangepast
  • Klik op <..> achter Polyline shapefile om de shapefile te kiezen die de nieuwe waarden voor het raster bevat
  • Kies onder Method één van de twee methodes.

Attribuutwaarden uit een shapefile inbranden in een raster.

Attribuutwaarden uit een shapefile inbranden in een raster.

Voorbeeld van een watergang met gradiënt, ingebrand in een hoogteraster met behulp van deze functie.

Voorbeeld van een watergang met gradiënt, ingebrand in een hoogteraster met behulp van deze functie.
Method
Standaard is de methode ‘By values field’. In dat geval selecteert u het gegevensveld wat de nieuwe waarde (één waarde per polygoon) bevat, die zullen worden ingebrand in het grid. Geavanceerder is de methode ‘Gradient’. In dat geval geeft u aan welke velden resp. de ‘van’ en ‘naar’ waarden bevatten en de hoek (in graden t.o.v. de zuid-noord-as) waarover de gradiënt moet worden toegepast.

De geavanceerde ‘Gradient’-methode lichten we graag nog even toe. De werkwijze is als volgt:

  • Het polygoon wordt geroteerd, tegen de opgegeven gradienthoek in. Hierdoor komt de gewenste gradiënt verticaal te liggen en daarmee vervalt de noodzaak om met x-waarden te werken.
  • De kleinste y-coördinaat associeren we nu met de van-waarde voor de gradient. De grootste y-coördinaat met de naar-waarde.
  • Iedere cel in het grid die binnen het polygoon ligt roteren we eveneens. Dit geeft een nieuwe y-waarde
  • Door middel van interpolatie wordt de nieuwe waarde voor de cel bepaald op basis van de y-waarde na rotatie
  • De nieuwe waarde wordt ingebracht in het oorspronkelijke (niet geroteerde) grid

Een gradiënt definiëren door een van-waarde, naar-waarde en hoek.

Een gradiënt definiëren door een van-waarde, naar-waarde en hoek.

Na rotatie loopt de gradiënt verticaal, wat de berekening vergemakkelijkt.

Na rotatie loopt de gradiënt verticaal, wat de berekening vergemakkelijkt.
Options for target grid values
Deze optie geeft u de keuze om de oorspronkelijke gridwaarde te vervangen door de nieuwe waarde, de nieuwe waarde erbij op te tellen of alle waarden die onder het polygoon liggen te vervangen door nodata_value (geen waarde)
Replace values
De optie ‘Replace values’ laat u kiezen welke oorspronkelijke rasterwaarden überhaupt mogen worden aangepast door het algoritme. Alle waarden die buiten het geselecteerde bereik vallen worden ongemoeid gelaten.

Waarden uit een polyline-bestand

De optie ‘from polylines, with buffer’ geeft de gebruiker de mogelijkheid om een buffer rond de shapefile met polylines te leggen en de gewenste waardes in het onderliggende grid te branden.

De waarden zelf kunnen uit de attribuuttabel komen, maar ook uit de Z-waarden van de vectorpunten (alleen mogelijk als het een shapefile van het type polylineZ is).

  • Klik op <..> achter Source Grid om het raster te kiezen wat moet worden aangepast
  • Klik op <..> achter Polyline shapefile om de shapefile te kiezen wat de nieuwe waarden voor het raster gaat leveren
  • Kies onder Buffer Radius een straal rond de polylines. Let op: om te garanderen dat werkelijk alle cellen die de polyline doorkruist een nieuwe waarde krijgen is het raadzaam om ten minste de helft van de celresolutie als bufferstraal op te geven.

Waarden uit een shapefile inbranden in een raster.

Waarden uit een shapefile inbranden in een raster.
Shapefile options
Kies hier of de nieuwe waarden voor het raster moeten worden gehaald uit de Z-waarden van de polylines (alleen mogelijk voor PolylineZ files) of uit een attribuutveld. Selecteer in dat laatste geval in de selectielijst het veld wat de nieuwe rasterwaarden bevat.
Target options
Kies hier of de bestaande rasterwaarde moet worden vervangen, of dat de waarde uit de shapefile bij de bestaande rasterwaarde moet worden opgeteld of dat alle onderliggende cellen op nodata moeten worden gezet, dus inactief gemaakt.
Replace values
Selecteer hier welke waarden uit het raster mogen worden vervangen en dus welke ongemoeid moeten blijven.