I’m a ham radio operator and use what’s called packet radio frequently. This is a mode that is essentially a computer network over radio. It’s useful to know the location of other packet stations so you know where you can “hop” to, by making multiple connections.

So I wrote some Python that automatically connects to different nodes and scrapes the stations they hear. I use an API to get the station locations based on callsign, and these locations are saved in a PostGIS database. I use GeoServer to serve up the layers you see in the webmap.

I’m wondering how I can improve this? Maybe someone has some ideas I can implement? I’ve tried adding a line layer to show a spiderweb of who can hear who, but it becomes a huge mess and causes the map to lag quite a bit.

This has been my first webmap so I’m sure there’s a lot to improve. Please critique away!

https://www.packetradiomap.com

  • em2
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I’m more familiar with ESRI products, but it’s proprietary, which I dislike. QGIS does a good job of providing similar tools but may require more steps to achieve.

    As for your connection idea, you could create separate layers for each group type and symbolize the thickness depending on the frequency values with a radial map. I say separate layers because I feel the visual would get cluttered really fast. Again, ESRI link, but there’s likely a QGIS or other available python codes you could search for.

    • minorsecondOPM
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      So I don’t think using QGIS will work for this because this map is dynamic - it is updated every 15 minutes. So anything I do will have to be in JavaScript using OpenLayers. Your points still stand though.

      • em2
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        You can use QGIS for the geoprocesses and symbology, then export the python code. You won’t need to open it and use it every time. Just import the required libraries for the processes you’d want. I’m not familiar with JavaScript though, so you would know best on what would work for you. Good luck! 😊