Lat × Long Homepage

Development Seed’s data team in Ayacucho, Peru has spun out to form GeoCompas:

I am pleased to announce that the skilled data and annotation team from DevSeed is separating to become an independent employee-owned company called GeoCompas. The Geo AI practice at Development Seed has grown, and the GeoCompas team has been essential in providing crucial mapping, annotation, QA, and automation support. Their expertise in geodata is now available to everyone.

The new company focusses on OpenStreetMap editing, data labelling and annotation for AI projects, but also development of data processing pipelines and web services.

Darren Wiens of SparkGeo demonstrates an AI-driven approach to generating audio descriptions for interactive web maps. The overall process is simple yet effective:

  1. Convert the current map view to an image.
  2. Upload the image to OpenAI’s API to return a text description of the images.
  3. Upload the text description to OpenAI’s API to receive the audio of the text description.

It’s one example of how new generative AI technologies can be put to good use. It is simply impossible for humans to provide alt-text for large interactive maps and AI is the one (the only?) way to make textual descriptions of maps scalable.

This looks like an interesting event: Element84 are hosting a three-hour workshop on user-centred design with a specific focus on geospatial applications:

Join us for a comprehensive 3-hour experience tailored for UX Designers delving into geospatial patterns, Frontend Developers honing essential UX design skills, as well as Leaders and Management keen to understand the profound impact of effective design on geospatial workflows. Immerse yourself in geospatial patterns, tackle hands-on design challenges, and absorb essential UX principles meticulously crafted to meet the specific demands of the geospatial sector. Whether you’re looking to seamlessly integrate geospatial patterns into your design mockups, enhance your understanding of how users will interact with your software, or understand the value of a targeted design process, this workshop ensures you depart with practical skills for creating useful and impactful geospatial applications.

The workshop is scheduled for 19 March. Tickets are 75USD.

Tom MacWright

In short:

  • MIT license
  • TypeScript codebase
  • Contributions welcome

Placemark is the map editor software-as-a-service that I built for several years. It’s a website where you can import, create, edit, export, publish, and visualize geospatial data.

The code is on GitHub and already receiving contributions.

You can serve PMTiles directly from a cloud object storage but in some cases, you want to control who accesses data and how often—and you need a server for that. Craig Kochis wrote up two examples of how to serve PMTiles using a NodeJS server application from a co-located file and S3.

A webinar on cloud-native geospatial technologies and their applications in the pacific region features four speakers:

  • Wei Ji Leong of Development Seed introduces cloud-optimised data formats for geospatial data, focussing on imaging, multi-dimensional data cubes, point clouds and vector data.
  • Alex Leith of Auspatious talked through the history of Digital Earth platforms, and how cloud-native spatial data have shaped and influenced their development.
  • Leo Ghignone from the University of Tasmania explained how IMOS, the Integrated Marine Observing System, use cloud-optimised data to support oceanographic research around the Great Barrier Reef.
  • Fang Yuan of Frontier SI shared a perspective from application developers who used cloud-native data to implement scalable and performant geospatial solutions.

The two-hour recording is now available online.

collection-transaction is a new STAC extension proposing an API for managing STAC collections and providing a clean REST interface for managing collection metadata:

  • POST to create,
  • PATCH or PUT to update, and
  • DELETE to delete an item.

stac-fastapi’s transaction extension already supports collection management, but its implementation is inconsistent with transactions API for items. collection-transaction will align both APIs and provide a consistent standard for managing STAC metadata.

Brian Timoney contemplates why talented GIS professionals seek employment in other areas, tracing the problem to broad scoped roles and lower pay compared to similar roles in other industries.

Even discounting the vagaries of job titles, the skew in the distribution of GIS Analyst salaries is notable because it implies a stagnant middle grinding away while effectively blocking the ability of new entrants to rapidly ascend the wage scale as you’d find in more “normal” distributions

I have no numbers to back this up, but my gut feeling is that most GIS Analysts work in civil service. Salaries in civil service are tightly regulated; you don’t just negotiate a higher pay unless your department has a role in a higher salary band and you land that job. That might explain why we’re seeing this skew towards lower salaries and the limited upward mobility.

That said, Brian’s point is correct: GIS-specific roles are often too broadly scoped and underpaid.

