Kyle Walker
banner
kylewalker.bsky.social
Kyle Walker
@kylewalker.bsky.social
Demographics | Geospatial | Data Science | Open Source
Last day of #30DayMapChallenge: Makeover

Visualizing daytime Tokyo vs. 2125 cyberpunk Tokyo at night on a 3D @mapbox.com map with a comparison slider.

In #rstats mapgl, the comparison map is built with a single line of code - just call `compare()` over two maps.
November 30, 2025 at 1:20 PM
I’ve been thinking a lot recently about AI and the 40 or 50 year-old entrepreneur.

Typically, we associate startups with ambitious people in their 20s, but I think AI changes that calculation.
November 29, 2025 at 7:15 PM
In R's mapgl package, use `add_image_source()` to add a terra raster to your map, then display it with `add_raster_layer()`.

Drape it over Mapbox's Standard style for built-in 3D!

#30DayMapChallenge Day 29: Raster
November 29, 2025 at 1:27 PM
This week I've used the #30DayMapChallenge to showcase the mapgl #rstats package:

- H3 hexagonal binning of 70k US wind turbines with "fade effects";

- The US electricity transmission network visualized with "glow" effects;

- A spinnable globe of the world's time zones
November 28, 2025 at 5:10 PM
#30DayMapChallenge Day 28: Black

In the @Mapbox Standard Style, set the `lightPreset` in the style's basemap config property to "night" for a stunning dark theme.

Try it out with the Standard Satellite style as well!
November 28, 2025 at 3:01 PM
The world's time zones visualized on a spinnable, interactive globe.

Try out the code - it'll default to your current time zone and show you times around the world!

#30DayMapChallenge Day 27: Boundaries

Code: gist.github.com/walkerke/c4a...
November 27, 2025 at 2:28 PM
Visualizing US electric power transmission lines for Day 26 of #30DayMapChallenge: Transport

A few mapgl tips in this one:

- To achieve a "glow effect" for the lines, first add a blurred line using the `line_blur` parameter then add the same layer over it as an opaque line
November 26, 2025 at 2:00 PM
I've been working with Claude Opus 4.5 for a day now...

...and it's causing me to question a lot of my assumptions about what's possible with AI.

If you have an idea but you have been waiting to build it, now is absolutely the time to get moving on it
November 25, 2025 at 6:53 PM
Video tutorial: mapping wind turbines with H3 hexagons, #rstats, and @maplibre.org

riverside.fm/shared/expor...

Code / links on the next post
Map Challenge: Hexagons | Nov 25, 2025 001 - Riverside - HD Podcast & Video Software
riverside.fm
November 25, 2025 at 5:11 PM
Mapping US wind energy infrastructure with H3 hexagons for #30DayMapChallenge Day 25.

Turbines and their capacity are aggregated by H3 level; we apply a "fade effect" as the user zooms to reveal smaller hexagons then individual turbines.

Posting a tutorial later today!
November 25, 2025 at 2:14 PM
Over the past 2.5 years I've been hosting Census data, web mapping, and Shiny workshops.

I'm giving my biggest discount ever on all the recordings + tutorials this week - I appreciate you checking them out!

This year: walkerdata.gumroad.c...

Past years: walkerdata.gumroad.c...
November 24, 2025 at 9:54 PM
For Day 24 of #30DayMapChallenge: Places and their names, a labeling trick in mapgl you can try.

Use the TurfJS integration in the package to dynamically compute centroids for your layer then use them as a symbol layer to label your polygons.

Try it: gist.github.com/walkerke/b77...
November 24, 2025 at 1:12 PM
The story map feature in the #rstats mapgl package is a tremendous teaching tool.

Teach your students geographic concepts while visualizing those concepts in real-time.

Check out this Census mapping story map tutorial for #30DayMapChallenge Day 23: Process.
November 23, 2025 at 7:44 PM
My career advice for 2026.

You probably have a skill or idea sitting on your computer that solves someone’s exact problem, but no one knows about it.

You are one post about this from changing your life.

November 23, 2025 at 2:51 PM
For Day 22 of #30DayMapChallenge, Natural Earth, a shout-out to Martijn Tennekes and the tmap.mapgl package.

tmap.mapgl wraps mapgl, allowing you to make performant interactive maps with the same tmap syntax you know and love!

Try it out: r-tmap.github.io/tmap.mapgl/i...
November 22, 2025 at 6:18 PM
Are you intrigued by the latest innovations in open-source geospatial, but you're committed to your Esri #GIS stack?

Not to worry. You can have both.

Shown here: 5 million US oil & gas wells, stored as PMTiles, served as a ZXY endpoint and consumed by the ArcGIS JavaScript API.
November 21, 2025 at 7:05 PM
A new version (0.4.3) of the mapgl #rstats package, your R interface to @mapbox.com and @maplibre.org maps, is now on CRAN!

Mostly quality-of-life improvements in this release; the biggest change is that MapLibre maps now default to a globe projection.

Install / update today!
November 21, 2025 at 5:54 PM
Today's mapgl tip: use `add_image()` to add a local or remote image to your map, then pass the image ID to `icon_image` in `add_symbol_layer()` to use custom icons on your maps.

You can even cluster your icons too!

#30DayMapChallenge Day 21: Icons
November 21, 2025 at 3:04 PM
If you have maritime mapping needs, consider using the beautiful Ocean map style from @maptiler.bsky.social.

It's available in mapgl with `maptiler_style("ocean")`.

#30DayMapChallenge Day 20: Water
November 20, 2025 at 2:58 PM
A bonus one for Day 19 of #30DayMapChallenge: Projections

I tested out Gemini 3.0 Pro by asking it to make an animated visualization of how tigris::shift_geometry() moves Alaska / Hawaii / Puerto Rico for US thematic mapping.

Gemini 3 one-shotted this one!
November 19, 2025 at 8:16 PM
When you make interactive world maps, your choice of projection matters.

Use this app to see how the traditional Mercator projection grossly distorts area near the poles relative to the Equator.

#30DayMapChallenge Day 19: Projections

walkerke-projections.share.connect.posit.cloud
November 19, 2025 at 11:23 AM
With the new Antigravity release, my #coding hot take:

I don't care for VSCode.

So many new IDEs are built on it (Cursor, Positron, now Antigravity) but I find VSCode clunky and really crowded without a big monitor.

My IDE of choice these days: @zeddotdev
November 18, 2025 at 10:19 PM
For #30DayMapChallenge Day 18: Out of this world, use the `fill_z_offset` param in mapgl to "elevate" your data.

Just be careful - if you choose a value too high, you might lose your data in the sky!

#rstats
November 18, 2025 at 7:03 PM
5 million oil & gas wells mapped across the US.

Smoothly aggregated heatmap when zoomed out, fading to individual wells when zoomed in.

High-precision energy industry insights, modern geospatial infrastructure.
November 17, 2025 at 9:35 PM
For Day 17 of #30DayMapChallenge: A New Tool, try out the newest addition to mapgl: `palette_to_lut()` for theming the @mapbox.com Standard Style.

You'll get Mapbox's rendered 3D buildings styled with any color theme you want - all you need is a vector of colors!
November 17, 2025 at 3:31 PM