<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>osgav.run on osgav</title>
    <link>https://osgav.run/</link>
    <description>Recent content in osgav.run on osgav</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 14 Mar 2025 16:14:46 +0000</lastBuildDate><atom:link href="https://osgav.run/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>EPNM: access spurs</title>
      <link>https://osgav.run/blog/epnm-access-spurs.html</link>
      <pubDate>Fri, 14 Mar 2025 16:14:46 +0000</pubDate>
      
      <guid>https://osgav.run/blog/epnm-access-spurs.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve started working on my &lt;a href=&#34;https://osgav.run/portfolio/edinburgh-paths-network-map.html&#34;&gt;Edinburgh Paths Network Map&lt;/a&gt; again. The last thing I did was update the extent of the line layer that represents the paths themselves. The next thing I&amp;rsquo;m going to do is split out the &lt;em&gt;access spurs&lt;/em&gt; (the little entrance / exit bits) into their own layer.&lt;/p&gt;
&lt;p&gt;Initially the paths line layer contained only 88 features. Then I went wild and extended it much further than I&amp;rsquo;ve explored in real life which came to 830 features. Then I reigned it back in a bit and currently it contains 239 features. This is a better starting point. It&amp;rsquo;s the amount of path network I would show to someone visiting Edinburgh who wants to go for a nice walk somewhere. Thus I&amp;rsquo;m calling it the &lt;em&gt;primary path network.&lt;/em&gt; This leaves room for expanding it later with another layer perhaps, likely called &lt;em&gt;secondary path network&lt;/em&gt; or something.&lt;/p&gt;
&lt;p&gt;So it&amp;rsquo;s back to QGIS to split my primary paths network layer into two. A bunch of zooming in and out and panning and selecting later&amp;hellip; now I have 153 features in the primary path network and a new access spurs layer with 86 features.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; hold &lt;code&gt;Ctrl&lt;/code&gt; while zooming in and out and QGIS will zoom in and out slower. Conveniently you can also use &lt;code&gt;Ctrl + Click&lt;/code&gt; to select features, rather than using &lt;code&gt;Shift + Click&lt;/code&gt;, so you don&amp;rsquo;t have to hop between the two keys.&lt;/p&gt;
&lt;p&gt;The new access spurs layer is a bit rough. I appear to have missed a few tiny path segments here and there (usually stairs it seems). Fixing those later will be a good exercise in updating one of my line layers with fresh data extracts from QuickOSM. It&amp;rsquo;d also be useful to combine some segments together into a single feature I think. That way a specific access spur can be selected and treated as a whole. But then I&amp;rsquo;d lose the possibility of showing certain information. Like whether a chunk of stairs in the middle of an access spur has a handrail or not, for example. Hmmm. Not a decision for today though, just a thought.&lt;/p&gt;
&lt;p&gt;Ok next up is updating &lt;a href=&#34;https://github.com/osgav/edinburgh-paths-network&#34;&gt;the web map&lt;/a&gt; with the spur-less primary path network and adding the new access spurs layer. &lt;a href=&#34;https://github.com/osgav/edinburgh-paths-network/commit/62fd538cd3cacd3714e9bc004115a99dbe4c4ecc&#34;&gt;Added the new GeoJSON files&lt;/a&gt;. That was sufficient to trim all the spurs off the current map. Now to put the spurs back on the map, but this time in their own separate layer that I can style separately. &lt;a href=&#34;https://github.com/osgav/edinburgh-paths-network/commit/4df9dd5582165b60b8d144fc69eddbbd24ffff27&#34;&gt;Ok done&lt;/a&gt;. Now to &lt;a href=&#34;https://github.com/osgav/edinburgh-paths-network/commit/8c0859a98645f20bb3551aba7d61374ab4076958&#34;&gt;style them differently&lt;/a&gt; and only show them once you&amp;rsquo;ve &lt;a href=&#34;https://github.com/osgav/edinburgh-paths-network/commit/5eb70e9ec55a051507d44a3f9106617f67d9753c&#34;&gt;zoomed in closer&lt;/a&gt;. Done and done.&lt;/p&gt;
&lt;p&gt;Jolly good. I have a whole raft of ideas for things I&amp;rsquo;d like to try with this map but I&amp;rsquo;m not sure what I want to do next. I&amp;rsquo;ll probably revisit the green circles currently marking &amp;ldquo;access points&amp;rdquo; first and clean them up a bit while I consider the next thing.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Edinburgh Paths Network Map</title>
      <link>https://osgav.run/portfolio/edinburgh-paths-network-map.html</link>
      <pubDate>Mon, 10 Mar 2025 16:15:58 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/edinburgh-paths-network-map.html</guid>
      <description>A web map detailing a network of footpaths which highlights the entry and exit points.</description>
    </item>
    
    <item>
      <title>3000 days!</title>
      <link>https://osgav.run/blog/3000-days.html</link>
      <pubDate>Thu, 22 Aug 2024 08:43:57 +0000</pubDate>
      
      <guid>https://osgav.run/blog/3000-days.html</guid>
      <description>&lt;p&gt;My website is 3000 days old today &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. Wahey!&lt;/p&gt;
&lt;p&gt;I only know that because of the &amp;ldquo;osgav epoch&amp;rdquo; thing I added to my blog post archive page a few years ago &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;. In a more normal way of counting, it is the fairly insignificant age of 8 years and 2 months and 18 days old. But that&amp;rsquo;s boring. 3000 days is much more fun.&lt;/p&gt;
&lt;p&gt;I had a vague recollection of what inspired this osgav epoch thing so I&amp;rsquo;ve just gone and dug up the source of that: &lt;a href=&#34;https://wiki.xxiivv.com/site/arvelie.html&#34;&gt;https://wiki.xxiivv.com/site/arvelie.html&lt;/a&gt; &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Arvelie is definitely more obscure than counting up from zero. I like the result though. I remember wondering what the codes were the first time I browsed that website, and then eventually finding an explanation for them. Clearly I was very taken by it and came up with a simple imitation, which I have grown very fond of. Maybe I&amp;rsquo;ll try and add Arvelie to osgav.run some day? Maybe not? If I do, one thing is for sure though: the &lt;em&gt;osgav epoch&lt;/em&gt; will be right there next to it.&lt;/p&gt;
&lt;p&gt;Anyway, here&amp;rsquo;s to the next +1000! By which time osgav.run will be&amp;hellip; well it&amp;rsquo;ll be osgav epoch 4000 of course.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 110: toy plugin</title>
      <link>https://osgav.run/blog/weeknotes-110.html</link>
      <pubDate>Thu, 15 Aug 2024 15:12:34 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-110.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;my brother&amp;rsquo;s flat hunt is thoroughly complete now as i helped him move into his new place last week! he was indeed pleased with it, which pleased me, and the rest of the family too. crisis averted, phew!&lt;/li&gt;
&lt;li&gt;i finished the &lt;a href=&#34;https://spatialthoughts.com/2024/07/15/pyqgis-challenge/&#34;&gt;PyQGISChallenge&lt;/a&gt;! mostly! i&amp;rsquo;m about half way through putting together a toy plugin as the mini project for the last couple of days. i&amp;rsquo;ll post about that specifically once its done.&lt;/li&gt;
&lt;li&gt;and i sorted the last bit of OS upgrade aftermath, which was sorting out my geolab database again. this involved an excursion into the land of containers, which i haven&amp;rsquo;t visited for a while, to extract my postgres 13 database for loading into my new postgres 15 database. now everything is pretty much as it was a few weeks ago. jolly good!&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 109: gamification</title>
      <link>https://osgav.run/blog/weeknotes-109.html</link>
      <pubDate>Tue, 06 Aug 2024 20:44:46 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-109.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;io sono Gavin&lt;/li&gt;
&lt;li&gt;following some encouragement i started learning Italian on Duolingo – just to pick up a few phrases and words ahead of going to Italy for a holiday soon. having fun with that so far, well done Duolingo gamification&lt;/li&gt;
&lt;li&gt;visited a flea market and picked up a few old American road maps. one of them has a &lt;em&gt;really nice legend.&lt;/em&gt; i like it a lot. see below.&lt;/li&gt;
&lt;li&gt;the acquisition of yet more random old maps has spurred the creation of a new spreadsheet, as i&amp;rsquo;ve been meaning to start cataloguing my growing collection. i hope to have a page on my website for it some day, so having a spreadsheet in addition to a vague plan feels like a good step forward.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-109-kern-county-01.jpg&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-109-kern-county-01.jpg&#34; alt=&#34;photo of kern county map legend&#34; /&gt;
      
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-109-kern-county-02.jpg&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-109-kern-county-02.jpg&#34; alt=&#34;photo of kern county map cover&#34; /&gt;
      
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 108: mostly terrible</title>
      <link>https://osgav.run/blog/weeknotes-108.html</link>
      <pubDate>Tue, 06 Aug 2024 20:12:13 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-108.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;thoroughly enjoyed the lack of flat viewings this week&lt;/li&gt;
&lt;li&gt;also continuing to enjoy the &lt;a href=&#34;https://spatialthoughts.com/2024/07/15/pyqgis-challenge/&#34;&gt;PyQGISChallenge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;upgraded Fedora Linux on my laptop (finally! i&amp;rsquo;ve been &lt;em&gt;slightly&lt;/em&gt; out of date for &lt;em&gt;slightly&lt;/em&gt; too long)&lt;/li&gt;
&lt;li&gt;working through the OS upgrade aftermath, things are very nearly all operational again&lt;/li&gt;
&lt;li&gt;visited the zoo for the first time in i don&amp;rsquo;t know how many years, was a jolly good afternoon. the trip was pretty much on a whim after discovering there were a bunch of LEGO® models there for only a few more days. had fun guessing the brick counts as we approached them. my guesses were mostly terrible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-108-lego-orangutan.jpg&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-108-lego-orangutan.jpg&#34; alt=&#34;orangutan made of lego&#34; /&gt;
      &lt;figcaption&gt;4 builders, 180 hours, 49322 bricks&lt;/figcaption&gt;
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 107: you&#39;re a woman, i&#39;m a machine</title>
      <link>https://osgav.run/blog/weeknotes-107.html</link>
      <pubDate>Wed, 24 Jul 2024 20:16:23 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-107.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;the flat hunt is complete! woohoo! next stop, moving day&lt;/li&gt;
&lt;li&gt;so very glad the flat viewings will cease. there were fun days, but also tiring days. i&amp;rsquo;m really happy with the flat my brother will be moving into, it will suit him down to the ground&lt;/li&gt;
&lt;li&gt;saw Death From Above 1979 in Glasgow last week and it was damn good – the 20 year anniversary of &lt;a href=&#34;https://en.wikipedia.org/wiki/You%27re_a_Woman,_I%27m_a_Machine&#34;&gt;You&amp;rsquo;re a Woman, I&amp;rsquo;m a Machine&lt;/a&gt; so they just played the album start to finish, and then some new tunes i&amp;rsquo;m less familiar with afterwards&lt;/li&gt;
&lt;li&gt;had some dinner at Buck&amp;rsquo;s Bar before the gig and was defeated, in the sense i had to use a knife and fork to consume the burger, i felt shame, very tasty though&lt;/li&gt;
&lt;li&gt;started the &lt;a href=&#34;https://spatialthoughts.com/2024/07/15/pyqgis-challenge/&#34;&gt;PyQGISChallenge&lt;/a&gt; from Spatial Thoughts – the same idea as 30DaysOfQGIS in May, but this time going through the &lt;a href=&#34;https://courses.spatialthoughts.com/pyqgis-masterclass.html&#34;&gt;PyQGIS course materials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 106: bookshops</title>
      <link>https://osgav.run/blog/weeknotes-106.html</link>
      <pubDate>Wed, 17 Jul 2024 09:36:09 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-106.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;added my phone to my Tailscale network so i can test web maps on mobile more effectively – this was spurred by noticing &lt;code&gt;100vh&lt;/code&gt; as a height unit in my CSS didn&amp;rsquo;t behave as expected on mobile vs &lt;em&gt;Responsive Design Mode&lt;/em&gt; in my web browser (it turns out &lt;code&gt;100dvh&lt;/code&gt; is what i was after)&lt;/li&gt;
&lt;li&gt;did a little more work on my new &lt;a href=&#34;https://osgav.run/files/gis/edinburgh-bookshops/mobile.html&#34;&gt;Edinburgh Bookshops&lt;/a&gt; web map and uploaded it to osgav.run (that link might break in the future&amp;hellip; if it has you can probably find the map via my &lt;a href=&#34;https://osgav.run/portfolio.html&#34;&gt;portfolio&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;started tinkering with customizing the protomaps basemap&lt;/li&gt;
&lt;li&gt;continued helping my brother with his flat hunt&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 105: sporty spice</title>
      <link>https://osgav.run/blog/weeknotes-105.html</link>
      <pubDate>Wed, 17 Jul 2024 09:28:22 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-105.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;flat viewings will continue until moral improves.&lt;/li&gt;
&lt;li&gt;i started playing around with a &lt;a href=&#34;https://devrant.com/rants/1864706/unfinished-projects&#34;&gt;new side project&lt;/a&gt; – a friend was in town and they have plans to visit all the bookshops, take photos of them, and make a collage. so naturally i found an excuse to introduce a map element, and started a new web map. we didn&amp;rsquo;t get a chance to try it out properly though. next time!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-105-sporty-spice.jpg&#34; alt=&#34;graffiti that says sporty spice&#34; /&gt;
      
    &lt;/figure&gt;
  

&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 104: buzzer puzzle</title>
      <link>https://osgav.run/blog/weeknotes-104.html</link>
      <pubDate>Fri, 05 Jul 2024 15:50:47 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-104.html</guid>
      <description>&lt;p&gt;where was i again? ah yes. taking a raspberry pi project off the backburner and contemplating new projects as always. for the last few weeks i&amp;rsquo;ve been largely consumed by helping my brother with an unexpected flat hunt. it may or may not be nearing the end, next week should decide that. i am hopeful. i have viewed many flats and completed many buzzer puzzles (i should have taken a picture of the most cryptic one, alas i did not). i don&amp;rsquo;t relish the thought of more flat viewings but if needs must then flats i will view.&lt;/p&gt;
