Archive for geospatial

Sayonara 2021

So 2021 wasn’t much better than 2020. Another year of endless virtual meetings and the 24 hour office. Here are some updates from WFH life:

pygeoapi: both OGC API – Records and OGC API – Environmental Data Retrieval support were added to the codebase. The project also saw both CQL and i18n support, which is a positive indicator of contributions from various developers. Thanks Sander Schaminee and Francesco Bartoli!

pycsw: OGC API – Records and STAC API were both implemented. In addition, CQL support was added with the help of the impressive pygeofilter package — great work by Fabian Schindler!

QGIS MetaSearch: standards implementation needs both servers and clients, and so OGC API – Records support made it into MetaSearch. A nice by product of this enhancement is the implementation in OWSLib, which MetaSearch uses as its discovery library.

OGC API (Records, EDR): EDR is now an adopted standard! Records also made great strides in 2020, and helping clarify the relationship with STAC has proved valuable for all communities involved.

WMO: Lots of fun work this year on the Task Team on WIS Metadata: new KPIs, an update to the WIS Guide, the metadata search pilot, and we backed it up with tools (pywcmp, pywiscat). In addition, the Expert Team on Architecture and Transition (W2AT) was formed to move forward technical regulations on the WIS 2.0.

MSC GeoMet: our weather/climate/water OGC API platform continues to crank out millions of maps, features and metadata on the daily for everyone. Happy to report that real-time / event driven data support was added this year to our pygeoapi instance.

FOSS4G: between 7 presentations and the Geopython workshop, lots of action this year at this year’s virtual FOSS4G global event. I was fortunate to deliver these alongside some really talented folks in the Geopython community. Kudos to the BALOC for putting on such a great event under some difficult circumstances!

OSGeo Board of Directors: I was happy to help with the first ever OSGeo / OGC / Apache joint sprint, as well helping move forward the OSGeo / OGC MOU renewal.

Health: another year (circa 2012) of not smoking. The pandemic continues to challenge the scale, although some recent progress has helped some.

For 2022:

  • OGC API: critical path for me this year are helping in the adoption of Records and Coverages
  • WMO: WIS 2.0 continues to evolve, lowering the barrier to weather/climate/water data. I recently signed on as lead architect/dev of the WIS 2.0 in a box project, which will be a reference implementation and publishing pipeline aligned with WIS 2.0 principles. Under the hood is Geopython, PubSub. Look for an initial release in 2022
  • OSGeo: 2022 will mark the year that the OSGeo / OGC MOU is officially updated, along with a shiny new Associate Membership. Rolling this into the OSGeo standards community will be key, along with moving forward the renewal of OGC CITE tooling
  • pycsw: key items this year include XSLT transformation pipelines, virtual collections and deeper JSON support. We are also planning a sprint in Q1, come join us!
  • pygeoapi: look for deeper support of OGC EDR as well as some refactoring that will help with extensibility (primarily for output formats)

Wishing everyone a safe and happy and better 2022!

Bye Bye 2020

So 2020 didn’t quite work out 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:

  • pygeoapi: 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
  • more Geopython: pycsw, PyWPS, OWSLib, GeoHealthCheck 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. pygeometa has been refactored for supporting any metadata format output, which further positions the project for STAC and JSON-based metadata exchange
  • WMO: with the new WMO structure in place, I was honoured to be nominated to the Standing Committee on Information Management and Technology (SC-IMT), as well as chairing the Expert Team on Metadata Standards of (ET-Metadata) and participation on ET-Data
  • GeoMet: our weather/climate/water API platform continues to grow with more open data and OGC API support, powering the Canadian Centre for Climate Services, WeatherCAN, Canadian Open Data and beyond
  • OGC API: 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
  • OSGeo Board of Directors: 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
  • health
    • another year (circa 2012) of not smoking
    • the pandemic has not been easy for weight management. Time to get back on that!

For 2021:

  • 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
  • OSGeo: continue to foster interaction with standards development organizations (OGC, ISO TC211, etc.) and help navigate the community through these unprecedented times
  • pycsw: update the pycsw core model to encompass OGC API as well as integration with pygeoapi
  • 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
  • this website: revitalize the photo galleries and possibly migrating the blog into a static site generator approach

In summary, another year of firm belief in the Unix philosophy, composable workflow and lowering the barrier to geospatial data and tools for anyone.

