Lat × Long Homepage

Google Maps Introduces Data-Driven Styling, the Cumbersome and Inaccurate Way to Make a Map

The Google Maps API was never an obvious choice for building advanced cartographic data products. It was always something local businesses use to put a map on their website showing where their shops are located.

Google Maps has now introduced data-driven styling, addressing a new audience outside local businesses. Data-driven styling of Google-maintained administrative boundaries that is. Google maintains and provides a data set of boundaries at varying administrative levels and allows developers to join their thematic data to create choropleth maps.

Looking at the documentation, linking your own data to Google’s boundaries dataset isn’t straightforward. To match the records from your dataset to the features from Google’s boundary dataset, you need to find the corresponding place ID from the Region Lookup API. If you have a hundred records, you need to do a hundred location lookups via the API before your map can be fully rendered. Unless you’re already keeping Google’s place ID in your data, which we all do, don’t we?

What’s the point of this approach is over loading and styling a GeoJSON layer, which has been supported by the Google Maps API before? Sure, you don’t have to maintain an administrative-boundaries dataset. But if the geometry and thematic data come from different sources, can we be sure that both represent the same underlying geographic area. Does this number of Covid cases aggregated by council assume precisely the same boundaries Google provides? We can’t know for sure, and the resulting maps might be unintentional lies.

And obvious use cases for maps based on administrative boundaries include election data, demographic information, or the number of COVID cases within a council. The people producing such data sets will likely maintain or have access to official and accurate boundary data sets. They have no reason to use Google Maps.

Google Maps data-driven styling isn’t a well-designed API of a product that solves a real problem. It’s a marketing stunt.

OpenStreetMap US has recently uploaded recordings from State of the Map 2015 to their Youtube channel. Throwbacks like these are a window into the topics that moved the community back then. How do they compare to today’s?

Giles van Gruisen explains the underlying concepts of Felt, and more generally web maps, a tad downplaying the complexity involved:

Don’t worry if these concepts are a bit confusing at first, this stuff is tricky!

That’s one way to put it, considering what is involved in making zooming and panning performant interactions:

Specifically, when the user starts any gesture that might affect the viewport position, we immediately take note of the original viewport state. Then, as we calculate the new viewport position, we can easily derive a transformation that we can use to translate and scale existing element geometries to their new positions and sizes. So, rather than continuously projecting every last coordinate pair on every single frame, we calculate a single “viewport transformation” that can be applied to all of them.

To take it a step further, we don’t actually need to apply that transformation to every single element individually, but rather to a single parent layer that contains all of the shapes as children. This results in a single compositing layer being translated and scaled, and makes for highly efficient zoom and pan gestures. Finally, when the user stops their gesture, we do actually recalculate the projected position of each coordinate pair, and in a single frame swap the old geometries for the new, and remove the temporary transformation.

Whenever I read an article like this, I feel grateful for anyone building and maintaining map libraries and applications. This is complicated stuff, and seeing how easy it is to put a map on the Web these days makes you realise how much thought and work goes into these solutions.

Ed Freyfogle on The OpenCage Blog:

I’m forced to clarify this because we are getting more and more support requests from people who have been mislead by YouTube tutorials that a simple python script can be used to determine the location of any phone simply by entering the phone number.

Thought I’d share this to help spread the word.

Chris Holmes wrote an excellent summary of the Cloud-Native Geospatial Outreach Event, which took place in April and gathered people working with new cloud-native geo-data formats and APIs, like COG, Zarr, STAC, or COPC. Chris highlights selected talks to get you started with the formats, how organisations adopt them, and tutorials going deeper into technical details.

Once you’re finished watching Chris’ recommendations, you can dive into the humongous 90-video playlist of all of the event’s talks, which should keep you busy for a couple of days.

This year’s FOSS4G in Florence, Italy, hasn’t even happened yet, but planning is already underway for the next edition. FOSS4G 2023 will take place in Prizren, Kosovo. After Florence, that’s an event in Europe two years in a row, deviating from the usual rota: Europe, Americas, rest of the world.

FOSS4G is the world’s largest meeting focusing on open-source geospatial software and open data bringing together developers, users and academics from around the world. It is organised by the Open Source Geospatial Foundation and a local group.

Further details for the 2023 event, such as a date, have not yet been announced.

OGC Endorses Zarr 2.0 Community Standard

The Open Geospatial Consortium (OGC), the standards body of the geospatial world, has endorsed the Zarr 2.0 specification as a community standard.

Zarr logo
Image source: zarr.dev

Zarr originated in genomics research but has since been adopted by the geospatial community because of its ability to quickly access multi-dimensional data in chunks. Zarr allows accessing a window of its data without having to first download the entire data set and dissect it locally. Think of a thirty-year time series of a grid of ocean-surface temperature data, where you can just retrieve the area around the Canary Islands for the last three years.

Zarr data can be stored in a wide range of storage systems, including object stores, such as AWS S3 or Google Cloud Storage, or in storage accessible via HTTP APIs. This makes Zarr the ideal candidate for cloud-native storage and processing of large, multi-dimensional datasets.

Community standards are a way for the OGC to formally adopt specifications developed outside the OGC standardisation process. A community-standard endorsement signifies that a specification is mature, established, widely used, and implemented into reference software. This is a big step for Zarr 2.0, showing that it is now a de-facto way to access multi-dimensional data sets over the Web.

A community standard usually represents a snapshot of a specification under constant development. The Zarr community already works on advancements to the existing standard, eventually resulting in a new Zarr 3.0 specification and proposed to the OGC as a new community standard. Other work includes an extension to the Zarr 2.0 specification formilising how georefrenced grids should be represented in Zarr.

