.

Configureren externe toepassingen

Het framework Processing kan worden uitgebreid met behulp van aanvullende toepassingen. Momenteel worden SAGA, GRASS, OTB (Orfeo Toolbox) en R ondersteund, naast enkele andere programma’s voor de opdrachtregel die functionaliteiten verschaffen voor analyses van ruimtelijke gegevens. Algoritmen die afhankelijk zijn van een externe toepassing worden beheerd in hun eigen provider van algoritmen.

Dit gedeelte zal u laten zien hoe het framework Processing te configureren zodat het deze aanvullende toepassingen opneemt, en zal het enkele bijzondere mogelijkheden uitleggen van de algoritmen die op hen gebaseerd zijn. Als u het systeem eenmaal juist hebt geconfigureerd, zult u in staat zijn externe algoritmen uit te voeren vanuit elke component, zoals de Toolbox of Grafische modellen bouwen, net zoals u doet met elk ander geo-algoritme.

Standaard zijn alle algoritmen, die afhankelijk zijn van een externe toepassing en niet worden meegeleverd met QGIS, niet ingeschakeld. U kunt ze inschakelen in het dialoogvenster Configuratie. Zorg er voor dat de corresponderende toepassing al is geïnstalleerd op uw systeem. Inschakelen van een provider voor een algoritme zonder de toepassing te installeren die het nodig heeft zal er voor zorgen dat de algoritmen verschijnen in de Toolbox, maar er zal een fout optreden als u probeert ze uit te voeren.

Dit is omdat de beschrijvingen van de algoritmen (nodig om het dialoogvenster Parameters te maken en de benodigde informatie over het algoritme te verschaffen) niet in elke toepassing zijn opgenomen, maar in plaats daarvan in QGIS. Dat is, zij maken deel uit van QGIS, dus heeft u ze in uw installatie, zelfs als u geen andere software heeft geïnstalleerd. Voor het uitvoeren van het algoritme dienen echter de binaries van de toepassing te zijn geïnstalleerd op uw systeem.

Een opmerking voor gebruikers van Windows

Dit hoofdstuk is bedoeld voor gevorderde gebruikers en gaat uit van QGIS met SAGA, GRASS en OTB integratie. Algoritmen die zichtbaar zijn in de vereenvoudigde weergave van de toolbox zullen beschikbaar zijn zonder verdere configuratie. Indien QGIS wordt geinstalleerd met OSGeo4W, selecteer dan ook SAGA en OTB.

Als u meer wilt weten over hoe deze providers werken, of als u enkele algoritmen wilt gebruiken die niet zijn opgenomen in de vereenvoudigde Toolbox (zoals R-scripts), lees dan verder.

Een opmerking met betrekking tot bestandsindelingen

Bij het gebruiken van externe software, betekent het openen van een bestand in QGIS niet dat het kan worden geopend en ook verwerkt kan worden in die andere software. In de meeste gevallen kan andere software lezen wat u hebt geopend in QGIS, maar in sommige gevallen hoeft dat niet zo te zijn. Bij het gebruiken van databases of ongebruikelijke bestandsindelingen, voor raster- of vectorlagen, zouden problemen kunnen optreden. Als dat gebeurd probeer dan goed bekende bestandsindelingen te gebruiken waarvan u weet dat zij door beide programma’s worden begrepen, en controleer de uitvoer in de console (in het dialoogvenster Historie) om meer te weten te komen over wat er fout gaat.

Bijvoorbeeld het gebruiken van GRASS rasterlagen is één geval waarbij u problemen kunt ondervinden en niet in staat zijn uw werk te voltooien als u een extern algoritme aanroept met een dergelijke laag als invoer. Deze lagen zullen, om deze reden, niet verschijnen als beschikbaar voor algoritmen.