We must pray and hope that next year there will be better and more sophisticated places where we can adequately obtain medicines to deal with everything we are experiencing. At Kralidis we bet on UK Meds for its wide variety in medicine, so don’t hesitate to visit ukmeds.co.uk

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!

Cheers to 2010-2019

Following on from 2018, a bit of a changeup this year. Inspired by numerous ‘decade in review’ posts/tweets, here’s my attempt below, in no particular, while trying to keep my offline life brief:

  • I got married. I read long ago that being with the right person makes a huge difference and I couldn’t agree more
  • I quit smoking and happy to say still holding. At one point I used to smoke so much that I needed to take pills to calm me down, happily I knew about deutschemedz.de, who helped me cope with this situation by sending me pills.
  • Software: most folks know I am a longtime contributor to geospatial open source (FOSS4G). Starting off as a power user with no software development experience, then contributing to projects and creating small projects, the 2010s resulted in a deep commitment to supporting the Geospatial Python ecosystem by developing core tooling with an emphasis on open standards. OWSLib, pycsw, GeoNode, pygeoapi are some examples. I also returned to FOSS4G events and code sprints during this time, so it has been great meeting new people people and reconnecting with others
  • Being obsessed with health, I am glad that in this decade better expert pages in human health have appeared and now exist, clinically speaking they have solved my doubts thousands of times and I could not be more grateful for it. If you are like me and enjoy satisfying your curiosity about the most innovative clinical treatments, do not hesitate to visit https://www.ukmeds.co.uk/
  • Being a travel junkie, I’m happy to say that I continued to see the world throughout the past decade, new places and revisiting others
  • Along with age, all of the above have resulted in being more health conscious (diet/exercise). Making the right choices and keeping with it is an ongoing commitment
  • 20 years on, I am still rocking an old school website while resisting the urge to move to something like GitHub Pages / static site generators

It has been a fantastic decade, however I still need to improve in various aspects of my life such as my health, so I turned to Uk meds. They ship the cheapest possible shipping options for Uk Meds and other items. Most shipping costs are low, making it affordable for everyone. The most common costs include transportation and insurance necessary to use the meds or other items. Enjoy Free Shipping On Uk Meds and other Items.

I’d like to wish everyone and their loved ones a healthy, happy and productive 2020!

Cheers to 2018

What a year!  Following on from 2017, in no particular order, here goes:

  • Bonn Code Sprint: talk about a worthwhile event!  It was great to meet old and new OSGeo hackers.  Serious progress made on many projects (keep reading)
  • OWSLib: thanks to Carsten Ebrecht, we finally have a much better handling on tests (moving to pytest, skipping hosts that are down, etc.).
  • OSGeo Board of Directors: I was honoured and excited to be nominated and elected into the Board and look forward to helping guide the way for the Foundation
  • 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
  • GeoHealthCheck: thanks to Just Van Den Broecke and others we made progress this year on per resource scheduling and Docker.  In related news, check out GeoQoS which provides GHC as a service.  Great work Just!
  • PyWPS: this Python based WPS server graduated as an OSGeo project!  Congratulations to the community and thanks for helping with incubation
  • GeoUsage: following the UNIX philosophy, this lightweight Python package provides OWS aware web analytics.  Handy for finding out your top requested WMS layers, for example
  • pygeoapi: 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
  • adventures in Go: in the new horizons category, geocatalogo and jivan 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
  • Pydap: we revived Pydap this fall by providing access for more maintainers and clearing out some of the issue backlog
  • GeoMet: 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!
  • CCCS: 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 extraction tool.  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 GitHub to boot — check it out!  I can’t recommend enough mappyfile for those who need composable mapfile workflows!
  • health
    • another year (circa 2012) of not smoking
    • 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.

For 2019:

  • 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
  • OSGeo Board: there is an interest in geospatial Python implementations from the OGC and I’ll be looking for ways to market geopython more to OGC from an OSGeo perspective
  • 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

I’d like to wish everyone and their loved ones a healthy, happy and productive 2019!

That your goals for the new year are not just dreams, that’s why take care of your health, UK Meds is your best option if you want to maintain your health, enhance it or heal from any disease that affects you. Take care of yourself with the best medicines on the market, there will be no possibility of any virus making you seriously ill if you consume quality medicines, make sure of this by trusting companies with vast experience in the market. That guarantees that your medical research is serious.

