Skip to main content

Posts

Finalizing Thoughts on the Elevation API Datasette Enrichment for Ham Radio QSO Paths

 I've outlined the work on the ham radio QSO Google Maps Elevation API Datasette Enrichment  (try saying that 3 times fast) over the last several days.  What I haven't talked about much, but thought about pretty often is what the released elevation enrichment should do. Here goes. The Datasette enrichment will store the JSON data returned from the Elevation format in a database column named 'elevation'. Remember, the enrichment is taking two coordinate pairs that form a QSO like the brown line shown between Villa Nueva, NM and Idaho (KJ7DT's QTH). It then determines the endpoint of a line that only covers the first 200 meters of that path, shown as the blue line below: (Yes, 8 year-old Tawnse and I were sitting on the side of the 'cliff' on the other side of the Pecos River from the campground during that QSO. Yes, Tawnse does have a lower center of gravity than I do and led me up that path. Yes, I did have a heck of a time getting back down once I turned
Recent posts

Things I Learned: Text Encoded Images Work in Google Earth KML Placemark Description Tags

 The project to add elevation profiles to each ham radio QSO on a QSO map is moving along. I've started to prototype inserting elevation charts into the map—via kml—of elevation profiles per QSO today. I had a slight bit of consternation that the charts might not be visible at all after coming across a post on stackoverflow that indicated text encoded images cannot be used as icons in kml files for Google Earth. I am happy to report however, that text encoded images in description fields for kml Placemark tabs work great! A tag like: <Placemark> <name>kj7dt </name> .............. <description> <![CDATA[<div width="400px"<h1>kj7dt </h1>Date/Time GMT: <div><br></div>"2023-02-12T21:58:00"<div><br></div><div><img width="100%" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAH.............. .......FTkSuQmCC"></div></div>]]></descr

Things I Learned: Text Alignment in the PyPlot text Method

 I learned how to arrange labels on PyPlot charts yesterday.  I've mentioned that the scales on the ham radio QSO elevation profiles weren't entirely comparable to one another. Due to the variety off hills, mountain ridges, and coasts the kids and I make POTA activations on, the vertical scales on the elevation chart y axes range from three meters in total to dozens of meters. What's important (and interesting) about the various sites though isn't the sheer number of meters of descent or ascent, but rather, the angle of the terrain with respect to level. That angle gets subtracted from the natural radiation angle of the dipole that houses Project TouCans and, theoretically, extends the distance that TouCans can transmit before bouncing off the F2 layer of the ionosphere. Consequently, rather than determining a scaling algorithm to make all the elevation profile graphs returned for the various QSOs comparable, I elected to simply calculate the slope of the terrain over

Ham Radio QSO Elevation Profiles Up and Running or ChatGPT to the Rescue

 The initial release of the ham radio QSO elevation profiles Datasette enrichment is up and running!  (In the next few days, I expect there to be several posts on this.) First, let's talk about the beauty of ChatGPT for personal coding challenges, my personal coding challenges. Over the course of the last week, I've tugged back and forth at the the problem of moving data from the Google Maps Elevation API into a png chart that I thought was going to be provided by the Google Chart API. All of this work taught me a lot, but did not produce useful results. Yesterday though, I had ChatGPT open seeing what sort of job it could do creating electronic circuit schematics (spoiler: the results aren't pragmatically useful yet, although, they are pretty.) Since I had the app open anyway, I popped over to my ongoing conversation with ChatGPT about my fictional friend Penelope. (You can see her prompt below.) Here's what I jotted down to see if Penelope could solve my charting issu

Week Notes: Time Stamps Restored; Elevation Elusive

 Eeeeeep! It's been, well, 11 days in since my last week notes. Sigh.... Here's what's been going on. I spent the first half of that ime working on getting the time stamps back into the ham radio qso kml maps, and I did it ! While working on this, I discovered that I didn't quite know how to include jinja templates inside other jinja templates. I figured it out though. Meanwhile, I've been methodically trying things as far as adding elevation plots to the kml maps. Things are moving along slowly ... and!!! ChatGPT may have just told me how to do the whole thing??? Anyway... Also! Data (and therefore Datasette) is good !

Data, Debug, and Past Ham Radio POTA Activations

 It's kinda awesome to have data! Earlier today I was working on the elevation profile project I've been writing about throughout the week. I've moved the project up to the point where an enrichment provides the elevation at the transmit location of the QSO, (my end of the path.) Looking at the results, at first I thought I must have introduced a bug at some point. The first two QSO elevations were meters and 3 meters high. That seemed awfully close to sea level, especially considering that most of my POTAs are made from the sides of various mountains. Looking at the table row for the 3 meter QSO I inspected the date: March 14th of 2024. I checked my photos to see where the gang and I were on that day and found this So! We were at just about sea level, that being the sea just to the right-hand side of the picture. What about the two meter high QSO? At this point it occurred to me that I didn't need to look back at pictures to see where we'd been on the 23rd of Ma

Paradigm Shift: Seaparating Data from Views aka Elevation Profiles aren't Ham Radio QSO Database Material

 I've been slowly but surely working through this week's ham radio QSO elevation profile project. The way I want to use the tool (Datasette) doesn't feel like a good fit for the tool. That's made things more difficult. In short, here's what I hope to achieve: Plot a partial QSO path for each contact from the transmitting station (me), about 10 wavelenghts or so out towards the receiving station, so about 200 meters or so in this case. This path should be on the kml map of the QSO This is done. Place a png picture of the elevation profile into the Datasette row for that QSO. This is what this post was about. Add this picture to the kml map as well. So! I think I was wrong! The point of this whole operation was to have elevation profiles directly available in kml animated maps. I wanted them to be automatically included with each QSO, but my ownw specification was that they should be in the map. Not the database! Basically, there's data, the dates, times, callsign