U zou echter in het geheel geen problemen moeten ondervinden met vectorlagen, omdat QGIS automatisch converteert vanuit de originele bestandsindeling naar een die geaccepteerd wordt door de externe toepassing vóórdat de laag daaraan wordt doorgegeven. Dit zorgt voor extra verwerkingstijd, die significant zou kunnen zijn als de laag een enorme grootte heeft, wees dus niet verbaasd als het meer tijd vergt om een laag uit een DB-verbinding te verwerken dan het doet om een soortgelijk grootte die is opgeslagen in een shapefile te verwerken.

Providers die geen externe toepassingen gebruiken kunnen elke laag verwerken die u kunt openen in QGIS, omdat zij het voor analyse openen via QGIS.

Met betrekking tot uitvoerindelingen kunnen alle indelingen die worden ondersteund door QGIS als uitvoer worden gebruikt, zowel voor raster- als voor vectorlagen. Sommige providers ondersteunen bepaalde indelingen niet, maar zij kunnen allemaal worden geëxporteerd naar veelvoorkomende indelingen voor rasterlagen die later automatisch kunnen worden getransformeerd door QGIS . Net als in het geval van invoerlagen, als deze conversie nodig is, zou dat de verwerkingstijd kunnen verhogen.

Als de extensie van de gespecificeerde bestandsnaam bij het aanroepen van een algoritme niet overeenkomt met de extensie van een van de door QGIS ondersteunde indelingen, dan zal een achtervoegsel worden toegevoegd om een standaard indeling in te stellen. In het geval van rasterlagen wordt de extensie .tif gebruikt, waar .shp wordt gebruikt voor vectorlagen.

Een opmerking over selecties van vectorlagen

Externe toepassingen kunnen ook bewust worden gemaakt van de selecties die bestaan in vectorlagen binnen QGIS. Dat vereist echter het opnieuw schrijven van alle vectorlagen voor de invoer, net als wanneer zij origineel in een indeling waren die niet wordt ondersteund door de externe toepassing. Alleen wanneer er geen selectie bestaat, of de optie Alleen geselecteerde objecten gebruiken niet is ingeschakeld in de algemene configuratie van Processing, kan een laag direct worden doorgegeven aan een externe toepassing.

In andere gevallen is slechts het exporteren van de geselecteerde objecten nodig, wat er voor zorgt dat de benodigde tijd voor uitvoering langer wordt.

SAGA

Algoritmen voor SAGA kunnen worden uitgevoerd vanuit QGIS als u SAGA hebt geïnstalleerd op uw systeem en u het framework Processing juist heeft geconfigureerd, zodat het de uit te voeren bestanden van SAGA kan vinden. In het bijzonder is het uit te voeren bestand voor de opdrachtregel in SAGA nodig om algoritmen van SAGA uit te voeren.

Als u werkt op Windows bevatten zowel het zelfstandige installatieprogramma als het installatieprogramma OSGeo4W SAGA tezamen met QGIS, en het pad wordt automatisch geconfigureerd, dus is er hoeft er verder niets te worden gedaan.

Als u SAGA zelf hebt geïnstalleerd (onthoud: u heeft versie 2.1 nodig), moet het pad naar het uit te voeren bestand van SAGA worden geconfigureerd. Open het dialoogvenster Opties om dat te doen. In het blok SAGA vindt u een instelling genaamd SAGA Folder. Voer het pad in naar de map waar SAGA is geïnstalleerd. Sluit het dialoogvenster Opties en nu bent u gereed om algoritmen van SAGA uit te voeren vanuit QGIS.

Als u werkt op Linux zijn de binaries van, SAGA niet opgenomen in SEXTANTE, dus moet u de software zelf downloaden en installeren. bekijk de website van SAGA voor meer informatie. SAGA 2.1 is vereist.

