# gis

Published articles for gis.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## New site for my John Snow Cholera Map data

DevFeed: [New site for my John Snow Cholera Map data](<https://devfeed.tech/articles/new-site-for-my-john-snow-cholera-map-data-35595.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/new-site-for-my-john-snow-cholera-map-data/>)

Author: Robin Wilson

Published: 2026-09-10T12:13:16Z

Content type: release

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [GeoJSON](<https://devfeed.tech/topics/geojson.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [academic](<https://devfeed.tech/tags/academic.md>), [blog](<https://devfeed.tech/tags/blog.md>), [csv](<https://devfeed.tech/tags/csv.md>), [data](<https://devfeed.tech/tags/data.md>), [formats](<https://devfeed.tech/tags/formats.md>), [gis](<https://devfeed.tech/tags/gis.md>), [map](<https://devfeed.tech/tags/map.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

The author announces a new website hosting digitized data from John Snow's cholera map. The site provides downloads in GeoPackage, GeoJSON, Shapefile, and CSV formats, and older blog posts now redirect to it.

### Source excerpt

I've finally crossed something off my todo list, after putting it off for years. I've created a new site to host the data from John Snow's cholera map that I digitised back in 2012. Previously the data was only available from posts on this blog (specifically this original post and a follow-up), and it wasn't [...]

## Some recent, and not so recent, talks and activities

DevFeed: [Some recent, and not so recent, talks and activities](<https://devfeed.tech/articles/some-recent-and-not-so-recent-talks-and-activities-35597.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/some-recent-and-not-so-recent-talks-and-activities/>)

Author: Robin Wilson

Published: 2026-08-22T15:51:12Z

Content type: article

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [geospatial](<https://devfeed.tech/topics/geospatial.md>), [Database](<https://devfeed.tech/topics/database.md>), [Web](<https://devfeed.tech/topics/web.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [academic](<https://devfeed.tech/tags/academic.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [computing](<https://devfeed.tech/tags/computing.md>), [conference](<https://devfeed.tech/tags/conference.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gis](<https://devfeed.tech/tags/gis.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [qgis](<https://devfeed.tech/tags/qgis.md>), [remote-sensing](<https://devfeed.tech/tags/remote-sensing.md>), [server](<https://devfeed.tech/tags/server.md>), [talks](<https://devfeed.tech/tags/talks.md>), [uk](<https://devfeed.tech/tags/uk.md>)

### AI overview

A personal account of recent and past talks and activities, including an accepted FOSS4G UK 2026 talk and a recap of a FOSS4G UK 2025 workshop on generating live vector tiles from PostGIS with pg_tileserv.

### Source excerpt

There has been a long gap between posts (again!), and a lot of the stuff that I'm going to talk about in this post is fairly old too. Oh well, life keeps getting in the way of blogging. Anyway, I've recently submitted a talk for the FOSS4G UK 2026 conference in Leeds in October, and [...]

## ZIP codes are a bad spatial abstraction

DevFeed: [ZIP codes are a bad spatial abstraction](<https://devfeed.tech/articles/zip-codes-are-a-bad-spatial-abstraction-41511.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2026/07/zip-codes-are-a-bad-spatial-abstraction/>)

Author: Christian Hollinger

Published: 2026-07-14T00:00:00Z

Content type: article

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [data](<https://devfeed.tech/topics/data.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gis](<https://devfeed.tech/tags/gis.md>), [skaldmaps](<https://devfeed.tech/tags/skaldmaps.md>), [spatial](<https://devfeed.tech/tags/spatial.md>), [sql](<https://devfeed.tech/tags/sql.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

This article explains why ZIP codes are a poor spatial abstraction: they identify postal delivery routes rather than geographic areas. It discusses using ZCTAs, HUD-USPS crosswalks, spatial joins, ACS and other public datasets, and DuckDB to support place-based filtering, rating, and comparison.

### Source excerpt

ZIP codes are delivery routes, not polygons. See how SkaldMaps combines ACS and other sources using ZCTAs, HUD-USPS crosswalks, spatial joins, and DuckDB.

## SkaldMaps Launches a ZIP-Code Analysis and Ranking Platform for U.S. Real Estate Research

DevFeed: [SkaldMaps Launches a ZIP-Code Analysis and Ranking Platform for U.S. Real Estate Research](<https://devfeed.tech/articles/i-used-my-homelab-to-start-an-llc-meet-skaldmaps-41509.md>)

Original publisher: [Read original article](<https://chollinger.com/blog/2026/05/skaldmaps-zip-code-research-tool/>)

Author: Christian Hollinger

Published: 2026-05-25T00:00:00Z

Content type: release

Language: en

Sources: [Christian Hollinger](<https://devfeed.tech/sources/christian-hollinger.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [data](<https://devfeed.tech/topics/data.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gis](<https://devfeed.tech/tags/gis.md>), [go](<https://devfeed.tech/tags/go.md>), [homelab](<https://devfeed.tech/tags/homelab.md>), [react](<https://devfeed.tech/tags/react.md>), [saas](<https://devfeed.tech/tags/saas.md>), [skaldmaps](<https://devfeed.tech/tags/skaldmaps.md>), [sql](<https://devfeed.tech/tags/sql.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The author launched SkaldMaps, a SaaS platform that lets users analyze, filter, and rank U.S. ZIP codes using customizable models and attributes for real estate research.

### Source excerpt

I launched SkaldMaps, a SaaS for exploring and ranking U.S. ZIP codes, based on a previous homelab project. It runs a model on my R740XD.

## How to bypass SSL for PROJ reprojection

DevFeed: [How to bypass SSL for PROJ reprojection](<https://devfeed.tech/articles/how-to-bypass-ssl-for-proj-reprojection-35590.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/how-to-bypass-ssl-for-proj-reprojection/>)

Author: Robin Wilson

Published: 2026-03-23T16:23:36Z

Content type: tutorial

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Security](<https://devfeed.tech/topics/security.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [import](<https://devfeed.tech/topics/import.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [osx](<https://devfeed.tech/topics/osx.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [academic](<https://devfeed.tech/tags/academic.md>), [command](<https://devfeed.tech/tags/command.md>), [computing](<https://devfeed.tech/tags/computing.md>), [gis](<https://devfeed.tech/tags/gis.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [linux](<https://devfeed.tech/tags/linux.md>), [osx](<https://devfeed.tech/tags/osx.md>), [remote-sensing](<https://devfeed.tech/tags/remote-sensing.md>), [security](<https://devfeed.tech/tags/security.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This tutorial explains how to temporarily disable SSL verification for PROJ during coordinate reprojection when self-signed or misconfigured certificates cause downloads of conversion data to fail. It notes the security trade-off and points to setting a PROJ environment variable.

### Source excerpt

A friend was using GDAL's ogr2ogr command to import some data to PostGIS recently, and as part of the import they were doing a reprojection of the data. They got the following error: PROJ: Cannot open https://cdn.proj.org/uk_os_OSTN15_NTv2_OSGBtoETRS.tif: schannel: the certificate or certificate chain is based on an untrusted root They've had various SSL errors on [...]

## Pharmacy late-night opening hours analysis featured in the Financial Times

DevFeed: [Pharmacy late-night opening hours analysis featured in the Financial Times](<https://devfeed.tech/articles/pharmacy-late-night-opening-hours-analysis-featured-in-the-financial-times-35596.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/pharmacy-late-night-opening-hours-analysis-featured-in-the-financial-times/>)

Author: Robin Wilson

Published: 2026-02-04T14:10:37Z

Content type: article

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Data analysis](<https://devfeed.tech/topics/data-analysis.md>), [geospatial](<https://devfeed.tech/topics/geospatial.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Python](<https://devfeed.tech/topics/python.md>), [pandas](<https://devfeed.tech/topics/pandas.md>)

Tags: [academic](<https://devfeed.tech/tags/academic.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [article](<https://devfeed.tech/tags/article.md>), [data](<https://devfeed.tech/tags/data.md>), [data-analysis](<https://devfeed.tech/tags/data-analysis.md>), [geospatial](<https://devfeed.tech/tags/geospatial.md>), [gis](<https://devfeed.tech/tags/gis.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

The article describes an analysis of NHS data on community pharmacy opening hours in England. It reports that the number of pharmacies open past 9pm on weekdays fell by approximately 95% between 2022 and 2025, leaving large areas without late-night pharmacy access. The analysis used Python, pandas, geospatial tools and mapping libraries, and was featured in the Financial Times.

### Source excerpt

Some data analysis I've done has been featured in the Financial Times today - see this article (the link may not work any more unless you have a FT subscription - sorry). The brief story is that I had terrible back pain over Christmas, and spoke to an out-of-hours GP on the phone who prescribed [...]

## How to fix osm2pgrouting error 'relation "\_\_waysXXXX" does not exist' and speed up the import

DevFeed: [How to fix osm2pgrouting error 'relation "\_\_waysXXXX" does not exist' and speed up the import](<https://devfeed.tech/articles/how-to-fix-osm2pgrouting-error-relation-waysxxxx-does-not-exist-and-speed-up-the-import-35593.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/how-to-fix-osm2pgrouting-error-relation-__waysxxxx-does-not-exist-and-speed-up-the-import/>)

Author: Robin Wilson

Published: 2026-01-31T10:33:00Z

Content type: tutorial

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [import](<https://devfeed.tech/topics/import.md>), [Database](<https://devfeed.tech/topics/database.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [database](<https://devfeed.tech/tags/database.md>), [error](<https://devfeed.tech/tags/error.md>), [gis](<https://devfeed.tech/tags/gis.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

A practical guide to fixing an osm2pgrouting error involving a missing __waysXXXX relation while importing OpenStreetMap data into PostGIS. It explains that increasing the command's chunk-size parameter can prevent crashes and reduce the import time to about 45 minutes, while requiring substantial RAM.

### Source excerpt

I don't seem to have time or energy for long posts these days, but here's another quick post which might save you some time and frustration. Recently, I've been trying to import OpenStreetMap data into a PostGIS database to use with pgRouting. I wanted to import data for the whole of England - which has [...]

## More links - June 2025

DevFeed: [More links - June 2025](<https://devfeed.tech/articles/more-links-june-2025-35594.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/more-links-june-2025/>)

Author: Robin Wilson

Published: 2025-06-12T12:10:07Z

Content type: article

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [academic](<https://devfeed.tech/tags/academic.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [computing](<https://devfeed.tech/tags/computing.md>), [database](<https://devfeed.tech/tags/database.md>), [gis](<https://devfeed.tech/tags/gis.md>), [links](<https://devfeed.tech/tags/links.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [remote-sensing](<https://devfeed.tech/tags/remote-sensing.md>)

### AI overview

A June 2025 roundup of links covering PostgreSQL row-count performance, a file-renaming command-line tool, web mapping, STAC catalogs and authentication, street-network simplification, and Promptfoo for evaluating AI model responses.

### Source excerpt

I've got into a bit of a habit of writing occasional posts with links to interesting things I've found (probably because it's a relatively easy blog post to write). This is another of those posts - this time, written in June 2025. So, let's get on with some links: Why COUNT(*) can be slow in [...]

## Enterprise Geospatial Solutions with QGIS and Angular

DevFeed: [Enterprise Geospatial Solutions with QGIS and Angular](<https://devfeed.tech/articles/enterprise-geospatial-solutions-with-qgis-and-angular-25133.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/enterprise-geospatial-solutions-with-qgis-and-angular/>)

Author: brakmic

Published: 2025-03-10T16:53:01Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [geospatial](<https://devfeed.tech/topics/geospatial.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [cloud-native](<https://devfeed.tech/tags/cloud-native.md>), [coding](<https://devfeed.tech/tags/coding.md>), [docker](<https://devfeed.tech/tags/docker.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [gis](<https://devfeed.tech/tags/gis.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [qgis](<https://devfeed.tech/tags/qgis.md>)

### AI overview

This article explains how to combine QGIS Desktop and Server with Docker Compose and Kubernetes to build scalable geospatial applications. It also covers an Angular or minimal JavaScript web client and map rendering with OpenLayers.

### Source excerpt

This article shows how to combine QGIS Desktop/Server with Docker Compose and Kubernetes to build scalable geospatial applications. It also covers creating a web client using Angular (or a minimal JavaScript approach), integrating OpenLayers for map rendering, and ensuring all components work seamlessly together.

## Improving the Heroku Postgres Extension Experience

DevFeed: [Improving the Heroku Postgres Extension Experience](<https://devfeed.tech/articles/improving-the-heroku-postgres-extension-experience-26452.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/improving-the-heroku-postgres-extension-experience/>)

Author: Jon Daniel

Published: 2023-07-15T00:04:00Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Heroku Postgres](<https://devfeed.tech/topics/heroku-postgres.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [incident](<https://devfeed.tech/topics/incident.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [extension](<https://devfeed.tech/tags/extension.md>), [gis](<https://devfeed.tech/tags/gis.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [incident](<https://devfeed.tech/tags/incident.md>), [news](<https://devfeed.tech/tags/news.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Heroku announces that Heroku Postgres extensions can again be installed in any schema for non-Essential-tier databases. The feature is opt-in for new and existing databases, while existing extension locations and database structure remain unchanged.

### Source excerpt

PostgreSQL extensions are powerful tools that allow developers to extend the functionality of PostgreSQL beyond its basic types and functions. These extensions can connect your database to an external PostgreSQL instance (postgres_fdw), add native GIS functionality (postgis), standardize address information (address_standardizer), and more. Extensions are arguably one of PostgreSQL's greatest features and are partially responsible [...] The post Improving the Heroku Postgres Extension Experience appeared first on Heroku.

## Welcome to the BAG: The Dutch Building and Addresses database

DevFeed: [Welcome to the BAG: The Dutch Building and Addresses database](<https://devfeed.tech/articles/welcome-to-the-bag-the-dutch-building-and-addresses-database-36375.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/dutch-postcode-and-building-database/>)

Published: 2023-06-21T08:20:43Z

Content type: article

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [data](<https://devfeed.tech/topics/data.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [API](<https://devfeed.tech/topics/api.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [csv](<https://devfeed.tech/tags/csv.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [gis](<https://devfeed.tech/tags/gis.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [tool](<https://devfeed.tech/tags/tool.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article introduces an open source tool that makes the Netherlands' official BAG database of addresses and buildings more accessible. It explains the database's coverage and describes options for obtaining the data as CSV or SQLite files, through an API, or via a web service.

### Source excerpt

Recently, I wrote a small open source tool to make the official Dutch national address & building database more accessible. More about the tool below, but first an introduction. Last data update: 2026-07-08 If all you need is an up to date CSV file (or sqlite database) of all Dutch addresses, their zipcodes and coordinates, scroll down to the end. If all you need is a web service, try https://berthub.eu/pcode/2513AA/14. For more details (including a live demo), do read on.

## Personal Heatmaps

DevFeed: [Personal Heatmaps](<https://devfeed.tech/articles/personal-heatmaps-26574.md>)

Original publisher: [Read original article](<https://medium.com/strava-engineering/personal-heatmaps-f51d15a0db2b?source=rss----89d4108ce2a3---4>)

Author: J Evans

Published: 2022-10-28T21:15:46Z

Content type: tutorial

Language: en

Sources: [Strava Engineering](<https://devfeed.tech/sources/strava-engineering.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Google Maps](<https://devfeed.tech/topics/google-maps.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [cycling](<https://devfeed.tech/tags/cycling.md>), [data](<https://devfeed.tech/tags/data.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gis](<https://devfeed.tech/tags/gis.md>), [google-maps](<https://devfeed.tech/tags/google-maps.md>), [gps](<https://devfeed.tech/tags/gps.md>), [heat](<https://devfeed.tech/tags/heat.md>), [map](<https://devfeed.tech/tags/map.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [running](<https://devfeed.tech/tags/running.md>), [strava](<https://devfeed.tech/tags/strava.md>), [zoom](<https://devfeed.tech/tags/zoom.md>)

### AI overview

This article explains the algorithm behind Strava's Personal Heatmap, which renders an athlete's GPS activity as a frequency-based heatmap on an interactive world map. It focuses on Mercator projection and recursive map tiling, where 256x256 pixel tiles are served at different zoom levels for real-time navigation.

### Source excerpt

This post discusses the algorithm behind Personal Heatmap, one of Strava's most acclaimed subscriber features. Product Overview The Personal Heatmap feature has been around in some form since 2015, but we gave it a major overhaul in 2020. For those unfamiliar, the heatmap is an aggregated view of an athlete's GPS-enabled activities on Strava. Activity data is rendered onto a map according to path traversal frequency; the more an athlete runs on a road, the brighter -- i.e. "hotter" -- that road shows up on the map. The result is a beautiful color gradient displaying the intricate web of past activities, unique to each athlete. The Personal Heatmap is displayed on an interactive world map, also known as a slippy map. Athletes can seamlessly zoom in and out or pan around to arbitrary views of the map, and their activity heat stays displayed the entire time. To enable this, we must provide a scheme for rendering and serving subsections of the world map on the fly. Enter map tiling. Mercator Projection & Map Tiling Map tiling is the practice of subdividing a map into many discrete images that can be stitched together and rendered as a single image in real-time during map navigation. The first step in choosing a tiling scheme is picking what world map to use. Enter, the Mercator Projection, the most commonly used projection of Earth as a flat, rectangular surface. We use this projection in all of our mapping products, including heatmaps. https://medium.com/media/d9e120d13950dd0f1bb4ee14108aa9a9/href Now, imagine a grid overlaying the Mercator projection. Each grid section is known as a tile, a pixel image with resolution 256x256. Every tile has an associated zoom level, and tiles are defined recursively according to this zoom level. A tile at a given zoom level can be subdivided into four equal sized tiles at a next zoom level. For example, Zoom level 0 displays the entire planet in a single 256x256 pixel image. Zoom level 1 displays the world in four 256x256 pixel images.

## GIS in Go

DevFeed: [GIS in Go](<https://devfeed.tech/articles/gis-in-go-22178.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2021/11/gis-in-go.html>)

Published: 2021-11-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [CSV](<https://devfeed.tech/topics/csv.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [csv](<https://devfeed.tech/tags/csv.md>), [gis](<https://devfeed.tech/tags/gis.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

A Go tutorial that loads GPS route data from a CSV file, resamples it into fewer time-based points, and generates an HTML map using Leaflet.

### Source excerpt

Introduction You are jogging and want to show off your route to your friends. Let's imagine the data you have for your route is a CSV file in the following format: Listing 1: track.csv time,lat,lng,height 2015-08-20 03:48:07.235,32.519585,35.015021,136.1999969482422 2015-08-20 03:48:24.734,32.519606,35.014954,126.5999984741211 2015-08-20 03:48:25.660,32.519612,35.014871,123.0 2015-08-20 03:48:26.819,32.519654,35.014824,120.5 2015-08-20 03:48:27.828,32.519689,35.014776,118.9000015258789 2015-08-20 03:48:29.720,32.519691,35.014704,119.9000015258789 2015-08-20 03:48:30.669,32.519734,35.014657,120.9000015258789 Listing 1 shows the first few lines of track.csv. Each line contains a time stamp in UTC, latitude, longitude and height above sea level in meters.

## Spatial, Pluggable SQLite

DevFeed: [Spatial, Pluggable SQLite](<https://devfeed.tech/articles/spatial-pluggable-sqlite-19524.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/spatial-pluggable-sqlite/>)

Author: Shai Almog

Published: 2018-05-07T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [SQLite](<https://devfeed.tech/topics/sqlite.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [gis](<https://devfeed.tech/tags/gis.md>), [ios](<https://devfeed.tech/tags/ios.md>), [security](<https://devfeed.tech/tags/security.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>)

### AI overview

The article describes a pluggable SQLite solution for Codename One applications that adds spatial query support for GIS use cases on Android and iOS. It also discusses encryption as a potential extension because the native SQL databases are not encrypted by default.

### Source excerpt

One of our enterprise accounts is working on a complex GIS application that needs fine grained control over mapping. In this case features such as native maps aren't useful. For some GIS applications the old MapComponent is more useful as it allows working with domain specific data. One of the features he needed was spatial support in the builtin SQL database. When we initially implemented sqlite support we just delegated all the SQL calls to the OS native equivalents and called it a day. This works well for 98% of the cases but there are two big use cases that are missing by default in Android & iOS: Spatial queries & Security.

## Dear Postgres

DevFeed: [Dear Postgres](<https://devfeed.tech/articles/dear-postgres-41201.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2017/10/12/Dear-Postgres/>)

Author: Map

Published: 2017-10-12T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Database](<https://devfeed.tech/topics/database.md>), [data](<https://devfeed.tech/topics/data.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [JSON](<https://devfeed.tech/topics/json.md>), [functions](<https://devfeed.tech/topics/functions.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [b-tree](<https://devfeed.tech/tags/b-tree.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [gis](<https://devfeed.tech/tags/gis.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [json](<https://devfeed.tech/tags/json.md>), [jsonb](<https://devfeed.tech/tags/jsonb.md>), [location-based](<https://devfeed.tech/tags/location-based.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [window-functions](<https://devfeed.tech/tags/window-functions.md>)

### AI overview

An appreciative commentary on Postgres describes how it has expanded beyond traditional relational database capabilities while retaining a focus on data durability, standards, and steady improvement. The article discusses indexes, GIS and PostGIS, analytical features such as window functions and CTEs, and JSON and JSONB support.

### Source excerpt

Dear Postgres, I've always felt an affinity for you in my 9 years of working with you. I know others have known you longer, but that doesn't mean they love you more. Years ago when others complained about your rigidness or that you weren't as accommodating as others I found solace in your steadfast values: Don't lose data Adhere to standards Move forward with a balancing act between new fads of the day while still continuously improving You've been there and seen it all. Years ago you were being disrupted by XML databases. As companies made heavy investment into what such a document database would do for their organization you proceeded to "simply" add a datatype that accomplished the same and brought your years of progress along with it. In the early years you had the standard format of index b-tree that most database engines leveraged. Then quietly but confidently you started adding more. Then came K-nearest neighbor, generalized inverted indexes (GIN), and generalized search-tree (GiST), only to be followed by space partitioned GiST and block range indexes (BRIN). Now the only question is which do I use? All the while there was this other camp using for something that felt cool but outside my world: GIS. GIS, geographical information systems, I thought was something only civil engineers used. Then GPS came along, then the iPhone and location based devices came along and suddenly I wanted to find out the nearest path to my Peets, or manage geographical region for my grocery delivery service. PostGIS had been there all along building up this powerful feature set, sadly to this day I still mostly marvel from the sideline at this whole other feature set I long to take advantage of... one day... one day. A little over 5 years ago I fell in love with your fastly improving analytical capabilities. No you weren't an MPP system yet, but here came window functions and CTEs, then I almost understood recursive CTEs (still working on that one). I can iterate over data in a recurs

## PGDay France 2012

DevFeed: [PGDay France 2012](<https://devfeed.tech/articles/pgday-france-2012-34469.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2012/06/pgday-france-2012/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2012-06-08T14:17:00Z

Content type: article

Language: fr

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [conference](<https://devfeed.tech/tags/conference.md>), [gis](<https://devfeed.tech/tags/gis.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [users](<https://devfeed.tech/tags/users.md>)

### AI overview

A brief report on pgday.fr, the French PostgreSQL Conference held in Lyon, describing its seven-talk program, topics including GIS, fuzzy logic, and replication, and the author's replication presentation. The event was attended by about 60 people and included discussions with users with varied needs.

### Source excerpt

The french PostgreSQL Conference, pgday.fr, was yesterday in Lyon. We had a very good time and a great schedule with a single track packed with 7 talks, addressing a diverse set of PostgreSQL related topics, from GIS to fuzzy logic, including replication. You might have guessed it already, I did talk about replication. Here's the slide deck I did use, it's in french, sorry if you don't grok that language. The conference was very nice and did go smoothly, even if we were "only" 60 of us I had the pleasure to meet with different users with very different set of needs. Very happy to have been there!

## PostgreSQL: Data is Important

DevFeed: [PostgreSQL: Data is Important](<https://devfeed.tech/articles/postgresql-data-is-important-15806.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/postgresql-data-is-important>)

Author: Square Engineering

Published: 2011-06-06T16:00:00Z

Content type: article

Language: en

Sources: [Square Corner Blog](<https://devfeed.tech/sources/square-corner-blog-medium.md>), [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Web](<https://devfeed.tech/topics/web.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [data](<https://devfeed.tech/tags/data.md>), [durability](<https://devfeed.tech/tags/durability.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [full-text-search](<https://devfeed.tech/tags/full-text-search.md>), [gis](<https://devfeed.tech/tags/gis.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [search](<https://devfeed.tech/tags/search.md>), [sql](<https://devfeed.tech/tags/sql.md>), [statement](<https://devfeed.tech/tags/statement.md>), [types](<https://devfeed.tech/tags/types.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article presents a case for using PostgreSQL in a modern web architecture. It describes PostgreSQL features including migration support, indexes, transactional DDL, constraints, streaming replication, query planning, PostGIS, and full-text search.

### Source excerpt

A case for PostgreSQL in a modern web architecture.