&lt;p&gt;the space for my new raspberry pi has been prepared, but the raspberry pi is yet to move in. it will be a new neighbour for my raspberry pi that supplies power to my &lt;a href=&#34;https://osgav.run/blog/ripe-atlas-network.html&#34;&gt;RIPE Atlas Probe&lt;/a&gt;. i&amp;rsquo;m sure they&amp;rsquo;ll get on great. more to come on the new raspberry pi soon, hopefully.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 101: plotting projects</title>
      <link>https://osgav.run/blog/weeknotes-101.html</link>
      <pubDate>Wed, 12 Jun 2024 10:50:16 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-101.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;finished up 30DaysOfQGIS! it was a lot of fun. 10/10 recommend for people interested in QGIS. i&amp;rsquo;m now plotting projects where i can play around with the Model Designer some more.&lt;/li&gt;
&lt;li&gt;made some progress on a RPi-based homelab project i&amp;rsquo;ve had on the backburner for ages, by way of acquiring an RPi4 and beginning to prepare the space in which it will live&lt;/li&gt;
&lt;li&gt;played around with scrapy a little bit&lt;/li&gt;
&lt;li&gt;collected my recent geolab-related pages into a &lt;a href=&#34;https://osgav.run/portfolio/postgis-geodatabase.html&#34;&gt;portfolio page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>PostGIS Geodatabase</title>
      <link>https://osgav.run/portfolio/postgis-geodatabase.html</link>
      <pubDate>Tue, 11 Jun 2024 14:07:27 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/postgis-geodatabase.html</guid>
      <description>user manual / cheatsheet: geolab PostGIS Server Manual</description>
    </item>
    
    <item>
      <title>weeknotes 100: housekeeping</title>
      <link>https://osgav.run/blog/weeknotes-100.html</link>
      <pubDate>Thu, 06 Jun 2024 10:33:24 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-100.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;weeknotes 100!&lt;/li&gt;
&lt;li&gt;its just shy of 2 years since i started (occasionally) writing weeknotes&lt;/li&gt;
&lt;li&gt;and 40 weeks since i changed my weeknotes naming convention&lt;/li&gt;
&lt;li&gt;as per last week i was &lt;a href=&#34;https://osgav.run/lab/dataset-global-powerplants.html&#34;&gt;loading&lt;/a&gt; &lt;a href=&#34;https://osgav.run/lab/dataset-os-addressbase.html&#34;&gt;some&lt;/a&gt; &lt;a href=&#34;https://osgav.run/lab/dataset-supermarket-retail-points.html&#34;&gt;datasets&lt;/a&gt; into my new &lt;em&gt;geolab&lt;/em&gt; database. this effort led to doing some housekeeping of my GIS folder on my filesystem. i might write about that separately later.&lt;/li&gt;
&lt;li&gt;i played around with some temporal data in QGIS for the first time, making a couple of animations (per 30DaysOfQGIS)&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>dataset: Supermarket Retail Points</title>
      <link>https://osgav.run/lab/dataset-supermarket-retail-points.html</link>
      <pubDate>Thu, 30 May 2024 13:23:49 +0000</pubDate>
      
      <guid>https://osgav.run/lab/dataset-supermarket-retail-points.html</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;code&gt;created: 30/05/2024&lt;/code&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;updated: 30/05/2024&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;dataset-source&#34; class=&#34;relative group&#34;&gt;&lt;strong&gt;dataset source&lt;/strong&gt; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#dataset-source&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;source:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://geolytix.com/blog/supermarket-retail-points/&#34;&gt;https://geolytix.com/blog/supermarket-retail-points/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Retail Points is a comprehensive data set of supermarket and convenience store locations across the UK. Geolytix release this as open data allowing for unrestricted use, no licensing requirements and without cost.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;loading-into-geolab&#34; class=&#34;relative group&#34;&gt;&lt;strong&gt;loading into geolab&lt;/strong&gt; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#loading-into-geolab&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;connect to geolab database:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql -h localhost -U geolab -d geolab -W
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html#source-schemas&#34;&gt;source schema&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SCHEMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__geolytix&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create table:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__geolytix&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;supermarket_retail_points_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;PRIMARY&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;KEY&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;retailer&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;36&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fascia&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;29&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;store_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;60&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add_one&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;76&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add_two&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;34&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;town&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;41&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;suburb&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;28&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;postcode&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;long_wgs&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lat_wgs&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bng_e&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bng_n&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pqi&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;28&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;open_date&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;size_band&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;38&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;county&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;24&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;load data into geolab source schema:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__geolytix&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;supermarket_retail_points_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;geolytix_retailpoints_v31_202403.csv&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;WITH&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;FORMAT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;csv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HEADER&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QUOTE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html#topic-schemas&#34;&gt;topic schema&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SCHEMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;supermarkets&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create view:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;N.B. using a view is slower than a table because the geometry is constructed every time the view is queried.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;VIEW&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;supermarkets&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;retailer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fascia&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;store_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add_one&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add_two&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;town&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;suburb&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;postcode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;long_wgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lat_wgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bng_e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bng_n&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pqi&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;open_date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;size_band&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;county&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ST_SetSRID&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ST_MakePoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;long_wgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lat_wgs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4326&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geom&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__geolytix&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;supermarket_retail_points_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>dataset: OS AddressBase</title>
      <link>https://osgav.run/lab/dataset-os-addressbase.html</link>
      <pubDate>Thu, 30 May 2024 10:24:23 +0000</pubDate>
      
      <guid>https://osgav.run/lab/dataset-os-addressbase.html</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;code&gt;created: 30/05/2024&lt;/code&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;updated: 30/05/2024&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;dataset-source&#34; class=&#34;relative group&#34;&gt;&lt;strong&gt;dataset source&lt;/strong&gt; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#dataset-source&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;source:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ordnancesurvey.co.uk/products/addressbase&#34;&gt;https://www.ordnancesurvey.co.uk/products/addressbase&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;AddressBase matches 29 million Royal Mail postal address to unique property reference numbers (UPRN), bringing a new dimension to the matched records.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;loading-into-geolab&#34; class=&#34;relative group&#34;&gt;&lt;strong&gt;loading into geolab&lt;/strong&gt; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#loading-into-geolab&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;connect to geolab database:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql -h localhost -U geolab -d geolab -W
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html#source-schemas&#34;&gt;source schema&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SCHEMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__ordnance_survey&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;convert field names from &lt;code&gt;addressbase-header.csv&lt;/code&gt; to lowercase:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ cat addressbase-header.csv &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed s&lt;span class=&#34;s1&#34;&gt;&amp;#39;/,/\n/g&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; python -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;import sys; [print(line.strip().lower()) for line in sys.stdin.readlines()]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uprn
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;os_address_toid
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;udprn
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;organisation_name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;department_name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;po_box_number
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sub_building_name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;building_name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;building_number
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dependent_thoroughfare
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;thoroughfare
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;post_town
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;double_dependent_locality
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dependent_locality
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;postcode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;postcode_type
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;x_coordinate
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;y_coordinate
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;latitude
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;longitude
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rpc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;country
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;change_type
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;la_start_date
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm_start_date
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;last_update_date
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;class
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create table:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__ordnance_survey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addressbase_sample_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uprn&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;PRIMARY&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;KEY&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;os_address_toid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;udprn&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;organisation_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;55&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;department_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;po_box_number&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sub_building_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;25&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;building_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;building_number&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dependent_thoroughfare&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;thoroughfare&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;post_town&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;double_dependent_locality&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;25&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dependent_locality&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;postcode&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;postcode_type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x_coordinate&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;y_coordinate&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latitude&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;longitude&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rpc&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;country&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;change_type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;la_start_date&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rm_start_date&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;last_update_date&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;stick field names on the data:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ cat addressbase-header.csv sx9090.csv &amp;gt; addressbase.csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;load data into geolab source schema:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__ordnance_survey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addressbase_sample_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addressbase&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;csv&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;WITH&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;FORMAT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;csv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HEADER&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QUOTE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html#topic-schemas&#34;&gt;topic schema&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SCHEMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addressbase&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create view:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;N.B. using a view is slower than a table because the geometry is constructed every time the view is queried.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;VIEW&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addressbase&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sample&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uprn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;os_address_toid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;udprn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;organisation_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;department_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;po_box_number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sub_building_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;building_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;building_number&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dependent_thoroughfare&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;thoroughfare&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;post_town&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;double_dependent_locality&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dependent_locality&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;postcode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;postcode_type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x_coordinate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;y_coordinate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;longitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rpc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;country&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;change_type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;la_start_date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rm_start_date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;last_update_date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ST_SetSRID&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ST_MakePoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;longitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4326&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geom&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__ordnance_survey&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;addressbase_sample_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 99: penguin photos</title>
      <link>https://osgav.run/blog/weeknotes-99.html</link>
      <pubDate>Wed, 29 May 2024 19:18:06 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-99.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;finished up my geolab database bootstrap scripts&lt;/li&gt;
&lt;li&gt;started loading some datasets into geolab&lt;/li&gt;
&lt;li&gt;did some more 30DaysOfQGIS&lt;/li&gt;
&lt;li&gt;started reading &lt;a href=&#34;https://brr.fyi&#34;&gt;https://brr.fyi&lt;/a&gt; per a recommendation from a friend – a blog from someone deployed to Antarctica to do IT stuff. the blogger has &amp;ldquo;always been a fan of remote infrastructure, logistics, and energy systems&amp;rdquo; so rather than a steady supply of penguin photos the About page informs me i&amp;rsquo;m more likely to get a steady supply of &amp;ldquo;tedious posts about infrastructure&amp;rdquo; – sounds good to me!&lt;/li&gt;
&lt;li&gt;decided to investigate &lt;a href=&#34;https://scrapy.org/&#34;&gt;scrapy&lt;/a&gt; in relation to the web scraper i mentioned in &lt;a href=&#34;https://osgav.run/blog/data-pipeline-plans.html&#34;&gt;data pipeline plans&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>dataset: Global Powerplants</title>
      <link>https://osgav.run/lab/dataset-global-powerplants.html</link>
      <pubDate>Tue, 28 May 2024 14:55:03 +0000</pubDate>
      
      <guid>https://osgav.run/lab/dataset-global-powerplants.html</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;code&gt;created: 28/05/2024&lt;/code&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;code&gt;updated: 28/05/2024&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;dataset-source&#34; class=&#34;relative group&#34;&gt;&lt;strong&gt;dataset source&lt;/strong&gt; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#dataset-source&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;source:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.wri.org/research/global-database-power-plants&#34;&gt;https://www.wri.org/research/global-database-power-plants&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://datasets.wri.org/dataset/globalpowerplantdatabase&#34;&gt;https://datasets.wri.org/dataset/globalpowerplantdatabase&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;via:&lt;/strong&gt; &lt;a href=&#34;https://simonwillison.net&#34;&gt;Simon Willison&lt;/a&gt; / &lt;a href=&#34;https://global-power-plants.datasettes.com/&#34;&gt;https://global-power-plants.datasettes.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;from the WRI page:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Global Power Plant Database is a comprehensive, open source database of power plants around the world. It centralizes power plant data to make it easier to navigate, compare and draw insights for one’s own analysis. The database covers approximately 30,000 power plants from 164 countries and includes thermal plants (e.g. coal, gas, oil, nuclear, biomass, waste, geothermal) and renewables (e.g. hydro, wind, solar). Each power plant is geolocated and entries contain information on plant capacity, generation, ownership, and fuel type. It will be continuously updated as data becomes available.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;from &lt;a href=&#34;https://github.com/wri/global-power-plant-database&#34;&gt;https://github.com/wri/global-power-plant-database&lt;/a&gt; (the code used to create it):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This project is not currently maintained by WRI. There are no planned updates as of this time (early 2022). The last version of this database is version 1.3.0. If we learn of active forks or maintained versions of the code and database we will attempt to provide links in the future.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;loading-into-geolab&#34; class=&#34;relative group&#34;&gt;&lt;strong&gt;loading into geolab&lt;/strong&gt; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#loading-into-geolab&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;connect to geolab database:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psql -h localhost -U geolab -d geolab -W
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html#source-schemas&#34;&gt;source schema&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SCHEMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__world_resources_institute&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create table:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;N.B. note the &lt;code&gt;rowid&lt;/code&gt; field. this is present in an export from Simon&amp;rsquo;s datasette, but it will not be present in the download from WRI.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;TABLE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__world_resources_institute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;global_powerplants_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rowid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;PRIMARY&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;KEY&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;country&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;country_long&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;87&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gppd_idnr&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;capacity_mw&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latitude&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;longitude&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;primary_fuel&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other_fuel1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other_fuel2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other_fuel3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;commissioning_year&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;owner&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;140&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;73&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;795&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolocation_source&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;83&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;wepp_id&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;25&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;year_of_capacity_data&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2013&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2014&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2015&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2016&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2017&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2018&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2019&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_data_source&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;73&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2013&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2014&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2015&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2016&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2017&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;numeric&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2013&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2014&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2015&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2016&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2017&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;varchar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;load data into geolab source schema:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;copy&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__world_resources_institute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;global_powerplants_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;global-power-plants.csv&amp;#39;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;WITH&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;FORMAT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;csv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HEADER&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;QUOTE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html#topic-schemas&#34;&gt;topic schema&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SCHEMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;powerplants&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;create view:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;N.B. using a view is slower than a table because the geometry is constructed every time the view is queried.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;CREATE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;VIEW&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;powerplants&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rowid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;country&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;country_long&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gppd_idnr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;capacity_mw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;longitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;primary_fuel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other_fuel1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other_fuel2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;other_fuel3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;commissioning_year&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;owner&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;source&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geolocation_source&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;wepp_id&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;year_of_capacity_data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2013&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2014&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2015&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2016&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2017&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2018&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_gwh_2019&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generation_data_source&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2013&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2014&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2015&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2016&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_gwh_2017&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2013&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2014&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2015&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2016&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;estimated_generation_note_2017&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ST_SetSRID&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ST_MakePoint&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;longitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;latitude&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4326&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;AS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;geom&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;__world_resources_institute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;global_powerplants_import&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 98: notes</title>
      <link>https://osgav.run/blog/weeknotes-98.html</link>
      <pubDate>Thu, 23 May 2024 14:34:59 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-98.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;created a new &amp;ldquo;notes&amp;rdquo; section on my website. i don&amp;rsquo;t know exactly how i intend to use it yet, i just know i&amp;rsquo;ve occasionally wanted to refer to one of my obsidian notes in a blog post. but i don&amp;rsquo;t want to create a separate blog post for the note to do that, and my &amp;ldquo;lab&amp;rdquo; section doesn&amp;rsquo;t feel like the right place either (its kinda more for technical stuff). i guess the gist of it is i&amp;rsquo;ll slowly turn some private notes into public notes.&lt;/li&gt;
