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!
You might consider clustering your points so it doesn’t look so busy when zoomed out. You may need certain licensing for this tool, so simply importing arcpy may not work, but could be worth a try. If that doesn’t work, look around for the QGIS equivalent tool, as they are open source.
You may want to add a legend/key that shows what each colored dot is equivalent to. I see the layer list in the top corner, but it doesn’t display what each layer corresponds to unless you flicker them on and off, or start clicking on random points. It may already exist and show up for browsers on PC, but doesn’t for smaller resolutions such as my phone’s browser.
My last suggestion would be to add a (non-visible) zip code/region/city layer and display the points with a general offset applied to all points for public viewing. You could possibly require a verified qrz login to see the more precise locations for each point. I know if I were on that site, I would like my location to be obfuscated in some way from the general public. Maybe get some input from your community on that?
Very cool map and it’s looking good!
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! 😊
deleted by creator