In dit geval is het niet nodig om het pad naar het uit te voeren bestand van SAGA te configureren, en u zult deze mappen niet zien. In plaats daarvan dient u er voor te zorgen dat SAGA juist is geïnstalleerd en dat de map ervan is toegevoegd aan de omgevingsvariabele PATH. Open eenvoudigweg een console en typ saga_cmd om te controleren of het systeem kan vinden waar de binaries van SAGA zijn opgeslagen.

Over beperkingen van het SAGA rastersysteem

De meeste algoritmen van SAGA die meerdere invoerrasterlagen vereisen eisen dat zij hetzelfde rastersysteem hebben. Dat is, zij moeten hetzelfde geografische gebied bedekken en dezelfde celgrootte hebben, zodat hun overeenkomende rasters overeenkomen. Bij het aanroepen van algoritmen van SAGA vanuit QGIS kunt u elke laag gebruiken, ongeacht celgrootte en bereik ervan. Wanneer meerdere rasterlagen worden gebruikt als invoer voor een algoritme van SAGA, resampld QGIS ze naar een algemeen rastersysteem en geeft ze dan door aan SAGA (tenzij het algoritme van SAGA kan werken met lagen uit verschillende rastersystemen).

De definitie van dat algemene rastersysteem wordt beheerd door de gebruiker en u zult verschillende parameters vinden in de groep SAGA van het venster Opties om dat te doen. Er zijn twee manieren voor het instellen van de doel-rastersystemen:

  • Handmatig instellen. U definieert het bereik door het instellen van de volgende parameters:

    • Resampling min X
    • Resampling max X
    • Resampling min Y
    • Resampling max Y
    • Resampling cellsize

    Onthoud dat QGIS invoerlagen zal resamplen tot dat bereik, zelfs als ze er niet mee overlappen.

  • Automatisch instellen vanuit invoerlagen. Selecteer eenvoudigweg de optie Use min covering grid system for resampling om deze optie te selecteren. Alle andere instellingen zullen worden genegeerd en het minimum bereik dat alle invoerlagen bedekt, zal worden gebruikt. De celgrootte van de doellaag is het maximum van alle celgrootten van de invoerlagen.

Voor algoritmen die niet meerdere rasterlagen gebruiken, of voor die welke geen uniek rastersysteem voor invoer nodig hebben, wordt geen resamplen uitgevoerd vóór het aanroepen van SAGA end worden deze parameters niet gebruikt.

Beperkingen voor lagen met meerdere banden

Anders dan QGIS heeft SAGA geen ondersteuning voor lagen met meerdere banden. Als u een laag met meerdere banden wilt gebruiken (zoals een RGB of multispectrale afbeelding), dient u die eerst te splitsen in afbeeldingen met één band. U kunt het algoritme ‘SAGA/Grid - Tools/Split RGB image’ (wat drie afbeeldingen uit een RGB-afbeelding maakt) of het algoritme ‘SAGA/Grid - Tools/Extract band’ (om één enkele band te extraheren) gebruiken om dat te doen.

Beperkingen in celgrootte

SAGA gaat er van uit dat rasterlagen dezelfde celgrootte hebben in de X- en de Y-as. Als u werkt met een laag met verschillende waarden voor horizontale en verticale celgrootte, zou u onverwachte resultaten kunnen krijgen. In dat geval zal een waarschuwing worden toegevoegd aan het log van Processing, die aangeeft dat een invoerlaag niet geschikt zou kunnen zijn om te worden verwerkt door SAGA.

Loggen

Als QGIS SAGA aanroept doet het dat door middel van de interface voor de opdrachtregel, en dus door het doorgeven van een set opdrachten om alle vereiste bewerkingen uit te voeren. SAGA geeft zijn voortgang weer door informatie te schrijven naar de console, wat het percentage van reeds verrichte verwerking bevat, naast aanvullende inhoud. Deze uitvoer wordt gefilterd en gebruikt om de voortgangsbalk bij te werken terwijl het algoritme wordt uitgevoerd.