&lt;li&gt;made some plans for a series of projects and blogged about it: &lt;a href=&#34;https://osgav.run/blog/data-pipeline-plans.html&#34;&gt;data pipeline plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;worked on my geolab database bootstrap scripts, per my data pipeline plans.&lt;/li&gt;
&lt;li&gt;played around with Model Builder in QGIS for the first time (via &lt;a href=&#34;https://spatialthoughts.com/2024/05/13/30daysofqgis/&#34;&gt;30DaysOfQGIS&lt;/a&gt;). i like it.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>data pipeline plans</title>
      <link>https://osgav.run/blog/data-pipeline-plans.html</link>
      <pubDate>Sun, 19 May 2024 19:48:04 +0000</pubDate>
      
      <guid>https://osgav.run/blog/data-pipeline-plans.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been tinkering with a couple of things and toying with another couple of ideas that when all combined form what I would call a &lt;em&gt;data pipeline.&lt;/em&gt; I quite like the idea of building this data pipeline so I&amp;rsquo;ve decided that I shall do just that.&lt;/p&gt;
&lt;p&gt;The things I&amp;rsquo;ve been working on already are a web scraper and a database. The other ideas I&amp;rsquo;ve been keen to explore are a data portal and an orchestrator. In reverse order the specific technologies are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://airflow.apache.org/&#34;&gt;Apache Airflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ckan.org/&#34;&gt;CKAN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.postgresql.org/&#34;&gt;PostgreSQL&lt;/a&gt; and &lt;a href=&#34;https://postgis.net/&#34;&gt;PostGIS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.python.org/&#34;&gt;Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the web scraper I&amp;rsquo;m going to revisit and rewrite the thoroughly unstructured and messy python scripts I wrote for my &lt;a href=&#34;https://osgav.run/portfolio/uk-freight-transport-system.html&#34;&gt;UK Freight Transport System&lt;/a&gt; map data. For the database I&amp;rsquo;m going to continue working on my &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html&#34;&gt;geolab personal PostGIS server&lt;/a&gt;. The CKAN data portal is presently the least explored area, but I like what I see, and look forward to learning more about it. Lastly is Apache Airflow, which will literally tie all the other components together, in theory. As in, it could run the scraper on a schedule, transform its results and stick them in PostGIS, then something something prepare an export suitable for sharing via CKAN? We shall see.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>empty note</title>
      <link>https://osgav.run/notes/empty-note.html</link>
      <pubDate>Fri, 17 May 2024 13:13:13 +0000</pubDate>
      
      <guid>https://osgav.run/notes/empty-note.html</guid>
      <description>&lt;p&gt;an empty note.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 97: what weeknotes is it?</title>
      <link>https://osgav.run/blog/weeknotes-97.html</link>
      <pubDate>Thu, 16 May 2024 15:04:50 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-97.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;i haven&amp;rsquo;t wrote a weeknotes post for months, so i wrote the script i knew i&amp;rsquo;d inevitably write to tell me what week number i should use, as per my new naming convention described in &lt;a href=&#34;https://osgav.run/blog/weeknotes-60.html&#34;&gt;weeknotes 60&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;i&amp;rsquo;ve started following along with &lt;a href=&#34;https://spatialthoughts.com/2024/05/13/30daysofqgis/&#34;&gt;30DaysOfQGIS&lt;/a&gt; from Spatial Thoughts as lately i don&amp;rsquo;t feel like i&amp;rsquo;ve spent enough time doing stuff in QGIS, so this should tend to that&lt;/li&gt;
&lt;li&gt;implemented &amp;ldquo;collections&amp;rdquo; logic on osgav.run – now the &amp;ldquo;blog&amp;rdquo; vs &amp;ldquo;weeknotes&amp;rdquo; split on my homepage is &lt;a href=&#34;https://github.com/osgav/osgav-blog/commit/7df91284d712f39ff3a9fe97801cab9d339b2271#diff-e53129596960b22ad2f7bbbbc031f50f0036a323b58fc8ba27c2fb687561514f&#34;&gt;powered by&lt;/a&gt; a &lt;code&gt;collections&lt;/code&gt; frontmatter key rather than the &lt;code&gt;type&lt;/code&gt; one. the theory behind doing this is i can link sets of posts together and call them a collection or series (or just call them categories, the classic accompaniment to tags) and then have links to &lt;em&gt;&amp;ldquo;other posts in this collection&amp;rdquo;&lt;/em&gt; at the side of a blog post. adds a form of discoverability to things without me having to explicitly link to related posts. not implemented that bit yet though. coming soon™&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ python build/what-weeknotes-is-it.py

use weeknotes-97 for Wednesday 15 May 2024      [1 days ago]

today is Thursday 16 May 2024

use weeknotes-98 for Wednesday 22 May 2024      [6 days away]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/misc/jumanji_what_year_is_it.jpg&#34; alt=&#34;jumanji what year is it&#34; /&gt;
      
    &lt;/figure&gt;
  

&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>The Glitch Gallery: Neon Giraffe</title>
      <link>https://osgav.run/blog/neon-giraffe.html</link>
      <pubDate>Fri, 05 Apr 2024 09:01:01 +0000</pubDate>
      
      <guid>https://osgav.run/blog/neon-giraffe.html</guid>
      <description>&lt;p&gt;I did a thing the other day and the result wasn&amp;rsquo;t quite what I was aiming for. But it was reasonably close and looked nice anyway. I shared it on &lt;a href=&#34;https://vis.social/@osgav/112023818125101891&#34;&gt;Mastodon&lt;/a&gt; and in the replies I was introduced to &lt;a href=&#34;https://glitchgallery.org/&#34;&gt;The Glitch Gallery&lt;/a&gt;. Now the thing I did is &lt;a href=&#34;https://glitchgallery.org/neon-giraffe/&#34;&gt;published&lt;/a&gt; in The Glitch Gallery. Wahey!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>extrapolating the edges of a bounding box (Leaflet)</title>
      <link>https://osgav.run/blog/extrapolating-a-bounding-box-leaflet.html</link>
      <pubDate>Fri, 23 Feb 2024 16:34:05 +0000</pubDate>
      
      <guid>https://osgav.run/blog/extrapolating-a-bounding-box-leaflet.html</guid>
      <description>&lt;p&gt;Following on from &lt;a href=&#34;https://osgav.run/blog/extrapolating-a-bounding-box.html&#34;&gt;extrapolating the edges of a bounding box&lt;/a&gt; I created a &lt;a href=&#34;https://leafletjs.com/&#34;&gt;Leaflet&lt;/a&gt; version of the map so I could enjoy the concept in an interactive manner. Now that I&amp;rsquo;ve finally &lt;a href=&#34;https://osgav.run/lab/hugo-leaflet-integration.html&#34;&gt;integrated Leaflet&lt;/a&gt; into my site I can slap a Leaflet map into a blog post if I so desire, like this:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Address Mapping</title>
      <link>https://osgav.run/portfolio/address-mapping.html</link>
      <pubDate>Fri, 23 Feb 2024 15:07:24 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/address-mapping.html</guid>
      <description>view interactive map: Networks of New York (Building Map)</description>
    </item>
    
    <item>
      <title>Leaflet maps on Hugo</title>
      <link>https://osgav.run/lab/hugo-leaflet-integration.html</link>
      <pubDate>Tue, 13 Feb 2024 15:11:33 +0000</pubDate>
      
      <guid>https://osgav.run/lab/hugo-leaflet-integration.html</guid>
      <description>created: 13/02/2024</description>
    </item>
    
    <item>
      <title>extrapolating the edges of a bounding box with Leaflet</title>
      <link>https://osgav.run/maps/extrapolating-a-bounding-box-leaflet.html</link>
      <pubDate>Wed, 07 Feb 2024 16:17:18 +0000</pubDate>
      
      <guid>https://osgav.run/maps/extrapolating-a-bounding-box-leaflet.html</guid>
      <description>had an idea:</description>
    </item>
    
    <item>
      <title>weeknotes 70: tokyo</title>
      <link>https://osgav.run/blog/weeknotes-70.html</link>
      <pubDate>Fri, 10 Nov 2023 09:45:11 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-70.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;did some catsitting for my friends who were out of town for a few days&lt;/li&gt;
&lt;li&gt;did some more prep for my upcoming holiday&lt;/li&gt;
&lt;li&gt;started figuring out how to integrate Leaflet into my Hugo website – this is in anticipation of shuffling a data collection project I&amp;rsquo;ve mentioned vaguely in the past along to the web map phase&lt;/li&gt;
&lt;li&gt;spent some time sorting my RSS subscriptions in Inoreader – they&amp;rsquo;ve been one long list for quite a while and I figured I&amp;rsquo;d finally make a few folders and group the ones I read more regularly into one spot on the list, so far I can&amp;rsquo;t believe I didn&amp;rsquo;t do this ages ago&lt;/li&gt;
&lt;li&gt;started reading a pop-up newsletter by &lt;a href=&#34;https://craigmod.com/&#34;&gt;Craig Mod&lt;/a&gt; about walking through Tokyo – I discovered this through &lt;a href=&#34;https://tracydurnell.com/2023/11/05/an-improvisational-walking-newsletter/&#34;&gt;a blog post from Tracy Durnell&lt;/a&gt; who I follow via RSS&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 69: redesigning</title>
      <link>https://osgav.run/blog/weeknotes-69.html</link>
      <pubDate>Fri, 03 Nov 2023 15:04:19 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-69.html</guid>
      <description>&lt;p&gt;It&amp;rsquo;s one of those weeks where I didn&amp;rsquo;t get  up to much that I feel like rambling about.&lt;/p&gt;
&lt;p&gt;But I did redesign the footer of my website. And I&amp;rsquo;m pretty pleased with how that turned out. I&amp;rsquo;m enjoying learning more about layouts in CSS using flex (and implementing them with Tailwind).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-69-footer-redesign.png&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-69-footer-redesign.png&#34; alt=&#34;new footer design vs old footer design&#34; /&gt;
      &lt;figcaption&gt;new footer design vs old footer design&lt;/figcaption&gt;
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m as pleased with this as I am the site header redesign that I mentioned a couple of weeks ago. I realise I said I was ridiculously excited about that and then I haven&amp;rsquo;t said anything about it since publishing it, but that&amp;rsquo;s only because it&amp;rsquo;ll be a blog post rather than a weeknotes, and well, I&amp;rsquo;m good at procrastinating those.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 68: conclusions and introductions</title>
      <link>https://osgav.run/blog/weeknotes-68.html</link>
      <pubDate>Fri, 27 Oct 2023 09:43:13 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-68.html</guid>
      <description>&lt;p&gt;It&amp;rsquo;s Friday. I&amp;rsquo;ve slipped again – I try to write these on Wednesdays. But hey ho, writing one now is better than skipping it. Why is it better than skipping it? Why do I write weeknotes in the first place? I&amp;rsquo;ve been pondering that a little bit lately.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 67: slime network</title>
      <link>https://osgav.run/blog/weeknotes-67.html</link>
      <pubDate>Wed, 18 Oct 2023 21:05:35 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-67.html</guid>
      <description>&lt;p&gt;I read a little bit about slime mold and it was pretty cool. Here are some links and a drawing inspired by it.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.wired.com/2010/01/slime-mold-grows-network-just-like-tokyo-rail-system/&#34;&gt;Slime Mold Grows Network Just Like Tokyo Rail System (WIRED)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.livescience.com/8035-slime-mold-beats-humans-perfecting-traffic-networks.html&#34;&gt;Slime Mold Beats Humans at Perfecting Traffic Networks (livescience)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Slime_mold&#34;&gt;Slime mold (Wikipedia)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.technovelgy.com/ct/Science-Fiction-News.asp?NewsNum=2756&#34;&gt;Slime Mold Network Engineering (technovelgy)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.tandfonline.com/doi/abs/10.1080/17445760.2012.685884&#34;&gt;Are motorways rational from slime mould&amp;rsquo;s point of view? (tandfonline)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.theguardian.com/cities/2014/feb/18/slime-mould-rail-road-transport-routes&#34;&gt;Cities in motion: how slime mould can redraw our rail and road maps (theguardian)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;via &lt;a href=&#34;https://nitter.net/anthilemoon/status/1338607290434396161&#34;&gt;https://nitter.net/anthilemoon/status/1338607290434396161&lt;/a&gt; which I had saved in an old note that surfaced this week&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
&lt;img
  class=&#34;p-8 rounded-md bg-primary-100&#34;
  src=&#34;https://osgav.run/images/posts/weeknotes/weeknotes-67-slime.png&#34; alt=&#34;scribbles of branching arms working their way outwards&#34;
/&gt;
  &lt;figcaption&gt;not slime mold.&lt;/figcaption&gt;
&lt;/figure&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 66: memory lane</title>
      <link>https://osgav.run/blog/weeknotes-66.html</link>
      <pubDate>Fri, 13 Oct 2023 13:33:42 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-66.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;the academic season is kicking off and consequently there have been a few notifications of lecture series landing in my inbox. i have signed up for a few. i rather enjoy listening to folks talking about old maps and the history of cartography and such&lt;/li&gt;
&lt;li&gt;went to a gig to see a band i haven&amp;rsquo;t listened to much since i was a teenager, that was a fun trip down memory lane&lt;/li&gt;
&lt;li&gt;i started playing around with redesigning the header on my website – i am ridiculously excited about one particular aspect of it but i am going to keep that a secret for now (yes, of course it&amp;rsquo;s map-related)&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 65: internet infrastructure</title>
      <link>https://osgav.run/blog/weeknotes-65.html</link>
      <pubDate>Thu, 05 Oct 2023 15:09:26 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-65.html</guid>
      <description>&lt;p&gt;For the last couple of weeks I&amp;rsquo;ve been meaning to revisit a link I saved a long time ago, about different formats of weeknotes.&lt;/p&gt;
&lt;p&gt;That link was: &lt;a href=&#34;https://weeknot.es/weeknote-styles-61d957e58a4a&#34;&gt;https://weeknot.es/weeknote-styles-61d957e58a4a&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ok I&amp;rsquo;ve re-read it now. The phrase &lt;em&gt;stream of consciousness&lt;/em&gt; jumped out at me. I am familiar with this phrase as it&amp;rsquo;s something I spend plenty of time doing in my notes in Obsidian. And I feel like doing some stream of consciousness rambling instead of bullet points this week. Actually&amp;hellip; it appears it&amp;rsquo;s been a few weeks since I&amp;rsquo;ve done just bullet points so I guess that isn&amp;rsquo;t new. In fact I will do some bullets. Here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I had a look at an old project that I haven&amp;rsquo;t yet shared on here but did mention &lt;a href=&#34;https://osgav.run/blog/weeknotes-2023-18.html&#34;&gt;back in May&lt;/a&gt; – my first time dabbling with Leaflet, recreating what I made in &lt;a href=&#34;https://osgav.run/blog/extrapolating-a-bounding-box.html&#34;&gt;&amp;ldquo;extrapolating the edges of a bounding box&amp;rdquo;&lt;/a&gt; – as I want to finish it up, i.e. post it on here then try some more stuff with Leaflet&lt;/li&gt;
&lt;li&gt;I did a little bit of work on my geolab PostGIS database (but not anything that merited a further update to the new lab page I created recently)&lt;/li&gt;
&lt;li&gt;went on another field trip for the data collection project I mentioned a few weeks ago&lt;/li&gt;
&lt;li&gt;visited a friend and watched the entirety of season 16 of Its Always Sunny in Philadelphia&lt;/li&gt;
&lt;li&gt;started reading &lt;a href=&#34;http://lifewinning.com/projects/networks-of-new-york/&#34;&gt;Networks of New York&lt;/a&gt; which is a really cool project by &lt;a href=&#34;http://lifewinning.com/&#34;&gt;Ingrid Burrington&lt;/a&gt; (if you like reading and thinking about internet infrastructure)&lt;/li&gt;
&lt;li&gt;did some admin stuff for an upcoming holiday&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 64: torrential rain</title>
      <link>https://osgav.run/blog/weeknotes-64.html</link>
      <pubDate>Thu, 28 Sep 2023 12:44:24 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-64.html</guid>
      <description>&lt;p&gt;Stuff from the last week:&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been running through my ankiboxes and considering the purposes of my different IW queues and associated ankiboxes a little more closely.&lt;/p&gt;
&lt;p&gt;I redesigned part of my homepage. The &amp;ldquo;recent feed&amp;rdquo; part now has two columns – one for blog posts and another for weeknotes. Both of these things live under the &lt;code&gt;/blog/&lt;/code&gt; section of my site but I figured out a way to list them separately as well as altogether, as demonstrated by my new homepage and my new index pages: &lt;a href=&#34;https://osgav.run/blog.html&#34;&gt;blog.html&lt;/a&gt; and &lt;a href=&#34;https://osgav.run/weeknotes.html&#34;&gt;weeknotes.html&lt;/a&gt; and &lt;a href=&#34;https://osgav.run/archives.html&#34;&gt;archives.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I started a new lab page – my first since 2019 apparently – for &amp;ldquo;geolab&amp;rdquo; my &lt;a href=&#34;https://osgav.run/lab/geolab-postgis-server-manual.html&#34;&gt;personal PostGIS server&lt;/a&gt;. I&amp;rsquo;ll be adding to this incrementally as I refine my slightly messier note I&amp;rsquo;ve been working on for the last few weeks.&lt;/p&gt;
&lt;p&gt;I managed to get caught in torrential rain twice in the last week. The second time I was slightly more prepared and had an umbrella, but honestly I didn&amp;rsquo;t end up that much better off ha!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>geolab: PostGIS Server Manual</title>
      <link>https://osgav.run/lab/geolab-postgis-server-manual.html</link>
      <pubDate>Tue, 26 Sep 2023 13:03:57 +0000</pubDate>
      
      <guid>https://osgav.run/lab/geolab-postgis-server-manual.html</guid>
      <description>created: 26/09/2023</description>
    </item>
    
    <item>
      <title>weeknotes 63: capturing</title>
      <link>https://osgav.run/blog/weeknotes-63.html</link>
      <pubDate>Thu, 21 Sep 2023 20:06:41 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-63.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been thinking about the capture workflow of my notetaking system a lot in the last week, and working on refining it, so that I can use it more effectively&amp;hellip; as the concept of &lt;a href=&#34;https://zettelkasten.de/posts/collectors-fallacy/&#34;&gt;Collector’s Fallacy&lt;/a&gt; has felt particularly resonant lately.&lt;/p&gt;
&lt;p&gt;I finished archiving all my Inoreader RSS starred items, so I have a clean slate / zero starred items in Inoreader now. This should theoretically / hopefully lead to more effective processing of newly starred items from my browsing&amp;hellip; I use &lt;a href=&#34;https://github.com/Linusp/python-inoreader&#34;&gt;this Inoreader CLI&lt;/a&gt; (with a few modifications) to save my starred items from Inoreader into my INBOX folder in Obsidian. Once I&amp;rsquo;ve downloaded the recently starred items, I can make notes with them and reference them and whatever else, and then unstar them in Inoreader, paving the way for the next batch. That&amp;rsquo;s the theory at least!&lt;/p&gt;
&lt;p&gt;Once something is in my INBOX folder, it is also in my &lt;a href=&#34;https://osgav.run/blog/ankibox.html&#34;&gt;ankibox&lt;/a&gt;. I&amp;rsquo;ve started experimenting with additional ankiboxes too now (based on items I&amp;rsquo;ve been adding to different &lt;a href=&#34;https://github.com/bjsi/incremental-writing&#34;&gt;IW queues&lt;/a&gt; for a while). I expect I&amp;rsquo;ll write more about this in the future, but so far ankibox has led to navel gazing about ankibox. But it feels like useful pondering at this point in time, as I try to figure out where the whole ankibox concept best fits within my capture workflow or &lt;em&gt;&amp;ldquo;knowledge cycle&amp;rdquo;&amp;hellip;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ankibox</title>
      <link>https://osgav.run/blog/ankibox.html</link>
      <pubDate>Tue, 19 Sep 2023 09:42:10 +0000</pubDate>
      
      <guid>https://osgav.run/blog/ankibox.html</guid>
      <description>&lt;p&gt;&lt;strong&gt;ankibox?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;anki + inbox = ankibox&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 62: archiving starred items</title>
      <link>https://osgav.run/blog/weeknotes-62.html</link>
      <pubDate>Thu, 14 Sep 2023 08:11:15 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-62.html</guid>
      <description>&lt;ul&gt;
&lt;li&gt;attended the &lt;a href=&#34;http://sdss2023.spatial-data-science.net/&#34;&gt;Spatial Data Science Symposium&lt;/a&gt; (SDSS) &lt;a href=&#34;https://www.airmeet.com/e/5b9bebf0-f574-11ed-ba17-6b737e1a0f4c&#34;&gt;2023&lt;/a&gt; last Tuesday / Wednesday
&lt;ul&gt;
&lt;li&gt;it was pretty interesting, a lot of it was pretty over my head but it was inspiring nevertheless – I noted a few miscellaneous things that caught my eye / things to peruse a little closer at some point:&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sdgs.un.org/goals&#34;&gt;https://sdgs.un.org/goals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://hegsrr.github.io/&#34;&gt;https://hegsrr.github.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://knowwheregraph.org/&#34;&gt;https://knowwheregraph.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openflights.org/&#34;&gt;https://openflights.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://shriv.github.io/sdss-2023/&#34;&gt;https://shriv.github.io/sdss-2023/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/DOSull/weaving-space&#34;&gt;https://github.com/DOSull/weaving-space&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/DIKW_pyramid&#34;&gt;https://en.wikipedia.org/wiki/DIKW_pyramid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://deepnote.com/&#34;&gt;https://deepnote.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.safegraph.com/data-examples&#34;&gt;https://www.safegraph.com/data-examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.bristol.ac.uk/acrc/research-software-engineering/&#34;&gt;https://www.bristol.ac.uk/acrc/research-software-engineering/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;finished the bulk of my &amp;ldquo;trimester review&amp;rdquo; stuff&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.delaplex.com/start-building-better-data-pipelines-with-apache-airflow&#34;&gt;read&lt;/a&gt; &lt;a href=&#34;https://michal.karzynski.pl/blog/2017/03/19/developing-workflows-with-apache-airflow/&#34;&gt;about&lt;/a&gt; &lt;a href=&#34;https://airflow.apache.org/&#34;&gt;Apache Airflow&lt;/a&gt; a bit, and started thinking about how I might &lt;del&gt;distract  myself with it&lt;/del&gt; dabble with it in the future sometime&lt;/li&gt;
&lt;li&gt;celebrated a friend&amp;rsquo;s birthday with a nice dinner and then staying up far too late&lt;/li&gt;
&lt;li&gt;began archiving starred items in my RSS reader (Inoreader)&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 61: an innocuous footbridge</title>
      <link>https://osgav.run/blog/weeknotes-61.html</link>
      <pubDate>Wed, 06 Sep 2023 18:19:54 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-61.html</guid>
      <description>&lt;p&gt;What did the 61st week since I wrote my first weeknotes post bring&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes 60: epoch</title>
      <link>https://osgav.run/blog/weeknotes-60.html</link>
      <pubDate>Wed, 30 Aug 2023 15:27:32 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-60.html</guid>
      <description>&lt;p&gt;I decided to start doing weeknotes again, again. I&amp;rsquo;ll absolutely definitely stop doing them again sometime soon as well, probably. Nevertheless, here I am starting again.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Goode Homolosine projection in QGIS</title>
      <link>https://osgav.run/blog/goode-homolosine-qgis.html</link>
      <pubDate>Tue, 15 Aug 2023 14:10:29 +0000</pubDate>
      
      <guid>https://osgav.run/blog/goode-homolosine-qgis.html</guid>
      <description>&lt;p&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/goode-homolosine-qgis/goode-homolosine-osgav.png&#34; alt=&#34;Goode Homolosine projection with Sudan and Mozambique missing&#34; /&gt;
      
    &lt;/figure&gt;
  

&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>I added a changelog page to my website</title>
      <link>https://osgav.run/blog/added-a-changelog.html</link>
      <pubDate>Mon, 15 May 2023 17:03:07 +0000</pubDate>
      
      <guid>https://osgav.run/blog/added-a-changelog.html</guid>
      <description>&lt;p&gt;Tadaaa! I added a &lt;a href=&#34;https://osgav.run/changelog.html&#34;&gt;changelog&lt;/a&gt;. I&amp;rsquo;ve been thinking about doing that for a while now. Now it&amp;rsquo;s done. Woohoo :)&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 18</title>
      <link>https://osgav.run/blog/weeknotes-2023-18.html</link>
      <pubDate>Mon, 08 May 2023 18:19:22 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-18.html</guid>
      <description>&lt;p&gt;Some notes on the last couple of weeks:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>quick and dirty method to count vertices with ogrinfo</title>
      <link>https://osgav.run/blog/count-vertices-ogrinfo.html</link>
      <pubDate>Thu, 04 May 2023 20:21:33 +0000</pubDate>
      
      <guid>https://osgav.run/blog/count-vertices-ogrinfo.html</guid>
      <description>&lt;p&gt;I was experimenting with &lt;em&gt;Simplify&lt;/em&gt; in QGIS the other day and I wanted to get an idea of how many vertices were being removed from my geometries when I adjusted the Simplify settings.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>extrapolating the edges of a bounding box (QGIS)</title>
      <link>https://osgav.run/blog/extrapolating-a-bounding-box.html</link>
      <pubDate>Sat, 29 Apr 2023 12:31:36 +0000</pubDate>
      
      <guid>https://osgav.run/blog/extrapolating-a-bounding-box.html</guid>
      <description>&lt;p&gt;I woke up thinking about a fragment of a map the other day, and it occurred to me that what I was picturing could probably be made using geometry generators in QGIS. I was picturing something like this:&lt;/p&gt;
&lt;figure&gt;
&lt;img
  class=&#34;p-8 rounded-md bg-primary-100&#34;
  src=&#34;https://osgav.run/images/posts/extrapolating-a-bounding-box/sketch.png&#34; alt=&#34;sketch of my idea&#34;
/&gt;
  
&lt;/figure&gt;

&lt;p&gt;So I thought I&amp;rsquo;d have a whack at making it.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 16</title>
      <link>https://osgav.run/blog/weeknotes-2023-16.html</link>
      <pubDate>Mon, 24 Apr 2023 09:30:03 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-16.html</guid>
      <description>&lt;p&gt;Things from the last couple of weeks:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 14</title>
      <link>https://osgav.run/blog/weeknotes-2023-14.html</link>
      <pubDate>Mon, 10 Apr 2023 13:19:06 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-14.html</guid>
      <description>&lt;p&gt;Another short&amp;rsquo;n&amp;rsquo;sweet update:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 12</title>
      <link>https://osgav.run/blog/weeknotes-2023-12.html</link>
      <pubDate>Sat, 25 Mar 2023 14:49:07 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-12.html</guid>
      <description>&lt;p&gt;A short&amp;rsquo;n&amp;rsquo;sweet update this week:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 11</title>
      <link>https://osgav.run/blog/weeknotes-2023-11.html</link>
      <pubDate>Sat, 18 Mar 2023 17:55:40 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-11.html</guid>
      <description>&lt;p&gt;Things I got up to in the last week:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;published blog post: &lt;a href=&#34;https://osgav.run/blog/systems-processes-tools.html&#34;&gt;systems, processes, and tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;read an essay on systems design: &lt;a href=&#34;https://apenwarr.ca/log/20201227&#34;&gt;https://apenwarr.ca/log/20201227&lt;/a&gt; (via &lt;a href=&#34;https://nitter.net/mipsytipsy/status/1633627882840035331&#34;&gt;this tweet&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;phone link dump, all the way down to zero tabs open&amp;hellip;&lt;/li&gt;
&lt;li&gt;got stuck into &lt;a href=&#34;https://observablehq.com/&#34;&gt;Observable&lt;/a&gt; Getting Started guides and the like and&amp;hellip;&lt;/li&gt;
&lt;li&gt;started playing with my own &lt;a href=&#34;https://observablehq.com/d/cf412b0e164ebdd5&#34;&gt;dataset on powerplants&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;did more of the Esri &lt;a href=&#34;https://www.esri.com/training/catalog/596e584bb826875993ba4ebf/cartography/&#34;&gt;Cartography MOOC&lt;/a&gt; (running a bit behind, need to catch up!)&lt;/li&gt;
&lt;li&gt;discovered, fixed an issue with, and blogged about &lt;a href=&#34;https://osgav.run/blog/qgis-plugin-mapswipe-tool.html&#34;&gt;QGIS MapSwipe Tool Plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;published blog post: &lt;a href=&#34;https://osgav.run/blog/spilhaus-world-ocean-map.html&#34;&gt;Spilhaus World Ocean Map&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;started drafting up a new About page for my website (I&amp;rsquo;ve just had placeholder text there for a few years now&amp;hellip;)&lt;/li&gt;
&lt;li&gt;started shopping for proper storage for my atlases and maps collection&lt;/li&gt;
&lt;li&gt;signed up for OpenStreetMap!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And some more words about a few of those&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Spilhaus World Ocean Map</title>
      <link>https://osgav.run/blog/spilhaus-world-ocean-map.html</link>
      <pubDate>Fri, 17 Mar 2023 15:45:22 +0000</pubDate>
      
      <guid>https://osgav.run/blog/spilhaus-world-ocean-map.html</guid>
      <description>&lt;p&gt;As part of the Esri Cartography MOOC I&amp;rsquo;m doing just now, I made this Spilhaus World Ocean Map in one of the exercises.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Spilhaus World Ocean Map</title>
      <link>https://osgav.run/portfolio/spilhaus-world-ocean-map.html</link>
      <pubDate>Fri, 17 Mar 2023 15:45:22 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/spilhaus-world-ocean-map.html</guid>
      <description>blog post: Spilhaus World Ocean Map</description>
    </item>
    
    <item>
      <title>QGIS Plugin: MapSwipe Tool</title>
      <link>https://osgav.run/blog/qgis-plugin-mapswipe-tool.html</link>
      <pubDate>Wed, 15 Mar 2023 15:30:38 +0000</pubDate>
      
      <guid>https://osgav.run/blog/qgis-plugin-mapswipe-tool.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been using ArcGIS for the first time in the &lt;a href=&#34;https://osgav.run/blog/weeknotes-2023-09.html&#34;&gt;last couple of weeks&lt;/a&gt; and I&amp;rsquo;ve come across the &lt;strong&gt;Swipe&lt;/strong&gt; tool. My immediate thought was &lt;em&gt;&amp;ldquo;oh that&amp;rsquo;s awesome&amp;rdquo;&lt;/em&gt; which was swiftly followed by &lt;em&gt;&amp;ldquo;I wonder if QGIS has this as well?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>systems, processes, and tools</title>
      <link>https://osgav.run/blog/systems-processes-tools.html</link>
      <pubDate>Sun, 12 Mar 2023 11:43:51 +0000</pubDate>
      
      <guid>https://osgav.run/blog/systems-processes-tools.html</guid>
      <description>&lt;p&gt;&lt;strong&gt;What are systems, processes, and tools?&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 10</title>
      <link>https://osgav.run/blog/weeknotes-2023-10.html</link>
      <pubDate>Sat, 11 Mar 2023 16:42:23 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-10.html</guid>
      <description>&lt;p&gt;Things I&amp;rsquo;ve gotten up to since my last weeknotes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;continued the Esri &lt;a href=&#34;https://www.esri.com/training/catalog/596e584bb826875993ba4ebf/cartography/&#34;&gt;Cartography MOOC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;started the &lt;a href=&#34;https://observablehq.com/@observablehq/datavizcourse&#34;&gt;Data Visualization Fundamentals and Best Practices&lt;/a&gt; from &lt;a href=&#34;https://observablehq.com/&#34;&gt;Observable&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;tinkered with my website: playing with flex to tweak the layout&lt;/li&gt;
&lt;li&gt;tinkered with my website: created a shortcode for images that are drawings&lt;/li&gt;
&lt;li&gt;fixed the &lt;a href=&#34;https://github.com/cobalamin/obsidian-remarkable&#34;&gt;obsidian-remarkable&lt;/a&gt; plugin&amp;rsquo;s post-processing script&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A few more words about each of those&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 09</title>
      <link>https://osgav.run/blog/weeknotes-2023-09.html</link>
      <pubDate>Wed, 01 Mar 2023 18:10:22 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2023-09.html</guid>
      <description>&lt;p&gt;So I fell out of the habit of doing weeknotes for a few months there.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>ye olde Street View</title>
      <link>https://osgav.run/blog/ye-olde-street-view.html</link>
      <pubDate>Fri, 13 Jan 2023 12:44:21 +0000</pubDate>
      
      <guid>https://osgav.run/blog/ye-olde-street-view.html</guid>
      <description>&lt;p&gt;I was perusing auction listings the other day and spotted this:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>30DayMapChallenge 2022</title>
      <link>https://osgav.run/blog/30daymapchallenge-2022.html</link>
      <pubDate>Mon, 19 Dec 2022 14:11:29 +0000</pubDate>
      
      <guid>https://osgav.run/blog/30daymapchallenge-2022.html</guid>
      <description>&lt;p&gt;Last month I took part in my first &lt;a href=&#34;https://30daymapchallenge.com/&#34;&gt;30DayMapChallenge&lt;/a&gt; – a daily mapmaking challenge that takes place in November each year.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>30DayMapChallenge 2022</title>
      <link>https://osgav.run/portfolio/30daymapchallenge-2022.html</link>
      <pubDate>Mon, 19 Dec 2022 14:11:29 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/30daymapchallenge-2022.html</guid>
      <description>blog post: 30DayMapChallenge 2022</description>
    </item>
    
    <item>
      <title>weeknotes: twenty maps later...</title>
      <link>https://osgav.run/blog/weeknotes-2022-49.html</link>
      <pubDate>Thu, 08 Dec 2022 14:31:13 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-49.html</guid>
      <description>&lt;p&gt;Look at that, it&amp;rsquo;s December already!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 42</title>
      <link>https://osgav.run/blog/weeknotes-2022-42.html</link>
      <pubDate>Mon, 24 Oct 2022 15:30:36 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-42.html</guid>
      <description>&lt;p&gt;Some stuff I got up to in the last week:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 41</title>
      <link>https://osgav.run/blog/weeknotes-2022-41.html</link>
      <pubDate>Mon, 17 Oct 2022 15:01:33 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-41.html</guid>
      <description>&lt;p&gt;A short&amp;rsquo;n&amp;rsquo;sweet update this week:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>X-Clacks-Overhead: GNU Terry Prachett</title>
      <link>https://osgav.run/blog/x-clacks-overhead.html</link>
      <pubDate>Wed, 12 Oct 2022 09:32:05 +0000</pubDate>
      
      <guid>https://osgav.run/blog/x-clacks-overhead.html</guid>
      <description>&lt;p&gt;I finally added an &lt;code&gt;X-Clacks-Overhead&lt;/code&gt; header to my site, woohoo!
&lt;br&gt;&lt;br&gt;
What is that, and why &lt;em&gt;finally?&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: some BCS conference notes and 30DayMapChallenge</title>
      <link>https://osgav.run/blog/weeknotes-2022-40.html</link>
      <pubDate>Tue, 11 Oct 2022 19:24:55 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-40.html</guid>
      <description>&lt;p&gt;Hello! This week I thought I&amp;rsquo;d share a few highlights from my &lt;a href=&#34;https://www.cartography.org.uk/annual-conference&#34;&gt;BCS Conference&lt;/a&gt; notes.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: osgav redesign</title>
      <link>https://osgav.run/blog/weeknotes-2022-39.html</link>
      <pubDate>Thu, 29 Sep 2022 18:42:03 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-39.html</guid>
      <description>&lt;p&gt;Hello from week 39 of 2022.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Congo</title>
      <link>https://osgav.run/link/hugo-congo-theme.html</link>
      <pubDate>Wed, 28 Sep 2022 11:41:14 +0100</pubDate>
      
      <guid>https://osgav.run/link/hugo-congo-theme.html</guid>
      <description>&lt;p&gt;Congo is a slick Hugo theme, which I&amp;rsquo;ve just started using on my site. RIP my hacked up Casper theme. Congo is built with Tailwind CSS, which I look forward to getting to know better.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 37</title>
      <link>https://osgav.run/blog/weeknotes-2022-37.html</link>
      <pubDate>Mon, 19 Sep 2022 20:02:41 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-37.html</guid>
      <description>&lt;p&gt;Another week passes, and what a good one it was!
&lt;br&gt;&lt;br&gt;
The highlight was definitely the &lt;a href=&#34;https://www.cartography.org.uk/annual-conference&#34;&gt;BCS Annual Conference&lt;/a&gt; on Wednesday and Thursday. I haven&amp;rsquo;t sifted through the notes I made and links I saved yet so I&amp;rsquo;ll come back to that later.
&lt;br&gt;&lt;br&gt;
Some other stuff I got up to:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>critical cartographer: 1</title>
      <link>https://osgav.run/blog/critical-cartographer-1.html</link>
      <pubDate>Fri, 16 Sep 2022 14:44:48 +0000</pubDate>
      
      <guid>https://osgav.run/blog/critical-cartographer-1.html</guid>
      <description>&lt;p&gt;The first &lt;em&gt;Student Reflection&lt;/em&gt; in &lt;a href=&#34;https://www.e-education.psu.edu/geog486/node/643&#34;&gt;GEOG 486 Lesson 1&lt;/a&gt; asks:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Which map of the two below best communicates the trend of the data? Why?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>UK Freight Transport System</title>
      <link>https://osgav.run/blog/uk-freight-transport-system.html</link>
      <pubDate>Tue, 13 Sep 2022 10:40:48 +0000</pubDate>
      
      <guid>https://osgav.run/blog/uk-freight-transport-system.html</guid>
      <description>&lt;p&gt;For the graded assignment in the &lt;a href=&#34;https://www.conted.ox.ac.uk/courses/introducing-mapping-spatial-data-and-gis-online&#34;&gt;Introduction to Mapping, Spatial Data and GIS&lt;/a&gt; course I completed in June I made the following map:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/uk-freight-transport-system/map_65.png&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/uk-freight-transport-system/map_35.png&#34; alt=&#34;UK Freight Transport System - shipping ports without rail connections&#34; /&gt;
      &lt;figcaption&gt;UK Freight Transport System - shipping ports without rail connections&lt;/figcaption&gt;
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>UK Freight Transport System</title>
      <link>https://osgav.run/portfolio/uk-freight-transport-system.html</link>
      <pubDate>Tue, 13 Sep 2022 10:40:48 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/uk-freight-transport-system.html</guid>
      <description>blog post: UK Freight Transport System</description>
    </item>
    
    <item>
      <title>weeknotes: week 36</title>
      <link>https://osgav.run/blog/weeknotes-2022-36.html</link>
      <pubDate>Mon, 12 Sep 2022 20:01:51 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-36.html</guid>
      <description>&lt;p&gt;Things I got up to in the last week:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GEOG 868: &lt;a href=&#34;https://www.e-education.psu.edu/spatialdb/node/2015&#34;&gt;Lesson 5: Working with Esri&amp;rsquo;s Desktop Geodatabases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;read some of my &lt;a href=&#34;https://www.cartography.org.uk/cartography-an-introduction&#34;&gt;BCS cartography book&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;accidentally started a website redesign project&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some rambles about each of those:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: week 35</title>
      <link>https://osgav.run/blog/weeknotes-2022-35.html</link>
      <pubDate>Sun, 04 Sep 2022 19:20:01 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-35.html</guid>
      <description>&lt;p&gt;Just a few things to note this week:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>GEOG 868: Jen and Barry&#39;s Site Selection</title>
      <link>https://osgav.run/blog/jen-barry-site-selection.html</link>
      <pubDate>Thu, 01 Sep 2022 15:12:42 +0000</pubDate>
      
      <guid>https://osgav.run/blog/jen-barry-site-selection.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/jen-barry-site-selection/jen_barry_site_selection_candidate_cities.png&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/jen-barry-site-selection/jen_barry_site_selection_candidate_cities.png&#34; alt=&#34;map of Jen and Barry&amp;amp;rsquo;s Site Selection candidate cities&#34; /&gt;
      &lt;figcaption&gt;map of Jen and Barry&amp;rsquo;s Site Selection candidate cities&lt;/figcaption&gt;
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://www.e-education.psu.edu/spatialdb/node/1984&#34;&gt;Lesson 4 of GEOG 868&lt;/a&gt; I completed a site selection using PostGIS.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>GEOG 868: Jen and Barry&#39;s Site Selection</title>
      <link>https://osgav.run/portfolio/jen-barry-site-selection.html</link>
      <pubDate>Thu, 01 Sep 2022 15:12:42 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/jen-barry-site-selection.html</guid>
      <description>blog post: GEOG 868: Jen and Barry&amp;rsquo;s Site Selection</description>
    </item>
    
    <item>
      <title>weeknotes: week 34</title>
      <link>https://osgav.run/blog/weeknotes-2022-34.html</link>
      <pubDate>Sun, 28 Aug 2022 19:21:51 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-34.html</guid>
      <description>&lt;p&gt;A few things I got up to this week:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A map of Melbourne</title>
      <link>https://osgav.run/blog/a-map-of-melbourne.html</link>
      <pubDate>Wed, 24 Aug 2022 11:09:13 +0000</pubDate>
      
      <guid>https://osgav.run/blog/a-map-of-melbourne.html</guid>
      <description>&lt;p&gt;The &lt;em&gt;Making Maps&lt;/em&gt; unit for the &lt;a href=&#34;https://www.conted.ox.ac.uk/courses/introducing-mapping-spatial-data-and-gis-online&#34;&gt;Introduction to Mapping, Spatial Data and GIS&lt;/a&gt; course I completed in June featured a tourism case study. The exercise that week was to create a tourist map of Melbourne in Australia.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A map of Melbourne</title>
      <link>https://osgav.run/portfolio/a-map-of-melbourne.html</link>
      <pubDate>Wed, 24 Aug 2022 11:09:13 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/a-map-of-melbourne.html</guid>
      <description>blog post: A map of Melbourne</description>
    </item>
    
    <item>
      <title>weeknotes: week 33</title>
      <link>https://osgav.run/blog/weeknotes-2022-33.html</link>
      <pubDate>Mon, 22 Aug 2022 19:21:23 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-33.html</guid>
      <description>&lt;p&gt;Oops, my first late weeknote! I intended to get it done at the weekend rather than on Wednesday like usual, but that has ended up slipping over to today, Monday. Anyway. What GIS things did I get up to since my last post?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>GEOG 868: Mapping the Class Roster</title>
      <link>https://osgav.run/blog/mapping-the-class-roster.html</link>
      <pubDate>Thu, 18 Aug 2022 16:15:45 +0000</pubDate>
      
      <guid>https://osgav.run/blog/mapping-the-class-roster.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://osgav.run/images/posts/class-roster/class-roster-map.png&#34;&gt;



  
  
  
    &lt;figure&gt;
      &lt;img class=&#34;my-0 rounded-md&#34; src=&#34;https://osgav.run/images/posts/class-roster/class-roster-map.png&#34; alt=&#34;class roster map&#34; /&gt;
      
    &lt;/figure&gt;
  

&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://www.e-education.psu.edu/spatialdb/node/1957&#34;&gt;Lesson 3 of GEOG 868&lt;/a&gt; I played around with PostgreSQL and PostGIS for the first time. For the project at the end you are given a &lt;code&gt;class_roster.txt&lt;/code&gt; file that contains a list of students and their postal codes. The task was to join that with data provided earlier in the lesson and then plot the students&amp;rsquo; locations on a map in QGIS. Here&amp;rsquo;s how I went about doing that.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>GEOG 868: Mapping the Class Roster</title>
      <link>https://osgav.run/portfolio/mapping-the-class-roster.html</link>
      <pubDate>Thu, 18 Aug 2022 16:15:45 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/mapping-the-class-roster.html</guid>
      <description>blog post: GEOG 868: Mapping the Class Roster</description>
    </item>
    
    <item>
      <title>weeknotes: ST_FirstSpatialQueries</title>
      <link>https://osgav.run/blog/weeknotes-2022-32.html</link>
      <pubDate>Thu, 11 Aug 2022 20:28:10 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-32.html</guid>
      <description>&lt;p&gt;So. Hello again.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: more NASA</title>
      <link>https://osgav.run/blog/weeknotes-2022-31.html</link>
      <pubDate>Wed, 03 Aug 2022 20:34:21 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-31.html</guid>
      <description>&lt;p&gt;A bit of a lull in GEOG 868 progress in the last week, as I crammed the prerequisites for the &lt;a href=&#34;https://appliedsciences.nasa.gov/join-mission/training/english/arset-satellite-remote-sensing-measuring-urban-heat-islands-and&#34;&gt;NASA ARSET&lt;/a&gt; course I mentioned last week.
&lt;br&gt;&lt;br&gt;
I attended the first session yesterday and enjoyed my second bout of playing with &lt;a href=&#34;https://earthengine.google.com/&#34;&gt;Google Earth Engine&lt;/a&gt; (GEE), having played with it briefly during one of the prerequisite courses. The remaining sessions are on the 4th, 9th and 11th August, with a homework assignment due by the 25th. There is plenty to learn about the world of remote sensing, to say the least, but I won&amp;rsquo;t be spending too much time focused on it just now. If / when I decide to take my Oxford Uni assignment any further then I&amp;rsquo;ll revisit this stuff. For now I shall be turning my focus back to my spatial database management course.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: UFOs and NASA</title>
      <link>https://osgav.run/blog/weeknotes-2022-30.html</link>
      <pubDate>Wed, 27 Jul 2022 14:37:09 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-30.html</guid>
      <description>&lt;p&gt;A fairly database-focussed week. The last of the &amp;ldquo;refresher&amp;rdquo; stuff before I move onto actual &lt;em&gt;spatial database stuff.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>UFO Investigation Organization</title>
      <link>https://osgav.run/blog/ufo-investigation-organization.html</link>
      <pubDate>Tue, 26 Jul 2022 17:02:10 +0000</pubDate>
      
      <guid>https://osgav.run/blog/ufo-investigation-organization.html</guid>
      <description>&lt;p&gt;In the off chance you arrived at this web page hoping to report a UFO sighting, I am afraid this website does not take UFO sighting reports.
&lt;br&gt;&lt;br&gt;
&amp;hellip;
&lt;br&gt;&lt;br&gt;
I&amp;rsquo;m currently working through the &lt;a href=&#34;https://roam.libraries.psu.edu/node/1357&#34;&gt;Spatial Database Management&lt;/a&gt; course from Pennsylvania State University. Each lesson has a project, and for &lt;a href=&#34;https://www.e-education.psu.edu/spatialdb/l2_p10.html&#34;&gt;the Lesson 2 project&lt;/a&gt; you are asked to design a database for a hypothetical &lt;em&gt;UFO Investigation Organization.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>UFO Investigation Organization</title>
      <link>https://osgav.run/portfolio/ufo-investigation-organization.html</link>
      <pubDate>Tue, 26 Jul 2022 17:02:10 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/ufo-investigation-organization.html</guid>
      <description>blog post: UFO Investigation Organization</description>
    </item>
    
    <item>
      <title>SQLite database WHERE clause condition not filtering rows</title>
      <link>https://osgav.run/blog/sqlite-database-where-not-filtering.html</link>
      <pubDate>Tue, 26 Jul 2022 14:55:32 +0000</pubDate>
      
      <guid>https://osgav.run/blog/sqlite-database-where-not-filtering.html</guid>
      <description>&lt;p&gt;It is possible to create a table in an SQLite database where the columns have no &lt;em&gt;type.&lt;/em&gt;
&lt;br&gt;&lt;br&gt;
For example, the columns in this &lt;code&gt;STATS&lt;/code&gt; table have no type specified:
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;sqlite&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PRAGMA&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TABLE_INFO&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;STATS&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cid&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;       &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;notnull&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dflt_value&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pk&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;---  ---------  ----  -------  ----------  --
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PLAYER_ID&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;        &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;YEAR&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;             &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;TEAM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;             &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AB&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;               &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HITS&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;             &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HR&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;               &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;RBI&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;              &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;                    &lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;br&gt;&lt;br&gt;
This doesn&amp;rsquo;t seem to make much of a difference if you are storing strings / text data, and writing queries to retrieve things based on those strings.
&lt;br&gt;&lt;br&gt;
However, if you are storing numbers, then you&amp;rsquo;ll notice a problem if you try queries like this:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: SQL, basemaps, and old atlases</title>
      <link>https://osgav.run/blog/weeknotes-2022-29.html</link>
      <pubDate>Wed, 20 Jul 2022 11:42:18 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-29.html</guid>
      <description>&lt;p&gt;In the last week I got stuck into GEOG 868 (the Pennsylvania State University &lt;a href=&#34;https://roam.libraries.psu.edu/node/1357&#34;&gt;Spatial Database Management course&lt;/a&gt; I mentioned &lt;a href=&#34;https://osgav.run/blog/weeknotes-2022-28.html&#34;&gt;last week&lt;/a&gt;). I started off with a bit of an SQL refresher via &lt;a href=&#34;https://sqlbolt.com&#34;&gt;SQLBolt&lt;/a&gt; and some &lt;a href=&#34;https://sqlzoo.net/wiki/SQL_Tutorial&#34;&gt;SQLZOO&lt;/a&gt;, then cracked on with GEOG 868 Lesson 1.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>weeknotes: GIS 101</title>
      <link>https://osgav.run/blog/weeknotes-2022-28.html</link>
      <pubDate>Wed, 13 Jul 2022 14:32:02 +0000</pubDate>
      
      <guid>https://osgav.run/blog/weeknotes-2022-28.html</guid>
      <description>&lt;p&gt;So I&amp;rsquo;ve decided to give &lt;em&gt;weeknotes&lt;/em&gt; a go.
&lt;br&gt;&lt;br&gt;
What are weeknotes?
&lt;br&gt;&lt;br&gt;
At the most basic level they are posts on someone&amp;rsquo;s blog that generally appear each week. What about a level up from that? Well, they tend to contain some account of what the author of the post got up to in the last week. That might take the form of a detailed list of activities, such as events attended, work completed, or personal endeavours enjoyed. It might also be more reflective, a form of journaling, how things in the last week made one feel. Indeed a weeknote could be a mixture of those things, and more, or less. They are whatever the author makes of them.
&lt;br&gt;&lt;br&gt;
I&amp;rsquo;m going to give them a go, at least for a little while, as a way to encourage myself to write about what I&amp;rsquo;m getting up with regards to &lt;em&gt;exploring the world of GIS.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Exploring GIS</title>
      <link>https://osgav.run/blog/exploring-gis.html</link>
      <pubDate>Fri, 10 Jun 2022 09:07:17 +0000</pubDate>
      
      <guid>https://osgav.run/blog/exploring-gis.html</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been exploring the world of GIS for a few months now, and it wouldn&amp;rsquo;t be unreasonable to say I&amp;rsquo;ve been taking notes in a similar manner to this dog drinking from a hose:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A map of Swellendam</title>
      <link>https://osgav.run/blog/a-map-of-swellendam.html</link>
      <pubDate>Fri, 08 Apr 2022 15:57:04 +0000</pubDate>
      
      <guid>https://osgav.run/blog/a-map-of-swellendam.html</guid>
      <description>&lt;p&gt;As noted in &lt;a href=&#34;https://osgav.run/blog/hello-gis-world.html&#34;&gt;Hello (GIS) World&lt;/a&gt; I was recently working on the first assignment in the &lt;a href=&#34;https://docs.qgis.org/3.16/en/docs/training_manual/index.html&#34;&gt;QGIS Training Manual&lt;/a&gt;. I planned to do 3 things for the assignment:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>A map of Swellendam</title>
      <link>https://osgav.run/portfolio/a-map-of-swellendam.html</link>
      <pubDate>Fri, 08 Apr 2022 15:57:04 +0000</pubDate>
      
      <guid>https://osgav.run/portfolio/a-map-of-swellendam.html</guid>
      <description>blog post: A map of Swellendam</description>
    </item>
    
    <item>
      <title>Now.</title>
      <link>https://osgav.run/now/now.html</link>
      <pubDate>Wed, 16 Mar 2022 12:11:22 +0000</pubDate>
      
      <guid>https://osgav.run/now/now.html</guid>
      <description>&lt;p&gt;What am I up to?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;exploring the world of GIS&lt;/li&gt;
&lt;li&gt;spending more time working with my notes, than tweaking my system&lt;/li&gt;
&lt;li&gt;trying to keep a podocarpus bonsai plant alive&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Hello (GIS) World!</title>
      <link>https://osgav.run/blog/hello-gis-world.html</link>
      <pubDate>Wed, 16 Mar 2022 11:04:07 +0000</pubDate>
      
      <guid>https://osgav.run/blog/hello-gis-world.html</guid>
      <description>&lt;p&gt;I am exploring the world of &lt;strong&gt;Geographic Information Systems&lt;/strong&gt; (GIS).
&lt;br&gt;&lt;br&gt;
I have been reading the &lt;a href=&#34;https://docs.qgis.org/3.16/en/docs/gentle_gis_introduction/index.html&#34;&gt;Gentle Introduction to GIS&lt;/a&gt; from the &lt;a href=&#34;https://www.qgis.org/&#34;&gt;QGIS&lt;/a&gt; documentation and also working through the &lt;a href=&#34;https://docs.qgis.org/3.16/en/docs/training_manual/index.html&#34;&gt;QGIS Training Manual&lt;/a&gt;. In the last couple of weeks I completed the first assignment.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>My ever changing notetaking system</title>
      <link>https://osgav.run/blog/my-everchanging-notetaking-system.html</link>
      <pubDate>Tue, 08 Feb 2022 14:30:42 +0000</pubDate>
      
      <guid>https://osgav.run/blog/my-everchanging-notetaking-system.html</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Everything starts from a dot.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;</description>
    </item>
    
    <item>
      <title>PC Build 005: is it Build Day yet?</title>
      <link>https://osgav.run/blog/pc-build-005.html</link>
      <pubDate>Wed, 15 Dec 2021 13:53:49 +0000</pubDate>
      
      <guid>https://osgav.run/blog/pc-build-005.html</guid>
      <description>&lt;p&gt;The short answer: &lt;em&gt;no.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PC Build 004: Powered by Seasonic</title>
      <link>https://osgav.run/blog/pc-build-004.html</link>
      <pubDate>Tue, 26 Oct 2021 09:34:04 +0000</pubDate>
      
      <guid>https://osgav.run/blog/pc-build-004.html</guid>
      <description>&lt;p&gt;A power supply unit, or PSU, was the first thing I started looking into after I bought &lt;a href=&#34;https://osgav.run/blog/pc-build-001.html&#34;&gt;my case&lt;/a&gt;. But I soon realised there is a vast range of power-supplying capabilities – with the most basic question &lt;em&gt;&amp;ldquo;what wattage is it?&amp;rdquo;&lt;/em&gt; ranging from 300W to 1200W. That&amp;rsquo;s quite a difference.&lt;/p&gt;
&lt;p&gt;So, ignoring other fancy PSU stuff, how do you figure out what wattage to get?&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Now (202109).</title>
      <link>https://osgav.run/now/now-202109.html</link>
      <pubDate>Thu, 02 Sep 2021 14:16:33 +0000</pubDate>
      
      <guid>https://osgav.run/now/now-202109.html</guid>
      <description>What am I up to?</description>
    </item>
    
    <item>
      <title>PC Build 003: bundle of joy</title>
      <link>https://osgav.run/blog/pc-build-003.html</link>
      <pubDate>Thu, 19 Aug 2021 10:42:58 +0000</pubDate>
      
      <guid>https://osgav.run/blog/pc-build-003.html</guid>
      <description>&lt;p&gt;July was an exciting month.
&lt;br&gt;&lt;br&gt;
Following my &lt;a href=&#34;https://osgav.run/blog/pc-build-002.html&#34;&gt;last post&lt;/a&gt; a whole bunch of purchasing ensued. In fact, the next posts are all going to be retrospective as I&amp;rsquo;ve built my PC now!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PC Build 002: passive research</title>
      <link>https://osgav.run/blog/pc-build-002.html</link>
      <pubDate>Thu, 08 Jul 2021 13:07:37 +0000</pubDate>
      
      <guid>https://osgav.run/blog/pc-build-002.html</guid>
      <description>&lt;p&gt;The last couple of months have consisted largely of what I&amp;rsquo;ve come to call &lt;em&gt;passive research&lt;/em&gt; - aka I discovered &lt;em&gt;Linus Tech Tips&lt;/em&gt; &lt;a href=&#34;https://youtube.com/linustechtips&#34;&gt;videos on YouTube&lt;/a&gt; and have watched a copius amount of them&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PC Build 001: bought a Thermaltake Core V21 case</title>
      <link>https://osgav.run/blog/pc-build-001.html</link>
      <pubDate>Thu, 22 Apr 2021 14:01:09 +0000</pubDate>
      
      <guid>https://osgav.run/blog/pc-build-001.html</guid>
      <description>&lt;p&gt;For a couple of years I&amp;rsquo;ve had the intention of building a PC for myself – something I haven&amp;rsquo;t done in a very long time. In fact, I&amp;rsquo;ve never built a PC from scratch &lt;em&gt;for myself&lt;/em&gt; before. Back in college, in hardware class, is the only time I&amp;rsquo;ve gone from an empty case to a working computer. Around the same time, but outside of college, I did a little bit of cobbling together the better components from old computers I could get my hands on to upgrade the computers of friends and family. But I never built my own machine.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>P.A.R.A. and Zettelkasten Experiment: My Conclusion</title>
      <link>https://osgav.run/blog/para-zettelkasten-conclusion.html</link>
      <pubDate>Wed, 21 Apr 2021 14:15:59 +0000</pubDate>
      
      <guid>https://osgav.run/blog/para-zettelkasten-conclusion.html</guid>
      <description>&lt;p&gt;At the beginning of &lt;a href=&#34;https://osgav.run/blog/para-zettelkasten-experiment.html&#34;&gt;my experiment&lt;/a&gt; I intended to write regular updates on what I was getting up to, however I haven&amp;rsquo;t really done that.
&lt;br&gt;&lt;br&gt;
If I &lt;em&gt;had&lt;/em&gt; been doing that, here are a few things I retrospectively imagine I would have written about:
&lt;br&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;introducing a Task Management element to accompany the P of PARA&lt;/li&gt;
&lt;li&gt;migrating to Obsidian and introducing Markor and using it&amp;rsquo;s QuickNote feature
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;(leading on to &amp;ldquo;My QuickNote Problem&amp;rdquo; aka my latest manifestation of Collector&amp;rsquo;s Fallacy)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;trying out Daily Notes and habit tracking&lt;/li&gt;
&lt;li&gt;thinking more deliberately about the &lt;em&gt;type&lt;/em&gt; of note I&amp;rsquo;m taking&lt;/li&gt;
&lt;li&gt;experimenting with how I use tags&lt;/li&gt;
&lt;li&gt;starting to create MOCs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have plenty of rambles and reflections on all of these things in my notes but I haven&amp;rsquo;t quite nailed down the habit of publishing any of it&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>I Migrated to Obsidian</title>
      <link>https://osgav.run/blog/i-migrated-to-obsidian.html</link>
      <pubDate>Mon, 30 Nov 2020 19:31:50 +0000</pubDate>
      
      <guid>https://osgav.run/blog/i-migrated-to-obsidian.html</guid>
      <description>&lt;p&gt;For continuity of my &lt;a href=&#34;https://osgav.run/blog/para-zettelkasten-experiment.html&#34;&gt;experiment&lt;/a&gt; I felt I should mention that I have migrated from &lt;a href=&#34;https://joplinapp.org&#34;&gt;Joplin&lt;/a&gt; to &lt;a href=&#34;https://obsidian.md&#34;&gt;Obsidian&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;
In fact, I migrated about 2 months ago now. So, as far as my journey into building a notetaking system is concerned, I&amp;rsquo;ve been using Obsidian for almost as long as I used Joplin (which was about 3 months).
&lt;br&gt;&lt;br&gt;
I haven&amp;rsquo;t felt like writing a comparison of these apps, as I did when I moved from OneNote to Joplin. But I do want to point out the 2 main reasons I made the switch to Obsidian.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>GNU Terry Pratchett through the Looking Glasses</title>
      <link>https://osgav.run/blog/gnu-terry-pratchett-through-the-looking-glasses.html</link>
      <pubDate>Fri, 30 Oct 2020 14:14:18 +0000</pubDate>
      
      <guid>https://osgav.run/blog/gnu-terry-pratchett-through-the-looking-glasses.html</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;A man is not dead while his name is still spoken.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;One day I discovered the existence of Looking Glasses. It was so long ago now that I don&amp;rsquo;t remember exactly what led to it, but I know I found &lt;code&gt;http://www.bgplookingglass.com&lt;/code&gt; and became quite intrigued by it.
&lt;br&gt;&lt;br&gt;
A Looking Glass is a system that network operators might use to find out Internet routing and BGP-related information. They provide insight into how a particular router connects the Autonomous Systems that make up the internet.
&lt;br&gt;&lt;br&gt;
But this post isn&amp;rsquo;t about Looking Glasses, it&amp;rsquo;s about something else I found. So back to my story&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>RandomNote for Joplin</title>
      <link>https://osgav.run/blog/randomnote-for-joplin.html</link>
      <pubDate>Wed, 30 Sep 2020 21:13:01 +0000</pubDate>
      
      <guid>https://osgav.run/blog/randomnote-for-joplin.html</guid>
      <description>&lt;h3 id=&#34;tldr&#34; class=&#34;relative group&#34;&gt;TL;DR &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#tldr&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;I made a &lt;em&gt;RandomNote for Joplin&lt;/em&gt; button for macOS. You can find the bash, python and AppleScript concoction &lt;a href=&#34;https://github.com/osgav/randomnote-for-joplin&#34;&gt;here&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;
Apologies to non-macOS Joplin users, I have not made any other verions of this.
&lt;br&gt;&lt;br&gt;
But if you like sticking things together, the bash and python elements could be of use to you&amp;hellip;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3 id=&#34;whats-randomnote&#34; class=&#34;relative group&#34;&gt;What&amp;rsquo;s RandomNote? &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#whats-randomnote&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;I discovered the concept of &amp;ldquo;RandomNote&amp;rdquo; via Tiago Forte&amp;rsquo;s &lt;a href=&#34;https://fortelabs.co/blog/p-a-r-a-iii-building-an-idea-generator/&#34;&gt;PARA series&lt;/a&gt;. To describe it at surface level: he created a button that opens a random note from his Evernote notes.
&lt;br&gt;&lt;br&gt;
The purpose of such a button is to aid in serendipitous rediscovery of your old notes. That&amp;rsquo;s not going much deeper, to be honest. To see what inspired me into action I encourage you to &lt;a href=&#34;https://fortelabs.co/blog/p-a-r-a-iii-building-an-idea-generator/&#34;&gt;read Tiago&amp;rsquo;s post&lt;/a&gt; about it. He has a way with words which I do not.
&lt;br&gt;&lt;br&gt;
The rest of this post is an extension of the &amp;ldquo;API / Automation Friendly&amp;rdquo; criteria from my &lt;a href=&#34;https://osgav.run/blog/onenote-vs-joplin.html&#34;&gt;OneNote vs Joplin&lt;/a&gt; blog post.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>OneNote vs Joplin</title>
      <link>https://osgav.run/blog/onenote-vs-joplin.html</link>
      <pubDate>Wed, 19 Aug 2020 21:06:18 +0000</pubDate>
      
      <guid>https://osgav.run/blog/onenote-vs-joplin.html</guid>
      <description>&lt;p&gt;As explained in my &lt;a href=&#34;https://osgav.run/blog/para-zettelkasten-experiment.html&#34;&gt;previous blog post&lt;/a&gt;, I have started an experiment on my notetaking methods.
&lt;br&gt;&lt;br&gt;
Before I had the idea for that experiment I dived into using &lt;a href=&#34;https://www.onenote.com/&#34;&gt;Microsoft OneNote&lt;/a&gt;, because I was so excited to try out &lt;a href=&#34;https://fortelabs.co/blog/para/&#34;&gt;P.A.R.A.&lt;/a&gt;
&lt;br&gt;&lt;br&gt;
I did that because I&amp;rsquo;ve used OneNote in the past, so it was familiar. But, within a couple of days of falling further down the P.A.R.A. and Zettelkasten rabbit-hole, I changed my mind.
&lt;br&gt;&lt;br&gt;
I found &lt;a href=&#34;https://joplinapp.org/&#34;&gt;Joplin&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>P.A.R.A. and Zettelkasten Experiment</title>
      <link>https://osgav.run/blog/para-zettelkasten-experiment.html</link>
      <pubDate>Fri, 31 Jul 2020 08:31:13 +0000</pubDate>
      
      <guid>https://osgav.run/blog/para-zettelkasten-experiment.html</guid>
      <description>&lt;p&gt;Recently I decided to do something about my notes and notetaking methods.
&lt;br&gt;&lt;br&gt;
Up until a few weeks ago, my notes were an increasingly unwieldy pile of &lt;code&gt;.txt&lt;/code&gt; files. I was using Slack as a &lt;del&gt;blackhole&lt;/del&gt; means of getting the odd link from my phone to my laptop.
&lt;br&gt;&lt;br&gt;
It wasn&amp;rsquo;t great. Notes were seldom revisited. The majority of things put into Slack remained there&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>mermaid</title>
      <link>https://osgav.run/lab/mermaid.html</link>
      <pubDate>Sat, 09 Mar 2019 16:35:49 +0000</pubDate>
      
      <guid>https://osgav.run/lab/mermaid.html</guid>
      <description>created: 09/03/2019</description>
    </item>
    
    <item>
      <title>cli-database</title>
      <link>https://osgav.run/lab/cli-database.html</link>
      <pubDate>Sat, 09 Mar 2019 15:47:31 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-database.html</guid>
      <description>created: 09/03/2019</description>
    </item>
    
    <item>
      <title>Mermaid Diagrams</title>
      <link>https://osgav.run/blog/mermaid-diagrams.html</link>
      <pubDate>Sat, 23 Feb 2019 11:00:01 +0000</pubDate>
      
      <guid>https://osgav.run/blog/mermaid-diagrams.html</guid>
      <description>&lt;script src=&#34;https://osgav.run/js/mermaid_dist_8.0.0-rc.6.js&#34;&gt;&lt;/script&gt;


&lt;div class=&#34;mermaid&#34;&gt;


graph LR;

A(Mermaid)
B(Diagrams)
C(Are)
D(Awesome)

A--&gt;B;
B--&gt;C;
C--&gt;D;

style B fill:#f9f,stroke:#333,stroke-width:4px
click B &#34;https://mermaidjs.github.io&#34; &#34;Mermaid!&#34;


&lt;/div&gt;</description>
    </item>
    
    <item>
      <title>CLI tmux</title>
      <link>https://osgav.run/lab/cli-tmux.html</link>
      <pubDate>Sun, 17 Feb 2019 15:56:48 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-tmux.html</guid>
      <description>created: 17/02/2019</description>
    </item>
    
    <item>
      <title>CLI docker</title>
      <link>https://osgav.run/lab/cli-docker.html</link>
      <pubDate>Fri, 01 Feb 2019 22:47:21 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-docker.html</guid>
      <description>created: 01/02/2019</description>
    </item>
    
    <item>
      <title>python</title>
      <link>https://osgav.run/lab/python.html</link>
      <pubDate>Sun, 27 Jan 2019 10:08:37 +0000</pubDate>
      
      <guid>https://osgav.run/lab/python.html</guid>
      <description>created: 27/01/2019</description>
    </item>
    
    <item>
      <title>#100DaysOfCode in Python</title>
      <link>https://osgav.run/lab/100daysofcode.html</link>
      <pubDate>Sun, 20 Jan 2019 16:00:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/100daysofcode.html</guid>
      <description>created: 20/01/2019</description>
    </item>
    
    <item>
      <title>Hugo Date Operations (osgav epoch)</title>
      <link>https://osgav.run/lab/hugo-date-operations.html</link>
      <pubDate>Sat, 19 Jan 2019 14:18:00 +0000</pubDate>
      
      <guid>https://osgav.run/lab/hugo-date-operations.html</guid>
      <description>created: 19/01/2019</description>
    </item>
    
    <item>
      <title>Mermaid Diagrams on Hugo</title>
      <link>https://osgav.run/lab/hugo-mermaid-diagrams.html</link>
      <pubDate>Sat, 19 Jan 2019 12:27:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/hugo-mermaid-diagrams.html</guid>
      <description>created: 19/01/2019</description>
    </item>
    
    <item>
      <title>CLI environment &amp; shell</title>
      <link>https://osgav.run/lab/cli-env-shell.html</link>
      <pubDate>Fri, 04 Jan 2019 12:10:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-env-shell.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>CLI tree</title>
      <link>https://osgav.run/lab/cli-tree.html</link>
      <pubDate>Fri, 04 Jan 2019 12:10:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-tree.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>CLI web</title>
      <link>https://osgav.run/lab/cli-web.html</link>
      <pubDate>Fri, 04 Jan 2019 12:10:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-web.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>Command Line Interface</title>
      <link>https://osgav.run/lab/cli.html</link>
      <pubDate>Fri, 04 Jan 2019 12:10:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>ELK</title>
      <link>https://osgav.run/lab/elk.html</link>
      <pubDate>Fri, 04 Jan 2019 11:50:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/elk.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>CLI git</title>
      <link>https://osgav.run/lab/cli-git.html</link>
      <pubDate>Fri, 04 Jan 2019 11:20:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cli-git.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>CoffeeScript (Hubot)</title>
      <link>https://osgav.run/lab/coffeescript-hubot.html</link>
      <pubDate>Fri, 04 Jan 2019 11:00:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/coffeescript-hubot.html</guid>
      <description>created: 04/01/2019</description>
    </item>
    
    <item>
      <title>cheatsheet</title>
      <link>https://osgav.run/lab/cheatsheet.html</link>
      <pubDate>Tue, 01 Jan 2019 12:30:00 +0000</pubDate>
      
      <guid>https://osgav.run/lab/cheatsheet.html</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://raw.githubusercontent.com/osgav/osgav-source/master/content/lab/cheatsheet.md&#34;&gt;&lt;em&gt;&lt;strong&gt;view source on Github&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://sourceforge.net/p/hugo-generator/wiki/markdown_syntax/&#34;&gt;https://sourceforge.net/p/hugo-generator/wiki/markdown_syntax/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://assemble.io/docs/Cheatsheet-Markdown.html&#34;&gt;http://assemble.io/docs/Cheatsheet-Markdown.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.webpagefx.com/tools/emoji-cheat-sheet/&#34;&gt;https://www.webpagefx.com/tools/emoji-cheat-sheet/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the following &lt;code&gt;more&lt;/code&gt; html comment to manually create the &amp;ldquo;summary&amp;rdquo; block of content for the front page&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>operation not possible due to rf-kill hard blocked</title>
      <link>https://osgav.run/blog/operation-not-possible-rfkill.html</link>
      <pubDate>Sun, 09 Sep 2018 20:20:02 +0000</pubDate>
      
      <guid>https://osgav.run/blog/operation-not-possible-rfkill.html</guid>
      <description>&lt;p&gt;Are you googling for &lt;code&gt;rfkill&lt;/code&gt; :question:&lt;/p&gt;
&lt;p&gt;It is probably either a hardware switch or BIOS setting that has disabled your wireless&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Fix Rundeck Export Archive</title>
      <link>https://osgav.run/blog/fix-rundeck-export-archive.html</link>
      <pubDate>Sun, 09 Sep 2018 20:20:01 +0000</pubDate>
      
      <guid>https://osgav.run/blog/fix-rundeck-export-archive.html</guid>
      <description>&lt;p&gt;Seeing an error when trying to Export Archive for one of your Rundeck projects?&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Project export request failed: Could not create temp file for archive: No such file or directory&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;You might be missing your Rundeck &amp;ldquo;temp directory&amp;rdquo; which has a straightforward fix&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Datadog on Raspberry Pi: Enabling Network and Process Metrics</title>
      <link>https://osgav.run/blog/datadog-rpi-network-process-metrics.html</link>
      <pubDate>Sun, 06 May 2018 16:10:01 +0000</pubDate>
      
      <guid>https://osgav.run/blog/datadog-rpi-network-process-metrics.html</guid>
      <description>&lt;p&gt;Empty graphs in Datadog after installing the agent on a Raspberry Pi?&lt;br /&gt;
I experienced this and fixed it by installing a couple of things&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>whois osgav</title>
      <link>https://osgav.run/whois/osgav.html</link>
      <pubDate>Thu, 19 Apr 2018 18:50:42 +0100</pubDate>
      
      <guid>https://osgav.run/whois/osgav.html</guid>
      <description>I&amp;rsquo;m going to write a new blurb here soon - my first one can still be found here.</description>
    </item>
    
    <item>
      <title>Lab</title>
      <link>https://osgav.run/lab/root.html</link>
      <pubDate>Tue, 30 May 2017 18:50:42 +0000</pubDate>
      
      <guid>https://osgav.run/lab/root.html</guid>
      <description>Lab Notes # I&amp;rsquo;ve been swithering about how to use this portion of my website - I knew I wanted a &amp;ldquo;reference&amp;rdquo; section of some sort to accompany blog posts, and somewhere to generally experiment with my content.</description>
    </item>
    
    <item>
      <title>Hugo TravisCI Pipeline Broken?</title>
      <link>https://osgav.run/blog/hugo-travis-broken.html</link>
      <pubDate>Tue, 30 May 2017 17:51:59 +0000</pubDate>
      
      <guid>https://osgav.run/blog/hugo-travis-broken.html</guid>
      <description>&lt;h4 id=&#34;tldr&#34; class=&#34;relative group&#34;&gt;TL;DR &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#tldr&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;em&gt;If your &lt;code&gt;.travis.yml&lt;/code&gt; install section looks like this and the build is failing to install Hugo&amp;hellip;&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; install:
 - go get github.com/spf13/hugo
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;&amp;hellip;then try updating it to download a specific version of the &lt;code&gt;hugo&lt;/code&gt; binary:&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;install:
- export VER=0.18.1
- wget https://github.com/spf13/hugo/releases/download/v${VER}/hugo_${VER}_Linux-64bit.tar.gz
- tar xvzf hugo_${VER}_Linux-64bit.tar.gz
- mkdir -p $GOPATH/bin
- cp hugo_${VER}_linux_amd64/hugo_${VER}_linux_amd64 $GOPATH/bin/hugo
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;Why? Read on&amp;hellip;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Recent Ansible Adventures</title>
      <link>https://osgav.run/blog/recent-ansible-adventures.html</link>
      <pubDate>Tue, 30 May 2017 12:51:59 +0000</pubDate>
      
      <guid>https://osgav.run/blog/recent-ansible-adventures.html</guid>
      <description>&lt;h4 id=&#34;oops&#34; class=&#34;relative group&#34;&gt;Oops &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#oops&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;So I recently picked up my Rundeck project again. My “production” instance has been running &lt;em&gt;mostly*&lt;/em&gt; A-OK for many months now - except for 1 blip, it has got off easy. I’ve been using it as an unusual home for my own “documentation” of sorts. My plan for a third Rundeck blog post has been on the back-burner for a while, now beneath a virtual pile of other drafts. Now seemed good a time as any to resume my blog plans, starting where I left off!
&lt;br /&gt;&lt;br /&gt;
My original plan was adding to the playbook so it configured the &lt;a href=&#34;https://github.com/Batix/rundeck-ansible-plugin&#34;&gt;Rundeck Ansible Plugin&lt;/a&gt; as well. Ansible configuring Ansible. Instead of diving into the original plan I thought I&amp;rsquo;d re-familiarize myself with &lt;em&gt;one layer&lt;/em&gt; of Ansible first.
&lt;br /&gt;&lt;br /&gt;
&lt;em&gt;As it happened, I had the inspiration I needed to start working on a&lt;/em&gt; &lt;em&gt;&lt;strong&gt;money-saving&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;playbook&amp;hellip;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>RIPE Atlas Network</title>
      <link>https://osgav.run/blog/ripe-atlas-network.html</link>
      <pubDate>Sun, 30 Oct 2016 19:26:48 +0000</pubDate>
      
      <guid>https://osgav.run/blog/ripe-atlas-network.html</guid>
      <description>&lt;h4 id=&#34;ripe-atlas-network&#34; class=&#34;relative group&#34;&gt;RIPE Atlas Network &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#ripe-atlas-network&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;Probes connected to RIPE Atlas: &lt;strong&gt;9364&lt;/strong&gt;&lt;br /&gt;
Measurements currently running: &lt;strong&gt;11719&lt;/strong&gt;&lt;br /&gt;
Results collected per second: &lt;strong&gt;4082&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
A couple of months ago I stumbled across an interesting &lt;a href=&#34;https://blog.webernetz.net/2016/06/02/ripe-atlas-measurements/&#34;&gt;blog&lt;/a&gt; &lt;a href=&#34;https://blog.webernetz.net/2016/06/07/ripe-atlas-probe-stats/&#34;&gt;post&lt;/a&gt; about the &lt;a href=&#34;https://atlas.ripe.net/&#34;&gt;RIPE&lt;/a&gt; &lt;a href=&#34;https://atlas.ripe.net/about/&#34;&gt;Atlas&lt;/a&gt; &lt;a href=&#34;https://atlas.ripe.net/campaigns/8a5cceb1-bf51-49b6-a72b-a005a05dcafe/&#34;&gt;Network&lt;/a&gt; - &lt;em&gt;&lt;strong&gt;a global network of probes that measure Internet connectivity and reachability&lt;/strong&gt;&lt;/em&gt; - and was very intrigued to discover this was something I could join, both physically and virtually by obtaining an Atlas probe and completing a typical account registration&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Rundeck on AWS Part II: Ansible</title>
      <link>https://osgav.run/blog/rundeck-on-aws-part-ii.html</link>
      <pubDate>Thu, 20 Oct 2016 19:47:42 +0000</pubDate>
      
      <guid>https://osgav.run/blog/rundeck-on-aws-part-ii.html</guid>
      <description>&lt;p&gt;Following on from &lt;a href=&#34;https://osgav.run/blog/rundeck-on-aws-part-i.html&#34;&gt;Part I&lt;/a&gt;, I&amp;rsquo;ve now starting writing an Ansible playbook for creating a Rundeck server in AWS - which can currently provision and terminate a Rundeck server. No more CloudFormation to deploy a new instance woohoo!&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>hugo --&gt; AWS --&gt; https://osgav.run</title>
      <link>https://osgav.run/blog/hugo-to-aws-to-https.html</link>
      <pubDate>Sat, 01 Oct 2016 14:56:12 +0000</pubDate>
      
      <guid>https://osgav.run/blog/hugo-to-aws-to-https.html</guid>
      <description>&lt;h4 id=&#34;why-migrate-to-aws&#34; class=&#34;relative group&#34;&gt;Why migrate to AWS? &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#why-migrate-to-aws&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;As well as &lt;a href=&#34;https://osgav.run/blog/rundeck-on-aws-part-i.html&#34;&gt;catching up&lt;/a&gt; on drafted blog posts last weekend, I migrated this blog from GitHub Pages, KloudSec, Domain Registrar&amp;rsquo;s DNS &amp;amp; Let&amp;rsquo;s Encrypt to Amazon Web Services: S3, CloudFront, Route53 &amp;amp; Certificate Manager. I also introduced Travis CI and continued using GitHub for version control (but no longer hosting). This migration to AWS was in light of one of my apprehensions about KloudSec unfortunately materializing - it was a fairly small and new company and has recently ceased to exist. As such my Let&amp;rsquo;s Encrypt certificate had expired and was no longer auto-renewed by KloudSec so my blog was showing a HTTPS error when you visited it - boo. Time to pay for a risky design choice&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Rundeck CloudFormation</title>
      <link>https://osgav.run/lab/rundeck-cloudformation.html</link>
      <pubDate>Sun, 25 Sep 2016 11:37:09 +0000</pubDate>
      
      <guid>https://osgav.run/lab/rundeck-cloudformation.html</guid>
      <description>created: 25/09/2016</description>
    </item>
    
    <item>
      <title>Rundeck on AWS Part I: CloudFormation</title>
      <link>https://osgav.run/blog/rundeck-on-aws-part-i.html</link>
      <pubDate>Sun, 25 Sep 2016 11:37:09 +0000</pubDate>
      
      <guid>https://osgav.run/blog/rundeck-on-aws-part-i.html</guid>
      <description>&lt;h4 id=&#34;then&#34; class=&#34;relative group&#34;&gt;Then&amp;hellip; &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#then&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;A few months ago I started playing around with &lt;a href=&#34;http://rundeck.org/&#34;&gt;Rundeck&lt;/a&gt; - a platform for &lt;em&gt;runbook automation, job scheduling, incident response, post-build deployment automation, environment provisioning, data processing jobs&lt;/em&gt; and anything you like really it seems, according to its website.&lt;/p&gt;
&lt;p&gt;This all sounded very interesting so I set about trying out the &lt;a href=&#34;http://rundeck.org/downloads.html&#34;&gt;vagrant image&lt;/a&gt; locally at first, then quickly decided I&amp;rsquo;d like to get an instance running in AWS with the &lt;a href=&#34;http://rundeck.org/plugins/2013/01/01/aws-ec2-nodes.html&#34;&gt;EC2 plugin&lt;/a&gt; so I could control a few nodes with it and really test it out&amp;hellip;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Hugo Platform Runbook</title>
      <link>https://osgav.run/lab/hugo-platform-runbook.html</link>
      <pubDate>Sun, 12 Jun 2016 21:33:09 +0000</pubDate>
      
      <guid>https://osgav.run/lab/hugo-platform-runbook.html</guid>
      <description>created: 12/06/2016</description>
    </item>
    
    <item>
      <title>hugo --&gt; https://osgav.run</title>
      <link>https://osgav.run/blog/hugo-to-https.html</link>
      <pubDate>Sun, 12 Jun 2016 11:33:49 +0000</pubDate>
      
      <guid>https://osgav.run/blog/hugo-to-https.html</guid>
      <description>I stumbled across the Hugo static site generator recently and after reading a little and watching a short video (01:08) I thought it looked pretty interesting and worth trying out.</description>
    </item>
    
    <item>
      <title>Hugo Build and Publish Workflow</title>
      <link>https://osgav.run/lab/hugo-build-and-publish-workflow.html</link>
      <pubDate>Sat, 11 Jun 2016 20:10:08 +0000</pubDate>
      
      <guid>https://osgav.run/lab/hugo-build-and-publish-workflow.html</guid>
      <description>created: 11/06/2016</description>
    </item>
    
    <item>
      <title>Hugo Markdown Cheatsheet</title>
      <link>https://osgav.run/lab/hugo-markdown-cheatsheet.html</link>
      <pubDate>Sat, 11 Jun 2016 16:40:05 +0000</pubDate>
      
      <guid>https://osgav.run/lab/hugo-markdown-cheatsheet.html</guid>
      <description>created: 11/06/2016</description>
    </item>
    
    <item>
      <title>ZER0D0TS</title>
      <link>https://osgav.run/blog/zerodots.html</link>
      <pubDate>Sat, 11 Jun 2016 15:50:35 +0000</pubDate>
      
      <guid>https://osgav.run/blog/zerodots.html</guid>
      <description>&lt;p&gt;&lt;code&gt;ZER0D0TS&lt;/code&gt; is my username on &lt;a href=&#34;https://twitter.com/ZER0D0TS&#34; title=&#34;ZER0D0TS&#34;&gt;Twitter&lt;/a&gt; and an old WordPress blog I never really used. May it rest in peace. This blog on the other hand I shall keep alive with a slow drip of posts and curious projects&amp;hellip; the first of which, shall be the infamous &lt;em&gt;&lt;strong&gt;how I set up this blog&lt;/strong&gt;&lt;/em&gt; post!&lt;/p&gt;
&lt;p&gt;For now, this &lt;a href=&#34;https://osgav.run/lab/hugo-markdown-cheatsheet.html&#34;&gt;hugo markdown cheatsheet&lt;/a&gt; is a taster of the sort of things I&amp;rsquo;m going to do to make blogging easier for myself.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>$ whois osgav</title>
      <link>https://osgav.run/blog/whois-osgav.html</link>
      <pubDate>Sun, 05 Jun 2016 13:41:15 +0000</pubDate>
      
      <guid>https://osgav.run/blog/whois-osgav.html</guid>
      <description>&lt;h3 id=&#34;osgavrun&#34; class=&#34;relative group&#34;&gt;osgav.run &lt;span class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;&lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700&#34; style=&#34;text-decoration-line: none !important;&#34; href=&#34;#osgavrun&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;https://osgav.run/&lt;/code&gt; is my personal blog - a place for me to ramble and write about projects I&amp;rsquo;m working on. Historically I&amp;rsquo;ve not been an avid blogger, but this changes now! Starting with a shiny new lightweight blogging framework and polished &lt;a href=&#34;https://osgav.run/lab/hugo-build-and-publish-workflow.html&#34;&gt;writing and publishing workflow&amp;hellip;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
So who am I? And what do I do?&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