The recordings from this year’s PostGIS day are available on Youtube; just in time so you can add them to your festive tech playlist.

The very popular SatSummit is back next year on the 16 and 17 May, as always in Washington DC.

SatSummit convenes leaders in the satellite industry and experts in global development for 2 days of presentations and in-depth conversations on solving the world’s most critical development challenges with satellite data.

At this point, the organisers are looking for sponsors; if you have a couple of bucks to spare, consider sponsoring one of the few events that usually assembles a truly diverse set of speakers. The call for session proposals and registration have not yet been announced.

Sad news from Placemark today, the platform is shutting down in January:

Well, I’ve made the decision to wind down my efforts on Placemark - it’s been a lovely journey thanks to great folks using it (like you!) but ultimately wasn’t self-sustaining financially.

Starting today,

  • New signups will be disabled
  • Existing paid users will have free access until January 19, 2024
  • In January 2024 I’ll release the full source code for the application as open source

The writing has been on the wall since Tom MacWright wrote in January:

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.

Tom was the creator and only person who worked on Placemark (as far as I know). It’s hard to compete as a one-person company, when products as impressive Felt launch at the same time.

LAT × LONG on Bluesky

A short programming announcement: In addition to Twitter and Mastodon, I’ve started posting updates to Bluesky.

I also have a couple of Bluesky invites to give away. If you’re interested, shoot me an email at Yes I prefer email; I’m that old. I’ll send the invites out on a first come, first serve basis. I will be using your email adress for this purpose only, I won’t store your email or sign you up for a newsletter.

I’d like to use the occasion to remind everyone that the feeds are the best way to get notified of new content on the site. No sign-up required, you get full articles delivered to your favourite feed reader, and you get to support the open web.

react-google-maps is a library containing React components and hooks for building Google Maps user interfaces. It includes components to render maps, customisable markers, info windows and control panels. The hooks allow developers to access underlying object instances, such as the Map object, or to load additional APIs, like the geocoding or direction services. If you work in React and use the Google Maps JavaScript API, this library will save you a couple lines.

Estimating the Cost of Hosting a Global PMTiles Dataset

In his NACIS conference talk, Brandon Liu positions Protomaps as an altenative to what he call scarcity maps: Tile services offered by commercial companies that cost a small fortune once your project becomes popular and exceeds the number of tile requests in the free tier.

Nothing is free in this world, even hosting PMTiles yourself isn’t. If you want to convince someone that hosting Protomaps is a financially viable alternative then you need to compare numbers.

So let’s do some quick math and compare a rough estimate of the costs for hosting PMTiles on S3 to the monthly costs of Mapbox Vector tiles.

For the sake of simplicity, let’s assume that clients make 1.5 million tile requests per month. The costs incurred on S3 fall into two categories. Data storage and transfer.

On 3 November, the size of a PMTiles dataset based on OpenStreetMap covering the whole world was 107.62 GB. AWS charges $0.023 per GB and month to store data in S3, so the cost to store a global map is $2.47.

To estimate the transfer costs, we need to know the average size of a PMTile that is delivered over the network. The Protomaps website conveniently has an example that shows size of each tile response. I zoomed and panned around on the map and logged the individual size of about two hundred requests. The average size per tile in my sample was 68.88KB. 1.5 million tile requests at 68.88KB rack up about 103GB in transferred data. AWS charges $0.09 per transferred GB from S3 to the internet, so the overall data-transfer cost is $9.27.

The cost to host and serve a world-wide map dataset is about $12. But here’s a catch. If you put a Cloudfront CDN in front of your S3 bucket (which you probably want to do), then data transfer from S3 to Cloudfront is free, so is the first terra-byte from Cloudfront to the internet. Chances are your can host your PMTiles for less than $5.

The same 1.5 million vector-tile requests on Mapbox will cost you $325; a significant difference. Even considering the labour costs of setting up the infrastructure and data on AWS, and making the occasional update, PMTiles will save money. Like a lot of money.

Disclaimer: This is an informed estimate not a scientific study. I literally did this on the back of an envelope. It’s not my fault, if you take these numbers to your boss to convince them to adopt Protomaps and it turns out you’re paying $25 per month.