Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 23

Thread: Heatmaps

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    I used GeoServer with a modified version of GeoTools. I never really finished the work so it's just been sitting in GitHub since then. https://github.com/smithkm/geotools/...-point-heatmap

    The same modification ought to be usable in any GeoTools based software that can use Processes. You might be able to use it with something like uDig.

  2. #2

    Default

    Can you please post some guidelines on how to set the programmes and how to draw such lines? I have not worked with GeoServer/Tools and I am not familiar with uDig either... unless it is very complicated and time consuming for you.

    Thank you

  3. #3
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    Quote Originally Posted by nameh View Post
    Can you please post some guidelines on how to set the programmes and how to draw such lines? I have not worked with GeoServer/Tools and I am not familiar with uDig either... unless it is very complicated and time consuming for you.
    If you're thinking of this as a graphics tool for "drawing lines" then this is not remotely the software for you. It's a spatial analysis tool which takes raw data like GPS traces and figures out how densely packed they are. Azelor's suggestion of using graphics software may be better. In essensce what the heatmap algorithm does is to draw shapes additively and then blur everything, then it's run through a colour map and optionally the contrast is stretched first. You can do much of that in graphics software. The benefit of this is that mostly that graphics software doesn't usually support high precision floating point channels or purely additive operations and doesn't support rasterizing GIS data, which it sounds like you don't have anyway. Also this is integrated with a full on GIS toolset.

  4. #4

    Default

    Quote Originally Posted by Hai-Etlik View Post
    If you're thinking of this as ...
    I was thinking about making a similar map of data gathered from my bike trips which were tracked by GPS. But if you say it is complicated I will believe you and will try making it with some other tools. Thank you anyway.

  5. #5

    Default

    If you can render the paths and overlay them meaningfully, then the heatmap approach still works, but I'm not sure how easy it will be to accomplish in typical graphics software. The process I am about to detail will work in any linear environment where you can use floating point colors and perform meaningful math on them.

    Render each of your paths as a white line on black. Then put all of the lines in a layer stack with a simple add blend mode. This will push your color way above white, so now you need to divide the result by the number of layers in your stack. That will normalize the image to put your brightest colors back to no brighter than white. Once you have that, you can use the technique of your choice to make a gradient out of it, adjust the gamma for a pleasing look, or whatever.

    Now, about that bit in the first paragraph: A linear, floating point environment is difficult to set up in the Gimp or Photoshop. I'm sure it can be done, but if I were performing this job, I'd probably use Blackmagic Fusion, which was conveniently just released for free. Fusion is a node-based image compositor used to make feature film visual effects. As such, it's ridiculously powerful, and a little difficult to wrap your brain around at first. If you'd like to go for it, though, I can set up a template for you and walk you through how to use it to achieve your goal. You can download the software here: https://www.blackmagicdesign.com/products/fusion

    And yes, it really is free.
    Bryan Ray, visual effects artist
    http://www.bryanray.name

  6. #6

    Default

    Quote Originally Posted by Midgardsormr View Post
    If you can ... Fusion is a node-based image compositor used to make feature film visual effects. As such, it's ridiculously powerful, and a little difficult to wrap your brain around at first. If you'd like to go for it, though, I can set up a template for you and walk you through how to use it to achieve your goal. You can download the software here: https://www.blackmagicdesign.com/products/fusion

    And yes, it really is free.

    Man this is awesome piece of software! Unfortunately for my hobby map it would be a huge time-killer. Before I say "thank you, but no", let me summarize the knowledge I gathered so far.

    A) I was thinking about a heat map of my rides. Road intersections have GPS coordinates
    B) However not being able to set up (in fact I don't know how easy/difficult would it be and what kind of knowledge one should have) GeoServer and GeoTools, I took the approach which was suggested - to use some graphics software instead. I chose Inkscape which I used for other map.
    C) I put my tracks on a paper map and divided them in sections (each being restricted by road intersection)
    D) Each section I numbered and each number I summed so basically I received the number of times I passed the section in real life
    E) These numbers I used to Normalize, to be able to calculate heat map colour (based on this formula: A_minimalist_heatmap_function)
    F) Until now everything was fine and made on paper

    1) I started drawing it in Inkscape so I made 1st layer which was a copy of a Google map road map
    2) the uppermost layer would be left for captions
    3) second layer would be used to draw lines = road sections as in D)
    3a) first problem occurred: If I run through the same road section once or multiple times it does not need to be divided at each road intersection (for time saving reason). However if in future I used part of the road, I would need to divide it at the intersection where I stepped in. How would I number the sections so I knew where in the map it would be? (some of the roads do not have a number in real life so a naming method would have to be made. For those roads that have numbers, it would be rather difficult t use real life system because they may be more than 60 miles in length). The only option which I was able to figure out, was a number followed by a letter. Still the road section may be split (e.g. 1, divided in 1a and 1b. 1b can still be divided in 1b and 1c, however when I split 1b, I need to name 1b as 1ba and 1bb so that 1c can remain). The new numbers must be maintained and updated in a table for colour normalization (point E)
    2b) There is one option how to resolve the issue in 2a) If I painted each track as a separate layer. But there would be problem with the fact that I would need to redraw each track individually but I don't know how it would work with colour merging so that the colours would make "heat map" effect.

    I probably wrote more than you are keen to read, but I did it even for me to summarize my work so far, so I could come back and knew what I did and where the dead ends were.

    Now comes the time to ask all of you and Midgardsormr especially. Have I put myself in a dead-end direction or am I going just through longer routes than necessary and would there be better tools or processes to use?

    Thank you all. And thank you Midgardsormr for your will to give me a hand with Fusion.

    BTW: sorry for typos and grammar mistakes as English is not my mother tongue

  7. #7

    Default

    It sounds to me as if you're doing an awful lot of computation by hand instead of allowing the computer to do what it's good at.
    Have you seen this? http://brunosan.eu/2012/07/20/a-heat...-in-runkeeper/

    You haven't said how you're getting your data out of your GPS, but from what I understand the .gpx format is fairly common.
    Bryan Ray, visual effects artist
    http://www.bryanray.name

  8. #8

    Default

    All the best in 2015 to all of you!

    Thank you Midgardsormr for the useful link. It helped a lot. I followed the steps and imported the data (gpx reformated to shapefile format) to Tilemill. I used the shapefile road data sets, so there would be no need to use Mapbox for a background (the more can be done localy the better :-)). The only thing I wasn't able to solve, is the "heatmap" coloring (the more is a particular segment used, the more it should be colored - a scaled intensity; or how should I call it).

    I came to a conclusion, which can be summarised as follows:
    Tilemill is not able (or I wasn't able) to 1) align tracks to a road grid, 2) each track (even if it was done on the same segment of a road) may be displaced in relation to another due to inaccuracy of GPS and GPS recording application, 3) this results in multiple lines being next to each other instead of being on top of the previous. Thus the colored line(s) will not result in a traditional heatmap (compare the cut-outs below).

    x.png y.png

    Anyway thank you for guiding me in a good direction which resulted in a nice map of my rides (rather sufficient for my level of drawing knowledge).

  9. #9

    Default

    Glad it worked to an acceptable degree. There's probably some method available to improve the registration of your tracks, but never having worked with GPS data at all, I couldn't give any guidance.
    Bryan Ray, visual effects artist
    http://www.bryanray.name

  10. #10
    Administrator waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    3,611

    Default

    The laziest way to reduce the impact of absolute accuracy is to increase the size of the individual spots or the width of the line segments. As the spots get larger, the jitter in samples becomes relatively smaller.

Page 2 of 3 FirstFirst 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •