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!
Thanks! Clustering is something I’ve considered. I didn’t use any ESRI products for this project but there has got to be something available in OpenLayers. The jittering is a good idea as well. I may just do that for everything since being off by half a mile or so won’t be a big deal for this map’s purposes.
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.
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.
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! 😊