𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
@mackaszechno.bsky.social
#rstats geospatial data analyst. GIS expert, of a sort. Sci-fi fan and would be writer. Black cat owner. Occasionally apocalyptical. Can't DM.
WORDS ARE QUICK AND WORDS ARE VAIN, THE SINGLE SURE AND FINAL ANSWER MUST BE PAIN. -Dan Simmons, Olympos
WORDS ARE QUICK AND WORDS ARE VAIN, THE SINGLE SURE AND FINAL ANSWER MUST BE PAIN. -Dan Simmons, Olympos
Pinned
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Sharing my joy 🌞 that I'm one of the runners up for 2025 Posit Table 𝄜 Contest. Grateful to
@posit.co for the chance to share nice but less-known places to visit in 🇸🇬 🦁.
@nrennie.bsky.social table on lemurs as inspiration.
#rstats #PositTable #TableContest #DataVisualisation #SingaporeTourism
@posit.co for the chance to share nice but less-known places to visit in 🇸🇬 🦁.
@nrennie.bsky.social table on lemurs as inspiration.
#rstats #PositTable #TableContest #DataVisualisation #SingaporeTourism
November 11, 2025 at 8:49 AM
Sharing my joy 🌞 that I'm one of the runners up for 2025 Posit Table 𝄜 Contest. Grateful to
@posit.co for the chance to share nice but less-known places to visit in 🇸🇬 🦁.
@nrennie.bsky.social table on lemurs as inspiration.
#rstats #PositTable #TableContest #DataVisualisation #SingaporeTourism
@posit.co for the chance to share nice but less-known places to visit in 🇸🇬 🦁.
@nrennie.bsky.social table on lemurs as inspiration.
#rstats #PositTable #TableContest #DataVisualisation #SingaporeTourism
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
In 2024, 46.9% of net electricity generated in the EU came from renewable energy sources (Eurostat). In the first half of 2025, renewable energy has outpaced coal as the primary source of electricity globally, indicating a shift in our reliance on fossil fuels (NPR). 🌞
#30DayMapChallenge Minimal
#30DayMapChallenge Minimal
November 11, 2025 at 7:53 AM
In 2024, 46.9% of net electricity generated in the EU came from renewable energy sources (Eurostat). In the first half of 2025, renewable energy has outpaced coal as the primary source of electricity globally, indicating a shift in our reliance on fossil fuels (NPR). 🌞
#30DayMapChallenge Minimal
#30DayMapChallenge Minimal
Using {mapsf} to create a minimal map showing, hopefully, solidarity with Ukraine.
#30DayMapChallenge | Day 11 - Minimal #rstats
(code in alt)
#30DayMapChallenge | Day 11 - Minimal #rstats
(code in alt)
November 11, 2025 at 9:11 AM
Using {mapsf} to create a minimal map showing, hopefully, solidarity with Ukraine.
#30DayMapChallenge | Day 11 - Minimal #rstats
(code in alt)
#30DayMapChallenge | Day 11 - Minimal #rstats
(code in alt)
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Winners of the 2025 Table Contest
https://posit.co/blog/2025-table-contest-winners/
#rstats #datascience
https://posit.co/blog/2025-table-contest-winners/
#rstats #datascience
Winners of the 2025 Table Contest
Summary: Posit showcases 2025 Table Contest winners and runners-up, highlighting diverse gt/Quarto tables, dashboards, and visual storytelling across R and Python.
posit.co
November 11, 2025 at 6:04 AM
Winners of the 2025 Table Contest
https://posit.co/blog/2025-table-contest-winners/
#rstats #datascience
https://posit.co/blog/2025-table-contest-winners/
#rstats #datascience
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
If you want to load excel files directly to @duckdb.org in #rstats, you can use the md::read_excel() function in the motherduck package
simply pipe your excel file into read_excel() and you will load your data directly to your database by passing your local memory
usrbinr.github.io/md/reference...
simply pipe your excel file into read_excel() and you will load your data directly to your database by passing your local memory
usrbinr.github.io/md/reference...
Read an Excel file into a DuckDB/MotherDuck table — read_excel
Loads the DuckDB excel extension and creates a table from an Excel file
using the read_xlsx() table function. The destination is fully qualified
as <database>.<schema>.<table>. Only ...
usrbinr.github.io
November 10, 2025 at 1:14 PM
If you want to load excel files directly to @duckdb.org in #rstats, you can use the md::read_excel() function in the motherduck package
simply pipe your excel file into read_excel() and you will load your data directly to your database by passing your local memory
usrbinr.github.io/md/reference...
simply pipe your excel file into read_excel() and you will load your data directly to your database by passing your local memory
usrbinr.github.io/md/reference...
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Day 10 of the #30DayMapChallenge - Air - Map of the world's airports and airways.
November 10, 2025 at 9:35 PM
Day 10 of the #30DayMapChallenge - Air - Map of the world's airports and airways.
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
We’re getting ready for QGIS Open Day on 28 November 2025! 💚
We’re looking for speakers. If you’d like to share your #qgis work or ideas, sign up
👉 https://github.com/qgis/QGIS/wiki/QOD-November-2025
#qod #gischat #osgeo
We’re looking for speakers. If you’d like to share your #qgis work or ideas, sign up
👉 https://github.com/qgis/QGIS/wiki/QOD-November-2025
#qod #gischat #osgeo
QOD November 2025
QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS) - qgis/QGIS
github.com
November 10, 2025 at 8:39 PM
We’re getting ready for QGIS Open Day on 28 November 2025! 💚
We’re looking for speakers. If you’d like to share your #qgis work or ideas, sign up
👉 https://github.com/qgis/QGIS/wiki/QOD-November-2025
#qod #gischat #osgeo
We’re looking for speakers. If you’d like to share your #qgis work or ideas, sign up
👉 https://github.com/qgis/QGIS/wiki/QOD-November-2025
#qod #gischat #osgeo
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
#30DayMapChallenge
Day-10/15/20 Air/Fire/Water
Using WRI’s data to visualize China's power plants, where different colors represent plant types (Wind, Coal, Hydro, etc.) and size indicates installed capacity. And I've marked the top ten.
Day-10/15/20 Air/Fire/Water
Using WRI’s data to visualize China's power plants, where different colors represent plant types (Wind, Coal, Hydro, etc.) and size indicates installed capacity. And I've marked the top ten.
November 10, 2025 at 12:28 PM
#30DayMapChallenge
Day-10/15/20 Air/Fire/Water
Using WRI’s data to visualize China's power plants, where different colors represent plant types (Wind, Coal, Hydro, etc.) and size indicates installed capacity. And I've marked the top ten.
Day-10/15/20 Air/Fire/Water
Using WRI’s data to visualize China's power plants, where different colors represent plant types (Wind, Coal, Hydro, etc.) and size indicates installed capacity. And I've marked the top ten.
Mapping 7698 airports and 67443 routes
Data from: github.com/jpatokal/ope...
#30DayMapChallenge | Day 10 - Air #rstats
(code in alt)
Data from: github.com/jpatokal/ope...
#30DayMapChallenge | Day 10 - Air #rstats
(code in alt)
November 10, 2025 at 3:32 PM
Mapping 7698 airports and 67443 routes
Data from: github.com/jpatokal/ope...
#30DayMapChallenge | Day 10 - Air #rstats
(code in alt)
Data from: github.com/jpatokal/ope...
#30DayMapChallenge | Day 10 - Air #rstats
(code in alt)
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Today's mapgl tip for #30DayMapChallenge: Air
Use the `set_fog()` function to change the color of the sky on your @Mapbox map. Visualize the glow of the Northern Lights - or whatever you can come up with!
Use the `set_fog()` function to change the color of the sky on your @Mapbox map. Visualize the glow of the Northern Lights - or whatever you can come up with!
November 10, 2025 at 2:46 PM
Today's mapgl tip for #30DayMapChallenge: Air
Use the `set_fog()` function to change the color of the sky on your @Mapbox map. Visualize the glow of the Northern Lights - or whatever you can come up with!
Use the `set_fog()` function to change the color of the sky on your @Mapbox map. Visualize the glow of the Northern Lights - or whatever you can come up with!
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Color can be hard, but it doesn't have to be. Understanding and applying basic color theory can help improve your visuals - whether it's a chart, map, or dashboard.
I walk you through the basics in my upcoming workshop: Data Visualization Essentials, Dec 9.
LevelUpMySkills.com/dataviz
I walk you through the basics in my upcoming workshop: Data Visualization Essentials, Dec 9.
LevelUpMySkills.com/dataviz
Color isn't just decoration, it's communication. Guide your audience's eyes by using color strategically to enhance understanding.
Learn about purposeful design in our next workshop on Dec 9, 2025, taught by @justjami.bsky.social
Data Visualization Essentials
levelupmyskills.com/dataviz
#prodev
Learn about purposeful design in our next workshop on Dec 9, 2025, taught by @justjami.bsky.social
Data Visualization Essentials
levelupmyskills.com/dataviz
#prodev
November 10, 2025 at 2:19 PM
Color can be hard, but it doesn't have to be. Understanding and applying basic color theory can help improve your visuals - whether it's a chart, map, or dashboard.
I walk you through the basics in my upcoming workshop: Data Visualization Essentials, Dec 9.
LevelUpMySkills.com/dataviz
I walk you through the basics in my upcoming workshop: Data Visualization Essentials, Dec 9.
LevelUpMySkills.com/dataviz
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Rendering the peak of Mount Everest from sunrise to sunset in R with rayshader and rayrender
#RStats #rayrender #rayshader #rayverse
#RStats #rayrender #rayshader #rayverse
November 9, 2025 at 4:41 AM
Rendering the peak of Mount Everest from sunrise to sunset in R with rayshader and rayrender
#RStats #rayrender #rayshader #rayverse
#RStats #rayrender #rayshader #rayverse
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
{shinyfa} is on CRAN 🎉 I’ll be chatting more about its origins in my talk this Thursday at R+AI conference!
I’m so happy to have more brain space back to think strategically about how to develop more #rstats packages with AI-assisted development!
#databs
I’m so happy to have more brain space back to think strategically about how to develop more #rstats packages with AI-assisted development!
#databs
New on CRAN: shinyfa (0.0.1). View at https://CRAN.R-project.org/package=shinyfa
shinyfa: Analyze the File Contents of 'shiny' Directories
Provides tools for analyzing and understanding the file contents of large 'shiny' application directories. The package extracts key information about render functions, reactive functions, and their inputs from app files, organizing them into structured data frames for easy reference. This streamlines the onboarding process for new contributors and helps identify areas for optimization in complex 'shiny' codebases with multiple files and sourcing chains.
CRAN.R-project.org
November 9, 2025 at 9:38 PM
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
#30DayMapChallenge - Analog
So this is a bit of a stretch - but ...
🖌️🎨🖼️
How to create a hand-drawn (analog looking) map style in Maputnik.
googlemapsmania.blogspot.com/2025/11/a-pe...
So this is a bit of a stretch - but ...
🖌️🎨🖼️
How to create a hand-drawn (analog looking) map style in Maputnik.
googlemapsmania.blogspot.com/2025/11/a-pe...
A Pencil Style for Maplibre
Maps Mania is a blog dedicated to tracking the very best digital interactive maps on the internet and the tools used to create them.
googlemapsmania.blogspot.com
November 9, 2025 at 4:27 PM
#30DayMapChallenge - Analog
So this is a bit of a stretch - but ...
🖌️🎨🖼️
How to create a hand-drawn (analog looking) map style in Maputnik.
googlemapsmania.blogspot.com/2025/11/a-pe...
So this is a bit of a stretch - but ...
🖌️🎨🖼️
How to create a hand-drawn (analog looking) map style in Maputnik.
googlemapsmania.blogspot.com/2025/11/a-pe...
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
A custom styling trick for #30DayMapChallenge: Analog
For a "classic" look on your mapgl MapLibre maps, load a parchment paper image (or whatever you'd like) and override the basemap.
Here's how to do it: gist.github.com/walkerke/648...
For a "classic" look on your mapgl MapLibre maps, load a parchment paper image (or whatever you'd like) and override the basemap.
Here's how to do it: gist.github.com/walkerke/648...
November 9, 2025 at 3:58 PM
A custom styling trick for #30DayMapChallenge: Analog
For a "classic" look on your mapgl MapLibre maps, load a parchment paper image (or whatever you'd like) and override the basemap.
Here's how to do it: gist.github.com/walkerke/648...
For a "classic" look on your mapgl MapLibre maps, load a parchment paper image (or whatever you'd like) and override the basemap.
Here's how to do it: gist.github.com/walkerke/648...
Bump as it's finally day 9 😁
Okay, wanted to share this now rather than wait. The analogue version is on A3 and the paper is now so old it's yellowed. The digital version is probably only 20 years old. Both were used as the basis for a novella I wrote (unpublished).
#30DayMapChallenge | Day 9 - Analogue #handdrawn
#30DayMapChallenge | Day 9 - Analogue #handdrawn
November 9, 2025 at 12:47 PM
Bump as it's finally day 9 😁
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Nothing like a nice long flight for catching up on #30DayMapChallenge 🤪.
Here's Day 8 — urban — right on time. A map of Paris buildings by age of construction. A real beauty if I do say so myself. 😍
Here's Day 8 — urban — right on time. A map of Paris buildings by age of construction. A real beauty if I do say so myself. 😍
November 9, 2025 at 12:53 AM
Nothing like a nice long flight for catching up on #30DayMapChallenge 🤪.
Here's Day 8 — urban — right on time. A map of Paris buildings by age of construction. A real beauty if I do say so myself. 😍
Here's Day 8 — urban — right on time. A map of Paris buildings by age of construction. A real beauty if I do say so myself. 😍
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Day 8 of the #30DayMapChallenge Urban - Roads of the world. Couldn't think of anything more urban than roads.
November 8, 2025 at 11:12 PM
Day 8 of the #30DayMapChallenge Urban - Roads of the world. Couldn't think of anything more urban than roads.
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
This is more or less what I do when faced with a featureserver/map server. Look for the Query operation, set where=1=1 and format you want, then copy the URL and drop all of the empty API arguments. I'm sure there's a better way, but it works.
November 8, 2025 at 10:35 PM
This is more or less what I do when faced with a featureserver/map server. Look for the Query operation, set where=1=1 and format you want, then copy the URL and drop all of the empty API arguments. I'm sure there's a better way, but it works.
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
It's such a great toolkit. Do you know about the sf_ext package as well? I think it's worthy of more attention. It fills a few of the gaps in sf (and has, for example, slightly saner arguments for its st_make_grid() equivalent). elipousson.github.io/sfext/
Extra Functions for Simple Feature Data
Extra functions with additional options for reading, writing, and transforming spatial data. Includes a variety of utility functions for working with tabular data with coordinates and distance and are...
elipousson.github.io
November 4, 2025 at 1:55 PM
It's such a great toolkit. Do you know about the sf_ext package as well? I think it's worthy of more attention. It fills a few of the gaps in sf (and has, for example, slightly saner arguments for its st_make_grid() equivalent). elipousson.github.io/sfext/
November 8, 2025 at 8:06 PM
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Wow these numbers are surprising. Especially OR.
November 8, 2025 at 1:47 PM
Wow these numbers are surprising. Especially OR.
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
November 8, 2025 at 1:52 PM
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
For Day 06 of the #30DayMapChallenge, I used:
📖 Wikipedia retrieving tallest building list with `rvest`
🏔️ `tidyterra` to retrieve elevation shades
🔮 Refined top buildings's labels and lines with `ggrepel`
Code: guillaume-noblet.com/30DayMapChal...
#rstats #gis #dataviz #ggplot2 #terra
📖 Wikipedia retrieving tallest building list with `rvest`
🏔️ `tidyterra` to retrieve elevation shades
🔮 Refined top buildings's labels and lines with `ggrepel`
Code: guillaume-noblet.com/30DayMapChal...
#rstats #gis #dataviz #ggplot2 #terra
November 8, 2025 at 3:52 PM
For Day 06 of the #30DayMapChallenge, I used:
📖 Wikipedia retrieving tallest building list with `rvest`
🏔️ `tidyterra` to retrieve elevation shades
🔮 Refined top buildings's labels and lines with `ggrepel`
Code: guillaume-noblet.com/30DayMapChal...
#rstats #gis #dataviz #ggplot2 #terra
📖 Wikipedia retrieving tallest building list with `rvest`
🏔️ `tidyterra` to retrieve elevation shades
🔮 Refined top buildings's labels and lines with `ggrepel`
Code: guillaume-noblet.com/30DayMapChal...
#rstats #gis #dataviz #ggplot2 #terra
Reposted by 𝚖𝚊𝚌𝚔𝚊 𝚜𝚣𝚎𝚌𝚑𝚗𝚘
Today's mapgl tip for #30DayMapChallenge Day 8: Urban
The default Mapbox Standard Style with `mapboxgl()` gets you 3D buildings - with rendered landmarks - out of the box.
Using MapLibre? Try `maplibre(style = openfreemap_style("liberty"))` for 3D OSM buildings!
The default Mapbox Standard Style with `mapboxgl()` gets you 3D buildings - with rendered landmarks - out of the box.
Using MapLibre? Try `maplibre(style = openfreemap_style("liberty"))` for 3D OSM buildings!
November 8, 2025 at 1:54 PM
Today's mapgl tip for #30DayMapChallenge Day 8: Urban
The default Mapbox Standard Style with `mapboxgl()` gets you 3D buildings - with rendered landmarks - out of the box.
Using MapLibre? Try `maplibre(style = openfreemap_style("liberty"))` for 3D OSM buildings!
The default Mapbox Standard Style with `mapboxgl()` gets you 3D buildings - with rendered landmarks - out of the box.
Using MapLibre? Try `maplibre(style = openfreemap_style("liberty"))` for 3D OSM buildings!