<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>tommy's scratchpad - geospatial, open source, personal</title><link href="https://kralidis.ca/blog/" rel="alternate"/><link href="https://kralidis.ca/blog/feeds/geospatial-open-source-personal.atom.xml" rel="self"/><id>https://kralidis.ca/blog/</id><updated>2021-01-01T12:41:00+00:00</updated><entry><title>Bye Bye 2020</title><link href="https://kralidis.ca/blog/blog/2021/01/01/bye-bye-2020/" rel="alternate"/><published>2021-01-01T12:41:00+00:00</published><updated>2021-01-01T12:41:00+00:00</updated><author><name>tomkralidis</name></author><id>tag:kralidis.ca,2021-01-01:/blog/blog/2021/01/01/bye-bye-2020/</id><summary type="html">&lt;p&gt;So &lt;a href="https://en.wikipedia.org/wiki/2020"&gt;2020 didn't quite work out&lt;/a&gt; as expected or hoped. Still, in a year where days seemed to fold into one another, the 24 hour home office and endless virtual meetings, some successes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pygeoapi.io"&gt;pygeoapi&lt;/a&gt;: the Python OGC API server continues to pick up steam. The project was presented, demoed and …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;So &lt;a href="https://en.wikipedia.org/wiki/2020"&gt;2020 didn't quite work out&lt;/a&gt; as expected or hoped. Still, in a year where days seemed to fold into one another, the 24 hour home office and endless virtual meetings, some successes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pygeoapi.io"&gt;pygeoapi&lt;/a&gt;: the Python OGC API server continues to pick up steam. The project was presented, demoed and discussed at numerous events. 2020 saw the addition of support for OGC API - Coverages, OGC API - Tiles, STAC, as well as improvements to OGC API - Processing job management and queryables&lt;/li&gt;
&lt;li&gt;more &lt;a href="https://geopython.github.io"&gt;Geopython&lt;/a&gt;: &lt;a href="https://pycsw.org"&gt;pycsw&lt;/a&gt;, &lt;a href="https://pywps.org"&gt;PyWPS&lt;/a&gt;, &lt;a href="https://geopython.github.io/OWSLib"&gt;OWSLib&lt;/a&gt;, &lt;a href="https://geohealthcheck.org"&gt;GeoHealthCheck&lt;/a&gt; continue to be developed/maintained, and we are starting to see OGC API support trickling in. Big thanks to the communities that support those projects. &lt;a href="https://geopython.github.cio/pygeometa"&gt;pygeometa&lt;/a&gt; has been refactored for supporting any metadata format output, which further positions the project for STAC and JSON-based metadata exchange&lt;/li&gt;
&lt;li&gt;WMO: with the new WMO structure in place, I was honoured to be nominated to the Standing Committee on Information Management and Technology (&lt;a href="https://community.wmo.int/governance/commission-membership/commission-observation-infrastructures-and-information-systems-infcom/commission-infrastructure-officers/infcom-management-group/standing-committee-information-management-and-technology-sc-imt"&gt;SC-IMT&lt;/a&gt;), as well as chairing the Expert Team on Metadata Standards of (&lt;a href="https://community.wmo.int/governance/commission-membership/commission-observation-infrastructures-and-information-systems-infcom/commission-infrastructure-national-representatives/infcom-management-group/standing-committee-information-management-and-technology-sc-imt/et-metadata"&gt;ET-Metadata&lt;/a&gt;) and participation on ET-Data&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.canada.ca/en/environment-climate-change/services/weather-general-tools-resources/weather-tools-specialized-data/msc-geomet-api-geospatial-web-services.html"&gt;GeoMet&lt;/a&gt;: our weather/climate/water API platform continues to grow with more open data and OGC API support, powering the &lt;a href="https://canada.ca/climate-services"&gt;Canadian Centre for Climate Services&lt;/a&gt;, WeatherCAN, Canadian Open Data and beyond&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ogcapi.ogc.org"&gt;OGC API&lt;/a&gt;: Records and Coverages are groups that I was particularly involved in to move forward discovery and raster data API access. I look forward to help lock down these standards&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.osgeo.org/about/board/"&gt;OSGeo Board of Directors&lt;/a&gt;: I was honoured to be re-elected for a second term to the Board and look forward helping OSGeo grow, particularly with regards to standards implementation in the Community&lt;/li&gt;
&lt;li&gt;health&lt;/li&gt;
&lt;li&gt;another year (circa 2012) of not smoking&lt;/li&gt;
&lt;li&gt;the pandemic has not been easy for weight management. Time to get back on that!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For 2021:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OGC API: the march continues to modernize the API client/server ecosystem, and I'll be targeting the Geopython projects, as well as QGIS, MapServer, GeoNode and associated Golang tools&lt;/li&gt;
&lt;li&gt;OSGeo: continue to foster interaction with standards development organizations (OGC, ISO TC211, etc.) and help navigate the community through these unprecedented times&lt;/li&gt;
&lt;li&gt;pycsw: update the pycsw core model to encompass OGC API as well as integration with pygeoapi&lt;/li&gt;
&lt;li&gt;pygeoapi: work on OGC API - Records and OGC API - Maps continues to progress and should make its way into master this year. Other candidates include OGC API - Styles and EDR API. In addition, I'm hoping this is the year we enter OSGeo incubation&lt;/li&gt;
&lt;li&gt;this website: revitalize the photo galleries and possibly migrating the blog into a static site generator approach&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In summary, another year of firm belief in the &lt;a href="https://en.wikipedia.org/wiki/Unix_philosophy"&gt;Unix philosophy&lt;/a&gt;, composable workflow and lowering the barrier to geospatial data and tools for anyone.&lt;/p&gt;
&lt;p&gt;I hope we have the ability at some point to see one another this year, whether at a code sprint or meeting/event. I’d like to wish everyone and their loved ones a healthy, safe, happy and, well, better 2021!&lt;/p&gt;</content><category term="geospatial, open source, personal"/></entry><entry><title>Cheers to 2018</title><link href="https://kralidis.ca/blog/blog/2018/12/28/cheers-to-2018/" rel="alternate"/><published>2018-12-28T12:59:00+00:00</published><updated>2018-12-28T12:59:00+00:00</updated><author><name>tomkralidis</name></author><id>tag:kralidis.ca,2018-12-28:/blog/blog/2018/12/28/cheers-to-2018/</id><summary type="html">&lt;p&gt;What a year!  Following on from &lt;a href="http://www.kralidis.ca/blog/2017/12/31/cheers-to-2017/"&gt;2017&lt;/a&gt;, in no particular order, here goes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018"&gt;Bonn Code Sprint&lt;/a&gt;: talk about a worthwhile event!  It was great to meet old and new OSGeo hackers.  Serious progress made on many projects (keep reading)&lt;/li&gt;
&lt;li&gt;OWSLib: thanks to Carsten Ebrecht, we finally have a much better …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;What a year!  Following on from &lt;a href="http://www.kralidis.ca/blog/2017/12/31/cheers-to-2017/"&gt;2017&lt;/a&gt;, in no particular order, here goes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018"&gt;Bonn Code Sprint&lt;/a&gt;: talk about a worthwhile event!  It was great to meet old and new OSGeo hackers.  Serious progress made on many projects (keep reading)&lt;/li&gt;
&lt;li&gt;OWSLib: thanks to Carsten Ebrecht, we finally have a much better handling on tests (moving to pytest, skipping hosts that are down, etc.).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.osgeo.org/about/board/"&gt;OSGeo Board of Directors&lt;/a&gt;: I was honoured and excited to be nominated and elected into the Board and look forward to helping guide the way for the Foundation&lt;/li&gt;
&lt;li&gt;pycsw: we released 2.2 at the Bonn Code Sprint, and our Athens dev meeting in the summer helped paved the way for pycsw 3.0 which will get a major revamp given the direction of the OGC service architecture modernization&lt;/li&gt;
&lt;li&gt;&lt;a href="https://geohealthcheck.org/"&gt;GeoHealthCheck&lt;/a&gt;: thanks to Just Van Den Broecke and others we made progress this year on per resource scheduling and Docker.  In related news, check out &lt;a href="https://geoqos.com"&gt;GeoQoS&lt;/a&gt; which provides GHC as a service.  Great work Just!&lt;/li&gt;
&lt;li&gt;PyWPS: this Python based WPS server &lt;a href="http://pywps.org/2018/05/30/incubation.html"&gt;graduated&lt;/a&gt; as an OSGeo project!  Congratulations to the community and thanks for helping with incubation&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/geopython/GeoUsage"&gt;GeoUsage&lt;/a&gt;: following the UNIX philosophy, this lightweight Python package provides OWS aware web analytics.  Handy for finding out your top requested WMS layers, for example&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/geopython/pygeoapi"&gt;pygeoapi&lt;/a&gt;: born out of the OGC WFS 3 hackathon and Bonn Code Sprint, pygeoapi provides WFS 3 capability and a way forward framework for OGC web services (read REST/JSON).  A clean break from the traditional OGC service interface design pattern&lt;/li&gt;
&lt;li&gt;adventures in Go: in the new horizons category, &lt;a href="https://github.com/go-spatial/geocatalogo"&gt;geocatalogo&lt;/a&gt; and &lt;a href="https://github.com/go-spatial/jivan"&gt;jivan&lt;/a&gt; were developed to support the STAC and WFS3 APIs using Go and everything it brings to the table.  I have to admit, even as a Python die-hard, Go is fun to work with and has great potential for the long term&lt;/li&gt;
&lt;li&gt;Pydap: we revived Pydap this fall by providing access for more maintainers and clearing out some of the issue backlog&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.canada.ca/en/environment-climate-change/services/weather-general-tools-resources/weather-tools-specialized-data/geospatial-web-services.html"&gt;GeoMet&lt;/a&gt;: as part of the Meteorological Service of Canada we released a major upgrade to our national realtime weather WMS, thanks to MapServer and Python MapScript.  1000s of weather layers via OGC standards!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://canada.ca/climate-services"&gt;CCCS&lt;/a&gt;: the Canadian Centre for Climate Services was launched in the fall and I was lucky enough to architect the provisioning of 1000s of climate datasets as OGC Web Services and the &lt;a href="https://climate-change.canada.ca/climate-data/"&gt;extraction tool&lt;/a&gt;.  As part of this effort we used pygeoapi to serve out our station data archives and mappyfile/MapServer/Python MapScript for historical and forecast climate datasets.  As icing on the cake we've published our relevant source code to &lt;a href="https://github.com/ECCC-CCCS"&gt;GitHub&lt;/a&gt; to boot -- check it out!  I can't recommend enough &lt;a href="https://github.com/geographika/mappyfile"&gt;mappyfile&lt;/a&gt; for those who need composable mapfile workflows!&lt;/li&gt;
&lt;li&gt;health&lt;/li&gt;
&lt;li&gt;another year (circa 2012) of not smoking&lt;/li&gt;
&lt;li&gt;I've put on most of the weight I lost in the last couple of years (no excuses).  Back on it in 2019 I promise.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For 2019:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OGC next generation APIs: one way or another all major OGC service specifications will undergo the REST/JSON/clean break treatment.  This means updates to servers and clients accordingly (read pycsw, PyWPS, pygeoapi, MapServer, OWSLib, etc.), as well as supporting tools&lt;/li&gt;
&lt;li&gt;OSGeo Board: there is an interest in geospatial Python implementations from the OGC and I'll be looking for ways to market &lt;a href="https://geopython.github.io/"&gt;geopython&lt;/a&gt; more to OGC from an OSGeo perspective&lt;/li&gt;
&lt;li&gt;Pydap: I think this is the year that I do something real with Pydap.  On deck is stable deployment and custom handlers for weather data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’d like to wish everyone and their loved ones a healthy, happy and productive 2019!&lt;/p&gt;</content><category term="geospatial, open source, personal"/></entry><entry><title>Cheers to 2017</title><link href="https://kralidis.ca/blog/blog/2017/12/31/cheers-to-2017/" rel="alternate"/><published>2017-12-31T12:52:00+00:00</published><updated>2017-12-31T12:52:00+00:00</updated><author><name>tomkralidis</name></author><id>tag:kralidis.ca,2017-12-31:/blog/blog/2017/12/31/cheers-to-2017/</id><summary type="html">&lt;p&gt;At the beginning of a new year, it is beneficial to reflect on the previous year and summarize the significant events and memories. This can include everything from the new knowledge and skills gained to special moments like children's birthdays and cherished gifts like &lt;a href="https://pastelcollections.com/mini-boy"&gt;baby boy clothes&lt;/a&gt;. Taking the time …&lt;/p&gt;</summary><content type="html">&lt;p&gt;At the beginning of a new year, it is beneficial to reflect on the previous year and summarize the significant events and memories. This can include everything from the new knowledge and skills gained to special moments like children's birthdays and cherished gifts like &lt;a href="https://pastelcollections.com/mini-boy"&gt;baby boy clothes&lt;/a&gt;. Taking the time to acknowledge and appreciate these experiences can help us enter the new year with a sense of gratitude and excitement for what lies ahead.&lt;/p&gt;
&lt;p&gt;Here we go again! Following on from last year, a summary of my 2017:&lt;/p&gt;
&lt;p&gt;- pycsw: the lightweight CSW server continues provide stable, composable, and compliant CSW services.  Highlights include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;an official code of conduct&lt;/li&gt;
&lt;li&gt;Docker image&lt;/li&gt;
&lt;li&gt;testing framework enhancements&lt;/li&gt;
&lt;li&gt;code coverage support&lt;/li&gt;
&lt;li&gt;custom repository plugin filter parsing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;- MapServer metadata: at long last RFC82 has been implemented in master and will be available in 7.2.  This enhancement will bring more fulsome layer/feature type/coverage metadata support to OGC web services in MapServer&lt;/p&gt;
&lt;p&gt;- QGIS metadata: at long last metadata support is building in QGIS!  There is now an official internal schema as well as work in master around the editor&lt;/p&gt;
&lt;p&gt;- parsers: in the back to basics category, pyshadoz and pynumeric were built as small, composable Python packages to feed operational data processing workflows.  At the end of the day (or the beginning depending on how you look at it), it's all about the data, and data formats are everything&lt;/p&gt;
&lt;p&gt;- other geopython:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pygeometa: another little toolset for discovery metadata, YAML is now the supported configuration format&lt;/li&gt;
&lt;li&gt;OWSLib: continues its (still pre-1.0!) journey, making OWS suck less&lt;/li&gt;
&lt;li&gt;GeoHealthCheck: &lt;a href="https://justobjects.nl"&gt;Just&lt;/a&gt; has been leading the charge on improvements and fixes to GHC (thanks Just!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;- health:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;another year (circa 2012) of not smoking&lt;/li&gt;
&lt;li&gt;I'm happy to continue commitment to the Greek/Mediterranean diet.  Another 10lbs would be great, however I'm very happy with my overall state of weight management (first time since starting a desk job in 1997).  Some small adjustments and minor ups/downs, but overall stable and continued following of &lt;a href="http://www.olivetomato.com/"&gt;olivetomato.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I've also given up coffee after 25 years and would highly recommend it!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For 2018:&lt;/p&gt;
&lt;p&gt;-pycsw: the pycsw team is attending the OSGeo Code Sprint 2018 in Bonn, and will be working on getting 2.2 out the door as well as pycsw 3.0 planning (more info on this soon)&lt;/p&gt;
&lt;p&gt;- QGIS metadata: looking forward to continuing this effort with enhancements to MetaSearch to allow for CSW publishing&lt;/p&gt;
&lt;p&gt;- Pydap: I'm hoping to make some serious movement in deployment Pydap with some dayjob projects.  Key focus is hardening deployment as well as stability&lt;/p&gt;
&lt;p&gt;- &lt;a href="https://golang.org/"&gt;Golang&lt;/a&gt;: some may have seen some recent work on &lt;a href="https://github.com/tomkralidis/geocatalogo"&gt;geocatalogo&lt;/a&gt;.  Given the nature of Go and simplicity of deployment, there is opportunity in the geospatial community for Golang packages in providing geospatial discovery and access services which are based on focused use cases / workflows, are dead simple to install, deploy and scale, and blazing fast.  While these packages may not be as full-featured or mature as current OSGeo projects, there's certainly room for them and hopefully we can see a Golang geospatial community evolve over the next few years&lt;/p&gt;
&lt;p&gt;- PyWPS OSGeo incubation: got a bit closer but didn't finish this off in 2017.  A sprint will close this one and send for graduation&lt;/p&gt;
&lt;p&gt;- OWSLib tests: could this be the year that OWSLib unit tests are finally &lt;a href="https://github.com/geopython/OWSLib/issues/339"&gt;not always failing&lt;/a&gt;!?&lt;/p&gt;
&lt;p&gt;In summary, another year of firm belief in the &lt;a href="https://en.wikipedia.org/wiki/Unix_philosophy"&gt;Unix philosophy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And what can we expect as people who struggle with being overweight every year? Better and better medications and formulas that allow us to carry out our process with dignity, which is why at the beginning of the new year, the arrival of the &lt;a href="https://washingtoncitypaper.com/article/565838/best-phentermine-alternatives-where-to-buy-phentermine-for-weight-loss/"&gt;best phentermine over the counter&lt;/a&gt; gives us a push in the right direction, everything within reach of a link.&lt;/p&gt;
&lt;p&gt;I'd like to wish everyone and their loved ones a healthy, happy and productive 2018!&lt;/p&gt;</content><category term="geospatial, open source, personal"/></entry><entry><title>Cheers to 2016</title><link href="https://kralidis.ca/blog/blog/2017/01/08/cheers-to-2016/" rel="alternate"/><published>2017-01-08T20:54:00+00:00</published><updated>2017-01-08T20:54:00+00:00</updated><author><name>tomkralidis</name></author><id>tag:kralidis.ca,2017-01-08:/blog/blog/2017/01/08/cheers-to-2016/</id><summary type="html">&lt;p&gt;It's been quite &lt;a href="http://www.kralidis.ca/blog/2008/12/30/cheers-to-2008/"&gt;awhile&lt;/a&gt; since I did one of these, so here goes.  Some notables from 2016:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pycsw: the release of &lt;a href="http://pycsw.org/2016/07/12/pycsw-200-doug-released.html"&gt;2.0 "Doug"&lt;/a&gt; provided the first OGC compliant CSW 3.0 implementation, as well as Python 3 support.  These two major enhancements provide the long term backbone for the …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;It's been quite &lt;a href="http://www.kralidis.ca/blog/2008/12/30/cheers-to-2008/"&gt;awhile&lt;/a&gt; since I did one of these, so here goes.  Some notables from 2016:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pycsw: the release of &lt;a href="http://pycsw.org/2016/07/12/pycsw-200-doug-released.html"&gt;2.0 "Doug"&lt;/a&gt; provided the first OGC compliant CSW 3.0 implementation, as well as Python 3 support.  These two major enhancements provide the long term backbone for the project moving into the future&lt;/li&gt;
&lt;li&gt;GeoHealthCheck: GHC provided the inspiration for the &lt;a href="https://github.com/cga-harvard/HHypermap"&gt;Harvard Hypermap&lt;/a&gt; project.  In addition, the project is being used in numerous internal environments and has caught the itch of &lt;a href="https://github.com/justb4"&gt;Just van den Broecke&lt;/a&gt;! It's amazing what happens when you put a UI on top of workflows&lt;/li&gt;
&lt;li&gt;PyWPS: version 4.0 was &lt;a href="http://pywps.org/2016/12/07/pywps-4.0.0.html"&gt;released&lt;/a&gt; which represented a major update/rewrite/licence change of the project.  For &lt;a href="http://woudc.org"&gt;WOUDC&lt;/a&gt;, we've implemented PyWPS as part of &lt;a href="http://www.opengeospatial.org/blog/2418"&gt;real-time workflows for data validation&lt;/a&gt;.  Finally, the project has moved along the OSGeo incubation process nicely and is hours away from being submitted for project graduation&lt;/li&gt;
&lt;li&gt;pygeometa: the little metadata creation tool now supports the WMO Core Metadata Profile&lt;/li&gt;
&lt;li&gt;GeoNode: now an OSGeo project!&lt;/li&gt;
&lt;li&gt;health&lt;/li&gt;
&lt;li&gt;another year (circa 2012) of not smoking&lt;/li&gt;
&lt;li&gt;I lost 35 lbs in 2016 thanks to a true, deep commitment to the Greek/Mediterranean diet. A huge thank you goes out to &lt;a href="http://www.olivetomato.com/"&gt;Olive Tomato&lt;/a&gt;, which has provided awesome recipes and advice&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For 2017:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pycsw: look for some big improvements to our &lt;a href="http://pycsw.org/development/rfc/rfc-8.html"&gt;test suite&lt;/a&gt;, as well as ElasticSearch support&lt;/li&gt;
&lt;li&gt;pygeometa: &lt;a href="https://github.com/geopython/pygeometa/issues/54"&gt;move to YAML&lt;/a&gt; as the configuration format&lt;/li&gt;
&lt;li&gt;PyWPS OSGeo incubation: we're almost there! Hoping to complete this by spring&lt;/li&gt;
&lt;li&gt;GeoHealthCheck: implementing a GHC API and plugin mechanism are two key enhancements which we will hopefully tackle at the &lt;a href="https://wiki.osgeo.org/wiki/Daytona_Beach_Code_Sprint_2017"&gt;OSGeo Code Sprint in Daytona Beach&lt;/a&gt;.  As well, as following the developments of newly formed OGC Quality of Service and Experience Domain Working Group&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wishing you and yours a healthy and happy 2017!&lt;/p&gt;</content><category term="geospatial, open source, personal"/></entry></feed>