February 2023

Geospatial Projects at Google Summer of Code 2023

The mentor organisations for this year’s Google Summer of Code have been announced. Amongst other open-source household names, Google Summer of Code 2023 features various organisations and projects from the geospatial world, including:

Google Summer of Code is an internship program which pays aspiring software developers to contribute to open-source projects for three months during the summer. The application phase for this year’s cohort of interns opens on 20 March and closes on 4 April.

Say what you want about Google, but you have to appreciate their ongoing commitment to open-source software and their efforts to connect young programmers with projects.

For a recent story, instead of Mapbox, The Post used OpenMapTiles, Maputnik, PMTiles, and MapLibre to produce interactive web maps.

Kevin Schaul:

For some projects, I’m sure we’ll continue using Mapbox. But for most of our use cases, we don’t need the latest and greatest. And Mapbox has gotten expensive.

Planet has published a library of React components to build map user interfaces using OpenLayers:

The @planet/maps library provides components for rendering maps in your React applications. The library acts as a wrapper around OpenLayers, transforming the imperative API into declarative components.

The design goals:

The purpose of this project is to provide a mapping between React’s declarative components and OpenLayers’ imperative API. In other words, this project provides a React renderer for OpenLayers.

[…]

  • Components exported by this package map 1:1 with classes exported by OpenLayers.
  • Component props map directly to properties that are settable on instances of OpenLayers classes. Exceptions to this are props like options (passed to the constructor only), listener props (e.g. onChange), and ref.
  • Components accept a ref that provide access to the underlying OpenLayers instance.

The examples only show a small fraction of the whole feature set of the library. I looked through the source code on GitHub, and it seems like many—if not all—OpenLayers classes have a corresponding React component in the library.

Circles are only supported in a few geo-data formats because most of today’s formats are based on the Simple Features specification, which doesn’t define circles.

Tom MacWright, writing on the Placemark blog, explores why circles are so hard to implement into geo-data applications and why Placemark ended up with three circle definitions: geodesic, degree and Mercator circles.

Tom MacWright, after joining val.town, reflects on building Placemark. It’s an honest account of what it’s like to build and grow a business—something we don’t see very often.

Placemark will live, but in what form isn’t entirely clear:

I’ve envisioned it as a tool that you can use for simple things but can grow into a tool you use professionally or semi-professionally, but maybe that’s not the future: the future is Canva, not Illustrator.

I’ve been wondering how the announcement of Felt, which happened around the same time as Placemark’s, would affect Placemark’s future. Felt has venture capital, a team of smart people, and a lot of buzz, whilst Placemark is a bootstrapped one-man show.

Fiona, the Python library for reading and writing features from and to various data sources, has a new release. From the release notes:

The major new features are:

  • A new CRS class identical to Rasterio’s.
  • New Feature and Geometry classes. These are returned instead of dicts but are compatible with version 1.8’s dicts. _ Access to format driver metadata.

Wheels of the new release are also available for M1 Macs now.