Some early-internet household names are still going. Amongst them is a familiar face I didn’t think still existed: MapQuest, still used by a surprising amount of people today:

More than 17 million Americans regularly use MapQuest, one of the first digital mapping websites that was long ago overtaken by Google and Apple, according to data from the research firm Comscore.


What reminded me of MapQuest the other day: The Azure-Maps tiles that GitHub now uses to display GeoJSON files. Add a button on each side of the map to navigate towards north, east, south or west, and it will look like a MapQuest map from 2002.

Pacific Geospatial Conference is a new super conference combining three previously separate ones:

  • Pacific Geospatial Remote Sensing Council’s Pacific GIS&RS User Conference,
  • OSGeo Oceania’s FOSS4G SotM Oceania Conference, and
  • Humanitarian OpenStreetMap Team’s HOT Summit.

Bringing together remote-sensing and GIS practitioners, open-source enthusiasts, and the OpenStreetMap community, this gathering should make for a varied range of talks.

The conference will be hosted at the University of the South Pacific in Suva, Fiji and feature talks and workshops, a women’s session and a poster competition. Registration is set to open on 1 August; abstracts are due by 31 August, although submission has yet to open.

Update: The call for presentations is now open. Submit either an abstract for a 15-minute presentation or a five-minute lightning talk via the online form.

“Landsat’s Enduring Legacy: Pioneering Global Land Observations from Space,” a book covering the history of the Landsat program, is now open access and available to download for free.

From the book’s preface:

The basic purpose of the […] book is to document and explain salient aspects of the first fifty years of Landsat activities and operations, so that current and future generations can comprehend both the qualities and vagaries of the Landsat observation record.

Almost all authors were involved in Landsat at some point, some of them for decades. The book is based mainly on archive material and accounts from scientists and engineers involved in the early stages of the program — this should be an exciting read.

Not surprising at all. The impact of the change is marginal, maps aren’t exactly a core feature of GitHub.

As part of the transition, custom icons and formatting of features in geojson and topojson files will no longer be supported.

Not just icons and formatting, it seems GitHub chose the nuclear option. There are lines and polygons alongside points in this dataset, but only points are visible on the map. Plus, it doesn’t show anything in Safari.

Saman Bemel Benrud, previously a designer at Mapbox, reflects on his time at the company. It’s a tale of what happens when a company accepts big VC money. The priorities shift from solving relevant problems to making money.

Even if you’re a lowly designer or engineer, you must understand what your company needs to do to be sustainable. It very likely is different from what they’re doing now, and may come with unexpected ethical compromises.

What other choices do companies have when they build geo-data products and compete with Google? Maybe they can grow slower, don’t sell solutions that aren’t yet available, involve employees in decisions, or accept and support unionisation efforts. The company still has to make money, but it might feel different to the people building the product. There must be a way to build a sustainable business that doesn’t involve VC funding.

Is it latitude, longitude or longitude, latitude? Everybody has an opinion, no one knows. It doesn’t matter — as long as you know what the application or library you’re working with requires.

FlipCoords flips coordinates in the appropriate order and provides the result copy-paste ready in various formats, such as arrays, tuples, URL parameters or JSON objects. Very handy if you ever need to hard-code coordinates.

Mapbox GL JS 2.9.0 Adds Globe Projection

Mapbox GL JS’ latest release (v2.9.0) adds a new globe projection, which enables presenting web maps in a way that allows viewers to interact with geographic data much like you would interact with a physical globe.

A globe rendered with Mapboc GL JS, showing Africa in the center.
Background tiles: © Mapbox. Map data: © OpenStreetMap contributors.

From the release notes:

This new projection displays the map as a 3d globe and can be enabled by either passing projection: globe to the map constructor or by calling map.setProjection('globe'). All layers are supported by globe except for Custom Layers and Sky.

The globe projection is a continuation from custom projections, which were introduced a couple of months ago and, for the first time, allowed creating interactive web maps using projections other than Web Mercator. While custom projections were ideal to present data restricted to countries or continents and without the hefty distortions that come with Web Mercator, the globe projection allows to do the same but on a global scale; ideal to present global data sets like visualisations of climate change.

Update: Mapbox has published a blog post with very nice-looking examples: A new way to experience the world.

Felt Is a New Online Map Editor Designed for Collaborative Map Making

Felt, a new web-based map editor, launched in public beta last week.

Felt isn’t just another web GIS; it’s a tool for collaborative map-making. You can drop pins (even using emojis as markers), plot routes and highlight areas on the map and can annotate all this with text, notes and images. But there aren’t any features typical for professional GIS software, such as editing attribute tables or capturing complex geometries and valid topologies. However, Felt supports importing data from various formats (KML, KMZ, GPX, and GeoJSON) and exporting maps to GeoJSON.

This is a tool for anyone to create maps, whether they have prior knowledge in GIS or not. It’s designed for citizen engagement and participatory mapping; it’s for communities, not professional surveyors. Quite similar to the work around participatory mapping that groups like UCL’s ExCiteS and Mapping for Change do.

I like the simplicity of Felt. It focuses on a well-defined use case and is well executed. Much thought went into Felt’s design; the routing tool is a great example. Wherever you click, it snaps to the closest road and automatically calculates the route between two points, so you don’t have to add nodes to follow bends or turns at every intersection. By holding the Shift key while drawing, you can also draw segments that don’t align with the road network.

The team behind Felt found a gap in the current product landscape and is addressing the need nicely. I’m curious where they will take the $15M Series A funding.