mappingapp – a tiny tool to map points along river networks

Posted on Updated on

TopoToolbox has a new tool. Ok, it’s a small tool with limited functionality, but it might be helpful if your aim is to map points along river networks. “Mapping points can be easily done in any GIS!”, you might think. True, but as I am currently working on knickpoints in river profiles (see also the automated knickpointfinder), I wrote this tool to quickly map knickpoints both in planform and profile view of the river network.

So, here is mappingapp. Give it a try.

DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
FD = FLOWobj(DEM);
S  = STREAMobj(FD,'minarea',1000);
DrZMINIW4AEMnH6.jpg large.jpg
mapping-app. A tiny tool to map knickpoints along river profiles.

Currently, the GUI is limited to a few basic tools. You can map a single point which automatically snaps to the river network S. The zoom tools allow you to navigate the DEM. You can add a new point using the + button. This will make the previous point permanent and add a new row to the table. Finally, the table can be exported to the workspace. The table contains the coordinates and z-values as well as a column IXgrid. IXgrid contains the linear indices into the DEM.

Controls of mappingapp

9 thoughts on “mappingapp – a tiny tool to map points along river networks

    Nisarg Bhatt said:
    November 16, 2018 at 5:37 am

    It is a very useful tool for mapping in GUI based platform, but as u mentioned how can we use this GUI after generating the Knickpoints profile and map

    wschwanghart responded:
    November 16, 2018 at 1:15 pm

    I have updated the description of this post that explains the four buttons.

      Nisarg said:
      November 18, 2018 at 7:23 pm

      Thanks a lot

    Kai said:
    December 3, 2018 at 8:27 pm

    I would like to visualize basins of different erosion rates on a map, I have the basin outlets and boundaries in shape file format, and I also have the basin-wide erosion rate for each basin I want to map. I don’t know if there is a convenient way in TopoToolbox to map these basins using a colormap based on a gradient of erosion rates. Thanks!

    wschwanghart responded:
    December 3, 2018 at 8:38 pm

    Sure, here’s a minimal example:

    DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
    FD = FLOWobj(DEM,'preprocess','carve');
    S  = STREAMobj(FD,'minarea',1000);
    % some random locations
    IX = randlocs(S,10);
    % with some random erosion rates
    erosrate = rand(size(IX));
    % get drainage basins of these locations
    D  = drainagebasins(FD,IX);
    % write to a new GRIDobj E
    E = GRIDobj(DEM)*nan;
    E.Z(D.Z~=0) = erosrate(D.Z(D.Z~=0));
    % plot it

    Hope this helps.

    Williamby said:
    December 25, 2018 at 1:14 pm

    Hello Wolfrang
    Firstly, Thank you for creating Topotoolbox, it is very useful.
    I need your help.
    I would like to extract the longitudinal profiles of rivers of my study area. Could help me about this ? Thank you very much…..

    Williamby said:
    December 25, 2018 at 7:48 pm

    Hello Wolfrang
    I need your help about one issue.
    Firstly, Thank you very much for creating Topotoolbox.
    I would like to extract Longitudinal profile of rivers of my study area using Topotoolbox but I dont know how I will do that. Could you help me please ?
    King Regards

      wschwanghart responded:
      December 26, 2018 at 8:09 am

      Hi. Please see the function plotdz and the example that you‘ll find by typing

      help plotdz

      In the command line.

        Williamby said:
        December 26, 2018 at 12:26 pm

        Thank you very much Wolfrang….

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.