<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I used the open source project MapLibre to build a vector tile
      map server (<a href="https://github.com/maplibre/martin">martin</a>)
      of Open Street Maps data for the State of Oregon.  Having a vector
      tile server allows me the opportunity to create a 3 dimensional
      area (with some limitations) and display a model in it and have
      the model move about.  Everything is nice and crisp and does not
      suffer the distortions bit mapped images can cause.  I was
      experimenting with QGIS and the ThreeJS plugin and decided I had
      to have a vector tile server if I was going to be serious about 3D
      modeling with maps.  I was not inclined to subscribe to a
      commercial service nor give up my privacy.  So I built my own tile
      server.   While I'm currently working off of a SQLite database
      (~430 MB), the martin server (built in rust) ties in with PostGIS
      -- I haven't explored that as yet, it was enough to get the tile
      server with a tile set of the State of Oregon working on a TLS
      [fna SSL] server.   I have some working knowledge of databases
      given my previous employment for 24 years at the worlds largest
      database company. </p>
    <p>I started off with the <a
        href="https://github.com/openmaptiles/openmaptiles">Open Map
        Tiles </a>project and then modified their broken style sheet
      (with the help of the MapLibre <a
        href="https://github.com/maplibre/maputnik">Maputnik </a>project
      which also had problems I had to overcome) and got a tile server
      to work with Apache, I prefer Apache over Node.  (I'm a seasoned
      Gentoo Linux enthusiast and Node, like PHP, just gives me the
      willies.) Then I built the martin server in rust -- that was a
      piece of cake, and then the trick was to tie in the martin server
      with Apache and overcome CORS and proxy issues -- that took a
      tremendous amount of time.  A take-away: the paradigm is extremely
      fragile/brittle, one setting off and nothing renders.<br>
    </p>
    <p>I could not have gotten to where I am without the help of ChatGPT
      -- it's like having a junior software assistant to figure the
      mundane tasks that would take me a lot of time, e.g. creating a
      model simulation based on ads-b flight data so that it mimics in
      real time the actual flight in a 3D map environment.  Example: I
      said I had a model in a 3D map environment and wanted to feed it
      my captured ads-b data to make it simulate in real time the actual
      flight path.  Boom: proposed JavaScript to accomplish it.  I
      wanted a circular data set of artificial ads-b data to do testing
      with:  centered on my property on Court Street, 1/2 mil radius,
      sinusoidal elevation from 100 to 500 and back again in one cycle,
      intervals of coordinates every 1 second, or every 50
      milliseconds.  Boom: a Python script that creates a data set. 
      Then I thought it might be nice to generate the set on the fly
      within JavaScript so a user could create a model on a fly and then
      watch the aircraft fly the route.  Boom: ChatGPT converted the
      Python script to a JavaScript returning to me the array of data. 
      I got a lot of exercise as I went up the staircase from my
      basement office to tell my wife what miracle ChatGPT had performed
      in software design.  (AI can absolutely fail in historical data by
      "hallucinating" ~= lying.)  I'm ready to testify that given the
      right handling (and understanding of its limitations), AI will
      revolutionize software development.<br>
    </p>
    <blockquote>
      <p><a class="moz-txt-link-freetext" href="https://salemdata.net/johnpress/?p=170">https://salemdata.net/johnpress/?p=170</a></p>
    </blockquote>
    <p>Out of pocket costs: $0 (though I've now decided to obtain a
      premium account with ChatGPT for $20/month because I'm convinced
      it has saved 10s, if not 100s of hours).<br>
    </p>
    <p>My time -- only The Lord knows (a couple of months?).<br>
    </p>
    <p>I know everyone here are acolytes of ESRI, but some of us have to
      work on a shoestring on our own and believe in open source
      solutions.  I felt it appropriate to share this story and possibly
      inspire some considering open source alternatives.</p>
    <p>Cheers,</p>
    <p>John<br>
    </p>
    <div class="moz-signature">-- <br>
      <title>Email Rider</title>
      <p><font size="2" face="Verdana">John Laurence Poole<br>
          1566 Court ST NE<br>
          Salem OR 97301-4241<br>
          <br>
        </font></p>
    </div>
  </body>
</html>