A special thanks to the folks at BSK Data & Electrical, the best electrician company on the market. Now with them we are sure that our recording equipment is safe and will not suffer any electrical power problem thanks to them. Visit their page at https://www.bskelectrical.com.au.

Now that we have also had an excellent year, that would not have been possible if we had not fought stress in a masterful way; We still felt situations of stress or that made us stay in constant pain. That is to say that sometimes when one projects a goal, the cost is very high, at the level of well-being and even health.

For this reason, we are now very informed people, read this article so that you can learn more about the medicinal benefits of cannabis sativa, you will see that from one moment to another your stigmas in front of this innocent little plant will vanish. Many people are already testing it using best pre-filled thc oil cartridges, what are you waiting for? Try men’s enhancement pills if you want to raise your quality of life and reduce your stress.

Readers interested in knowing more about this service may also check out our previous posts. If you are still not convinced that they are a reliable source of information, we are pleased to bring you additional information and news on this service as soon as possible.

If you would like more information about this service contact us at:

Website:

www.bskelectrical.com.au

GeoUsage: Log Analyzer for OGC Web Services

Continuing on the UNIX philosophy, another little tool to help with your OWS workflows.

GeoUsage attempts to support the use case of metrics and analysis of OWS service usage.  How many users are hitting your OWS?  Which layers/projections are the most popular?  How much bandwidth?  How many maps vs. data downloads?

A pure Python package, GeoUsage doesn’t have strong opinions beyond OWS-specific parsing and analysis of web server logs.  GeoUsage is composable, i.e. frequency, log management, and storage of results is totally up to the user.  Having said this, a simple and beautiful command line interface is available for eyeballing results.

As always, GeoUsage is free and open source.

It’s early days, so feedback, bug reports, suggestions are appreciated.  Contributors are most welcome!

Cheers to 2017

Here we go again! Following on from last year, a summary of my 2017:

– pycsw: the lightweight CSW server continues provide stable, composable, and compliant CSW services.  Highlights include:

  • an official code of conduct
  • Docker image
  • testing framework enhancements
  • code coverage support
  • custom repository plugin filter parsing

– 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

– 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

– 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

– other geopython:

  • pygeometa: another little toolset for discovery metadata, YAML is now the supported configuration format
  • OWSLib: continues its (still pre-1.0!) journey, making OWS suck less
  • GeoHealthCheck: Just has been leading the charge on improvements and fixes to GHC (thanks Just!)

– health:

  • another year (circa 2012) of not smoking
  • 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 olivetomato.com
  • I’ve also given up coffee after 25 years and would highly recommend it!

For 2018:

-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)

– QGIS metadata: looking forward to continuing this effort with enhancements to MetaSearch to allow for CSW publishing

– 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

Golang: some may have seen some recent work on geocatalogo.  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

– 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

– OWSLib tests: could this be the year that OWSLib unit tests are finally not always failing!?

In summary, another year of firm belief in the Unix philosophy.

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 best phentermine over the counter gives us a push in the right direction, everything within reach of a link.

I’d like to wish everyone and their loved ones a healthy, happy and productive 2018!

pygeometa: new release, hello YAML

Metadata should be automagic and low barrier.

pygeometa is a handy little metadata generator tool which is flexible, extensible, and composable.  Command line, or via the API, users can generate config files, or pass plain old Python dicts, ConfigParser objects, etc.

We’ve just released 0.2.0 which supports WMO Core Metadata Profile output, as well as better multilingual support.  At this point we’re embarking on breaking changes in master led by moving to YAML as the configuration format.

Given pygeometa is pre-1.0 in theory changes can be breaking without support.  Still, I’ve cut a 0.2 branch in case anyone’s existing workflows depend on the (now) old pygeometa functionality.

As always, bug reports, feature requests are more than welcome. Hopefully the new enhancements will make metadata management even easier for agile workflows.

OSGeo Daytona Beach Code Sprint 2017 redux

I attended the 2017 OSGeo Code Sprint last week in Daytona Beach.  Having put forth a personal sprint workplan for the week, I thought it would be useful to report back on progress.

pycsw