Zowel de opdrachten die zijn verstuurd door QGIS als de aanvullende informatie die is afgedrukt door SAGA kunnen worden gelogd naast andere logberichten voor de verwerking, en u zou ze handig kunnen vinden om tot in detail te kunnen zien wat er gebeurd als QGIS een algoritme van SAGA uitvoert. U zult twee instellingen vinden, namelijk Log console output en Log execution commands, om dat mechanisme voor het loggen te activeren.

De meeste andere providers die een externe toepassing gebruiken en die aanroepen via de opdrachtregel hebben soortgelijke opties, u zult ze dus ook op andere plaatsen in de lijst met instellingen voor Processing vinden.

R. Creating R scripts

Integratie van R in QGIS is anders dan die van SAGA op die manier dat er geen voorgedefinieerde set van algoritmen is die u kunt uitvoeren (uitgezonderd een aantal voorbeelden). In plaats daarvan zou u uw scripts moeten schrijven en opdrachten in R moeten aanroepen, net zoals u zou doen vanuit R, en op een hele soortgelijke manier als die welke we zagen in het gedeelte over scripts voor Processing. Dit gedeelte toont u de te gebruiken syntaxis om deze opdrachten in R te gebruiken vanuit QGIS en hoe objecten van QGIS (lagen, tabellen) er in te gebruiken.

Het eerste dat u moet doen, zoals we zagen in het geval van SAGA, is om QGIS te vertellen waar uw binaries van R zijn opgeslagen. U kunt dit doen door middel van het item R folder in het dialoogvenster Opties. Als u die parameter eenmaal hebt ingesteld, kunt u beginnen met het maken en uitvoeren van uw eigen scripts in R.

Nogmaals dit is anders in Linux en u dient er voor te zorgen dat de map R is opgenomen in de omgevingsvariabele PATH. Als u R kunt starten door slechts R in een console te typen, dan bent u klaar om te beginnen.

U dient een scriptbestand te maken dat het framework Processing vertelt hoe die bewerking moet worden uitgevoerd en de corresponderende opdrachten in R om dat te doen om een nieuw algoritme toe te voegen dat een functie in R aanroept (of een meer complex script in R dat u heeft ontwikkeld en dat u beschikbaar zou willen hebben vanuit QGIS),

Scriptbestanden van R hebben de extensie .rsx, en het maken ervan is redelijk eenvoudig als u basiskennis bezit van de syntaxis en scripten van R. Zij zouden moeten worden opgeslagen in de map voor scripts van R. U kunt deze map instellen in de groep met instellingen R (beschikbaar vanuit het dialoogvenster Opties), net zoals u doet met de map voor normale scripts voor Processing.

Laten eens kijken naar een heel eenvoudig scriptbestand, dat de methode in R spsample aanroept om een willekeurig raster te maken binnen de begrenzing van de polygonen in een bepaalde polygoonlaag. Deze methode behoort tot het pakket maptools. Omdat bijna alle algoritmen die u zou willen inbedden in QGIS ruimtelijke gegevens zullen gebruiken of genereren, is kennis van ruimtelijke pakketten zoals maptools en, speciaal, sp, verplicht.

##polyg=vector
##numpoints=number 10
##output=output vector
##sp=group
pts=spsample(polyg,numpoints,type="random")
output=SpatialPointsDataFrame(pts, as.data.frame(pts))

