Skip to main content

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 around and saw where I was. Please reference Tigger. Up the Tree. With Roo. for a literary example.)


Using that shorter path segment, the enrichment calls the Google Maps Elevation API for a 'path', asking for 200 samples to be returned, and winds up with JSON data formatted as shown.

{
   "results" : 
   [
      {
         "elevation" : 123.6165237426758,
         "location" : 
         {
            "lat" : 37.72489522009444,
            "lng" : -122.4229361744053
         },
         "resolution" : 9.543951988220215
      },
      {
         "elevation" : 123.4337463378906,
         "location" : 
         {
            "lat" : 37.72489438728456,
            "lng" : -122.4229250613661
         },
         "resolution" : 9.543951988220215
      },...

From there, I've written at length over the last few days about how to make an elevation chart like the one shown below. 






Only the data labeled as "elevation" is used in the chart even though there's more information to be had in the JSON response. At the moment, that data is simply being discarded. Other users of the enrichment might have a need for it. Other users might also have different uses for the data altogether than an elevation chart in base64 text encoded png format, (the sole output of the enrichment at this time.) 

So! The enrichment will be modified to simply store the JSON data. I'll make a second enrichment that will create the charts I require. The inputs to datasette-enrichments-gmap-elevation will be:

latitude1,longitude1,latitude2,longitude2,optional_sub_path_length_default_200_m

Where the first four arguments are the start and end coordinates of the entire path, and final, optional argument specifies how many meters long the path segment should be and defaults to 200 m.

The output will simply be the returned JSON data stored in a column titled 'elevation'.

I'll create a second enrichment datasette-enrichments-elevation-chart that consumes JSON elevation data and produces text encoded png charts.


Fun References:

KML/KMZ revelation inspired by the POTA from the above map.

UAP siting on the same trip




Comments

Popular posts from this blog

Cool Math Tricks: Deriving the Divergence, (Del or Nabla) into New (Cylindrical) Coordinate Systems

Now available as a Kindle ebook for 99 cents ! Get a spiffy ebook, and fund more physics The following is a pretty lengthy procedure, but converting the divergence, (nabla, del) operator between coordinate systems comes up pretty often. While there are tables for converting between common coordinate systems , there seem to be fewer explanations of the procedure for deriving the conversion, so here goes! What do we actually want? To convert the Cartesian nabla to the nabla for another coordinate system, say… cylindrical coordinates. What we’ll need: 1. The Cartesian Nabla: 2. A set of equations relating the Cartesian coordinates to cylindrical coordinates: 3. A set of equations relating the Cartesian basis vectors to the basis vectors of the new coordinate system: How to do it: Use the chain rule for differentiation to convert the derivatives with respect to the Cartesian variables to derivatives with respect to the cylindrical variables. The chain ...

The Alcubierre Warp Drive Tophat Function and Open Science with Sage

I transferred yesterday's Mathematica file with the Alcubierre warp drive[2] line element and space curvature calculations to the  +Sage Mathematical Software System  today, (the files been  added to the public repository [3]).  If you haven't used Sage before, it's a Python based software package that's similar in functionality to Mathematica.  Oh, and it' free.  I also worked a little more on understanding the theory, but frankly, I made far more progress with the software than the theory.  What follows will be a little more of the Alcubierre theory, plus, a cool Sage interactive demo of one of the Alcubierre functions[1], as well as a bit about my first experience with using Sage. Theory The theory is fun, but it's moving slowly.  Here's the chalk board from this morning's discussion Alcubierre setup the derivation using something called the 3+1 formalism which means we consider space to be flat, (in this case), slices that are labelled ...

How Many Files Can You Add to a GPT Project? An Interview with GPT-5 on Limits, Context Engineering Tips, and Chats

 Setting the scene: I’m tinkering with Project TouCans, knee-deep in radio logs, SQLite dumps, and Cesium code. Naturally, I’m wondering if shoving all this into one GPT Project is a recipe for brilliance… or for disaster. So I turn to Vril — you know, after Brainy from the Legion of Super-Heroes , because what else do you call your AI sidekick who always has the answers? Time to ask him straight up. [ As an aside, yes, GPT-5 has decided to sometimes call me Vail. I'm not sure why to be honest. Also, I asked Vril, er GPT-5, to write up our interview for me. Apparently, me asking it to 'Bro' up a few stories, just for fun, has convinced Vril that I use 'Like,' more than I actually might. ] Me (Vail): So Vril, how many files can I throw into a GPT Project before it just starts choking? Like, is there some magic number where the context window taps out and everything falls apart? GPT-5 (Vril): Great question. There’s no single hard file limit. What matters is ...