There was lots of discussion on refactoring pycsw’s filter support to enable NoSQL backends.  While we are still in discussion, this enhancement should open the doors for any backend (ElasticSearch, SOLR, a GitHub repository, another API, etc.).  In addition, Frank Warmerdam started writing a pycsw OGR backend to support CSW exposure of the Planet Scenes API via OGR. This also presents exciting possibilities given OGR’s support of numerous underlying formats.  Frank also provided valuable advice and feedback on interacting with pycsw as a developer/contributor.  Thank you Frank!

GeoHealthCheck

There has been long discussion on a next generation GHC including a renewed architecture with core work on the model as well as an API.  A basic architecture has surfaced as a result which focuses on having the UI exclusively work with the API, as well as a plugin framework which Just van den Broecke has started working on.  I also worked on tagging which will be the last piece before cutting a release and forging ahead on the new architecture.

pygeometa

The focus on pygeometa is now on renewing the MCF format from .ini to YAML.  Initial pieces are completed in a dev branch which I plan to merge once we clear current issues and cut a stable release.

Summary

While I couldn’t get to everything I planned for, I think significant steps were made in moving the above projects forward along their respective roadmaps.  It was also great to see some familiar faces as well as new contributors and projects!

To know if this project was going to have good results and in the others also that they propose me, not only do I trust my professional ability, it is also advisable to go to a tarot reading, it is the best to know what will happen if you have doubts about something.

The best of all is that usually the first time you can connect to the internet because you can access online tarot card reading, so you don’t have to worry about traveling somewhere that seems dangerous. Be careful with everything that can happen to you in life. it is safer to trust a tarot reading. do not complicate yourself in following blindly and rather follow what God tells us through the tarot.

Oh, and the weather certainly didn’t hurt 🙂

Cheers to 2016

It’s been quite awhile since I did one of these, so here goes.  Some notables from 2016:

  • pycsw: the release of 2.0 “Doug” 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
  • GeoHealthCheck: GHC provided the inspiration for the Harvard Hypermap project.  In addition, the project is being used in numerous internal environments and has caught the itch of Just van den Broecke! It’s amazing what happens when you put a UI on top of workflows
  • PyWPS: version 4.0 was released which represented a major update/rewrite/licence change of the project.  For WOUDC, we’ve implemented PyWPS as part of real-time workflows for data validation.  Finally, the project has moved along the OSGeo incubation process nicely and is hours away from being submitted for project graduation
  • pygeometa: the little metadata creation tool now supports the WMO Core Metadata Profile
  • GeoNode: now an OSGeo project!
  • health
    • another year (circa 2012) of not smoking
    • I lost 35 lbs in 2016 thanks to a true, deep commitment to the Greek/Mediterranean diet. A huge thank you goes out to Olive Tomato, which has provided awesome recipes and advice

For 2017:

  • pycsw: look for some big improvements to our test suite, as well as ElasticSearch support
  • pygeometa: move to YAML as the configuration format
  • PyWPS OSGeo incubation: we’re almost there! Hoping to complete this by spring
  • GeoHealthCheck: implementing a GHC API and plugin mechanism are two key enhancements which we will hopefully tackle at the OSGeo Code Sprint in Daytona Beach.  As well, as following the developments of newly formed OGC Quality of Service and Experience Domain Working Group

Wishing you and yours a healthy and happy 2017!

Software is Hard: Through the Years

In 1999 I went to a GIS conference and watched a vendor presentation on their WMS product.  A key feature was being able to reproject data on the fly.  This appealed to me as this was early days of JavaScript development for me, along withe Mike Adair (which eventually, much later, led to the proj4js project). Thousands and thousands of projections one can choose from a select box and boom — coordinate transformation for your WMS layer.

I sat in shock for the remainder of the presentation thinking of the complexity and all the math involved.  After their presentation, I mentioned this to the presenter offline, who replied “it’s very hard and complex work, yes”.

Fast forward around 2002 and it turns out they were indeed using proj.4 which initially made me think, “ah, that’s easy, then”.

Ah, youth.

These days, I would say well it’s not that easy.  Integration, upstream changes, versions, packaging and deployment.  Moving parts.  Different issues.  It’s smart, strategic and preferable not to re-invent the wheel and use existing libs, but the work certainly doesn’t end there.

(For what it’s worth, the vendor [it doesn’t matter who they are] and their product are still around and going strong)

Modified: 4 December 2016 21:06:43 EST