De eerste regels, die worden aangeduid met een Python commentaar symbool (##), geven QGIS informatie over de parameters van het algoritme en de resultaten die worden gegenereerd. De code gebruikt exact dezelfde syntaxis als de scripts voor SEXTANTE die al eerder voorbij kwamen en zal dus niet nogmaals worden beschreven.

Wanneer u een parameter voor de invoer declareert, gebruikt QGIS die informatie voor twee dingen: het maken van de interface om de gebruiker te vragen naar de waarde voor die parameter en het maken van een overeenkomstige variabele in R die later kan worden gebruikt als invoer voor opdrachten in R.

In het bovenstaande voorbeeld declareren we een invoer van het type vector genaamd polyg. Bij het uitvoeren van het algoritme zal QGIS in R de laag openen die is geselecteerd door de gebruiker en die opslaan in een variabele die ook is genaamd polyg. Dus de naam van een parameter is ook de naam van de variabele die we in R kunnen gebruiken voor de toegang tot de waarde van die parameter (dus zou u moeten vermijden om door R gereserveerde woorden als namen voor parameters te gebruiken).

Ruimtelijke elementen zoals vector- en rasterlagen worden gelezen met behulp van de opdrachten readOGR() en brick() (u hoeft zich geen zorgen te maken over het toevoegen van deze opdrachten aan uw bestand voor de beschrijving – QGIS zal dit voor u doen), en zij worden opgeslagen als objecten Spatial*DataFrame. Tabelvelden worden opgeslagen als tekenreeksen die de naam van het geselecteerde veld bevatten.

Tabellen worden geopend met behulp van de opdracht read.csv(). Als een door de gebruiker ingevoerde tabel niet in de indeling CSV is, zal die worden geconverteerd, voorafgaande aan het importeren in R.

Aanvullend kunnen rasterbestanden worden gelezen met behulp van de opdracht readGDAL() in plaats van met brick() door de ##usereadgdal te gebruiken.

Als u een gevorderde gebruiker bent en niet wilt dat QGIS het object maakt dat de laag vertegenwoordigt, kunt u de tag ##passfilename gebruiken om aan te geven dat u in plaats daarvan een tekenreeks met de bestandsnaam prefereert. In dat geval is het aan u om het bestand te openen vóórdat een bewerking wordt uitgevoerd op de gegevens die het bevat.

Met bovenstaande informatie kunnen we nu de eerste regel van ons eerste voorbeeldscript begrijpen (de eerste regel die niet begint met een opmerking in Python).

pts=spsample(polyg,numpoints,type="random")

De variabele polygon bevat al een object SpatialPolygonsDataFrame, dus kan het worden gebruikt om de methode spsample aan te roepen, net als numpoints, die het aantal punten aangeeft die moeten worden toegevoegd aan het gemaakte voorbeeldraster.

Omdat we al een uitvoer hebben gedeclareerd van het type vector genaamd out, moeten we een variabele genaamd out maken en er een object Spatial*DataFrame in opslaan (in dit geval een SpatialPointsDataFrame). U kunt elke naam gebruiken voor uw tussentijdse variabelen. Zorg er alleen voor dat de variabele die uw uiteindelijke resultaat opslaat dezelfde naam heeft als die welke u gebruikt om het te declareren, en dat het een geschikte waarde bevat.

In dit geval zal het resultaat dat wordt verkregen uit de methode spsample expliciet moeten worden geconverteerd naar een object SpatialPointsDataFrame, omdat het zelf een object van de klasse ppp is, wat geen geschikte klasse is om te worden teruggegeven aan QGIS.

Als uw algoritme rasterlagen genereert, is de manier waarop zij worden opgeslagen afhankelijk van het feit of u al dan niet de optie #dontuserasterpackage heeft gebruikt. Wanneer u die heeft gebruikt worden lagen opgeslagen met behulp van de methode writeGDAL(). Indien niet, zal de methode writeRaster() uit het pakket raster worden gebruikt.

Als u de optie #passfilename gebruikte, wordt de uitvoer gegenereerd met behulp van het pakket raster (met writeRaster()), zelfs als het niet is gebruikt voor de invoer.

Als uw algoritme geen laag genereert, maar in plaats daarvan een tekstresultaat in de console, dient u aan te geven dat u wilt dat de console wordt weergegeven als de uitvoering eenmaal is voltooid. Start eenvoudigweg de opdrachtregels die de resultaten produceren die u wilt afdrukken met het teken > (‘groter dan’) om dat te doen. De uitvoer van alle andere regels zal niet worden weergegeven. Hier is bijvoorbeeld het bestand voor de beschrijving van een algoritme dat een test voor normalen uitvoert op een bepaald veld (kolom) van de attributen van een vectorlaag:

##layer=vector
##field=field layer
##nortest=group
library(nortest)
>lillie.test(layer[[field]])

De uitvoer van de laatste regel wordt afgedrukt, maar de uitvoer van de eerste wordt dat niet (en ook de uitvoer van de andere opdrachtregels, die automatisch door QGIS werden toegevoegd, worden dat niet).

Als uw algoritme iets grafisch maakt (met behulp van de methode plot()), voeg dan de volgende regel toe:

##showplots

Dit zal er voor zorgen dat QGIS alle grafische uitvoer voor R zal omleiden naar een tijdelijk bestand, wat zal worden geopend als de uitvoering van R is voltooid.

Beide grafische en console-resultaten zullen worden weergegeven in het beheer van de resultaten van Processing.

Bekijk, voor meer informatie, de scriptbestanden die zijn opgenomen in SEXTANTE. De meeste daarvan zijn redelijk eenvoudig en zullen u enorm helpen te begrijpen hoe u uw eigen scripts kunt maken.

Notitie

De bibliotheken rgdal en maptools worden standaard geladen, dus hoeft u de twee overeenkomende opdrachten library() niet toe te voegen (u moet er alleen voor zorgen dat deze twee pakketten zijn geïnstalleerd in uw distributie van R). Echter, andere aanvullende bibliotheken die u denkt nodig te hebben moeten expliciet worden geladen. Voeg gewoon de benodigde opdrachten toe aan het begin van uw script. U dient er ook voor te zorgen dat de overeenkomstige pakketten in uw distributie van R, die gebruikt wordt door QGIS, zijn geïnstalleerd. Het framework Processing zorgt niet voor het installeren van de pakketten. Wanneer u een script uitvoert dat een pakket vereist dat niet is geïnstalleerd, zal de uitvoering mislukken en Processing zal proberen te ontdekken welke pakketten ontbreken. U dient die ontbrekende bibliotheken handmatig te installeren vóórdat u het algoritme kunt uitvoeren.

GRASS

Configureren van GRASS is niet veel anders dan het configureren van SAGA. Eerst moet het pad naar de map GRASS worden gedefinieerd, maar alleen als u werkt op Windows. Aanvullend zal een shell interpreter (gewoonlijk msys.exe, die aanwezig is in de meeste distributies van GRASS voor Windows) moeten worden gedefinieerd en ook het pad daarvoor worden ingesteld.

Standaard probeert het framework Processing zijn verbinding naar GRASS te configureren om de distributie van GRASS te gebruiken die wordt meegeleverd met QGIS. Dit zou op de meeste systemen zonder problemen moeten werken, maar als u problemen ondervindt, zou u de verbinding naar GRASS handmatig moeten configureren. ook als u een andere installatie van GRASS wilt gebruiken kunt u die instelling wijzigen en verwijzen naar de map waar die andere versie is geïnstalleerd. GRASS 6.4 is nodig om de algoritmen juist te laten werken.

Als u werkt op Linux hoeft u er slechts voor te zorgen dat GRASS correct is geïnstalleerd, en dat het zonder problemen kan worden uitgevoerd vanaf een console.

Algoritmen van GRASS gebruiken een regio voor berekeningen. Deze regio kan handmatig worden gedefinieerd met behulp van waarden die soortgelijk zijn aan die welke werden gebruikt in de configuratie van SAGA, of automatisch, met het minimum bereik dat alle gebruikte invoerlagen bedekt bij het elke keer uitvoeren van het algoritme. Als de laatste benadering het gedrag is dat u prefereert, selecteer dan de optie Use min covering region in de configuratie van de parameters in GRASS.

De laatste parameter die moet worden geconfigureerd is gerelateerd aan de kaartset. Een kaartset is nodig om GRASS uit te voeren en het framework Processing maakt een tijdelijke voor elke uitvoering. U moet specificeren of de gegevens waarmee u werkt geografische (lat/lon) coördinaten gebruikt of geprojecteerde.

GDAL

Er is geen aanvullende configuratie nodig om algoritmen van GDAL uit te voeren. Omdat zij al zijn opgenomen in QGIS kunnen de algoritmen hun configuratie daaruit afleiden.

Orfeo Toolbox

Algoritmen van Orfeo Toolbox (OTB) kunnen worden uitgevoerd vanuit QGIS als u OTB heeft geïnstalleerd op uw systeem en u QGIS juist heeft geconfigureerd, zodat het alle benodigde bestanden (gereedschappen voor de opdrachtregel en bibliotheken) kan vinden.

Net als in het geval van SAGA zijn de bibliotheken van OTB opgenomen in het zelfstandige installatieprogramma voor Windows, maar zij zijn niet opgenomen als u werkt op Linux, dus u dient de software zelf te downloaden en te installeren. Bekijk de website van OTB voor meer informatie.

Als OTB eenmaal is geïnstalleerd, start QGIS, open het dialoogvenster Opties en configureer de provider voor de algoritmen van OTB. In het blok Orfeo Toolbox (image analysis) vindt u alle instellingen die zijn gerelateerd aan OTB. Zorg er eerst voor dat algoritmen zijn ingeschakeld.

Configureer dan het pad naar de map waar de gereedschappen voor de opdrachtregel en de bibliotheken van OTB zijn geïnstalleerd:

  • nix Gewoonlijk verwijst OTB applications folder naar /usr/lib/otb/applications en OTB command line tools folder is /usr/bin.

  • win Als u het installatieprogramma van OSGeo4W gebruikt, installeer dan het pakket otb-bin en voer C:\OSGeo4W\apps\orfeotoolbox\applications in als OTB map Toepassingen en C:\OSGeo4W\bin als OTB map Gereedschappen voor opdrachtregel. Deze waarden zouden standaard moeten worden geconfigureerd, maar als u een andere installatie van OTB heeft, configureer ze dan met de overeenkomstige waarden op uw systeem.

TauDEM

U moet de gereedschappen voor de opdrachtregel van TauDEM installeren om deze provider te kunnen gebruiken.

Windows

Bekijk de thuispagina van TauDEM voor instructies over de installatie en voorgecompileerde binaries voor 32-bit en 64-bit systemen. BELANGRIJK: U heeft TauDEM 5.0.6 uitvoerbare bestanden nodig. Versie 5.2 wordt momenteel niet ondersteund.

Linux

Er zijn geen pakketten voor de meeste distributies van Linux, dus zou u TauDEM zelf moeten compileren. Installeer het eerst met uw favoriete pakketbeheerder, omdat TauDEM MPICH2 gebruikt. Als alternatief werkt TauDEM prima met Open MPI, dus kunt u dat gebruken in plaats van MPICH2.

Download de TauDEM 5.0.6 broncode en pak de bestanden uit in een map.

Open het bestand linearpart.h en na regel

#include "mpi.h"

voeg een nieuwe regel toe met

#include <stdint.h>

dan krijgt u

#include "mpi.h"
#include <stdint.h>

Sla de wijzigingen op en sluit het bestand. Open nu het bestand tiffIO.h, zoek de regel #include "stdint.h" en vervang de aanhalingstekens ("") door <>, zodat u krijgt

#include <stdint.h>

Sla de wijzigingen op en sluit het bestand. Maak een map om het te bouwen en cd daar naartoe

mkdir build
cd build

Configureer uw bouw met de opdracht

CXX=mpicxx cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..

en compileer dan

make

Tenslotte, om TauDEM te installeren in /usr/local/bin, voer uit

sudo make install