Dynamic Metadata in Quarto Documents
No Clocks
Interactive Shiny-Based Grading Interface for R Markdown Assignments
Provides a comprehensive Shiny-based interface for grading assignments submitted as git repositories containing R Markdown or Quarto documents. Features include template creation with validation rules, interactive AST tree visualization, question-based grading workflows with customizable rubrics and hotkeys, automated validation and scoring systems, and support for both local directories and remote GitHub repositories.
Gamma | Best AI Presentation Maker & Website Builder
Gamma is your free-to-use AI design partner for creating effortless presentations, websites, and more. No coding or design skills required.
Home
Pixi Documentation — Next-gen package manager for reproducible development setups
Building Platform-Agnostic Infrastructure | Overture Maps Foundation
This effort demonstrates what’s possible when organizations come together to solve shared challenges. It reflects the core of Overture’s mission: building open, reusable infrastructure to enable the best maps—not for one organization but for everyone.
T. Moudiki's webpage
Thierry Moudiki's personal webpage, Data Science, Statistics, Machine Learning, Deep Learning, Simulation, Optimization.
pygeoapi project status FOSS4G 2025
pygeoapi project status presentation. Come and find out the latest news on the project as well as future plans, and how to get involved!
The API Tooling Crisis: Why developers are abandoning Postman and its clones?
I’ve been a Postman user for my entire developer career. I remember when it was just a simple Chrome extension that made pentesting APIs slightly less painful. Those were simpler times. Today, I find myself joining the growing exodus of developers abandoning these tools because they sell out.
Three levels to compose R functions – Joshua Marie
Introducing the 3 ways to compose functions in R.
Bump {tibblify} package dependency to latest stable release · Issue #92 · jonthegeek/rapid
Just noticed this when installing the package: pak::pkg_install("jonthegeek/rapid")
We Needed Better Cloud Storage for Python so We Built Obstore — Development Seed
Obstore solves the friction we kept hitting in cloud-native workflows.
Documenting functions
The basics of roxygen2 tags and how to use them for documenting functions.
Instead of including examples directly in the documentation, you can put them in separate files and use @example path/relative/to/package/root to insert them into the documentation.
Terra Draw - a JavaScript library for frictionless drawing on web maps
Ports & Adapters Architecture
This post is part of The Software Architecture Chronicles, a series of posts about Software Architecture. In them, I write about what I’ve…
The traditional approach will likely bring us problems both on the front-end side and on the backend side.
On the front-end side we end up having leakage of business logic into the UI (ie. when we put use case logic in a controller or view, making it unreusable in other UI screens) or even leakage of the UI into the business logic (ie. when we create methods in our entities because of some logic we need in a template).
A port is a consumer agnostic entry and exit point to/from the application. In many languages, it will be an interface. For example, it can be an interface used to perform searches in a search engine. In our application, we will use this interface as an entry and/or exit point with no knowledge of the concrete implementation that will actually be injected where the interface is defined as a type hint.
An adapter is a class that transforms (adapts) an interface into another.
For example, an adapter implements an interface A and gets injected an interface B. When the adapter is instantiated it gets injected in its constructor an object that implements interface B. This adapter is then injected wherever interface A is needed and receives method requests that it transforms and proxies to the inner object that implements interface B.
The adapters on the left side, representing the UI, are called the Primary or Driving Adapters because they are the ones to start some action on the application, while the adapters on the right side, representing the connections to the backend tools, are called the Secondary or Driven Adapters because they always react to an action of a primary adapter.
Martin — vector tiles server
Vector Tiles from Large Databases on the Fly
The STAC Specification
Learn about components that make up the STAC core specification: items, catalogs, and collections, as well as STAC APIs and extensions.
stac-fastapi-pgstac
STAC FastAPI - pgstac backend.
stac-fastapi
STAC FastAPI.
The Modern Geospatial Stack: From PostGIS to GeoAI
Introduction: The Geospatial Data Revolution
The Modern Geospatial Data Stack: Trends, Tools, and What They Mean for You - Matt Forrest
The geospatial technology landscape is changing fast. What used to be a world of shapefiles, desktop software, and siloed workflows is now becoming cloud-native, AI-driven, and analytics-focused. This shift isn’t just technical—it’s reshaping how geospatial professionals build, analyze, and share data. In this post, I’ll break down the key trends shaping the modern geospatial data
The Modern Geospatial Data Stack: Trends, Tools, and What They Mean for You
In this post, I’ll break down the key trends shaping the modern geospatial data stack, highlight the tools and platforms that are leading innovation, and explain what this means for practitioners, teams, and organizations.
File Formats and Catalogs: The Foundation of Cloud-Native Geospatial
Modern analytics workflows are no longer small, local projects—they’re massive, distributed, and data-heavy. That’s why cloud-native file formats and data catalogs are at the center of the stack.
Apache Iceberg and other table formats are becoming the backbone of large-scale geospatial data management.
Cloud-optimized formats (like GeoParquet and COGs) make spatial data portable, efficient, and accessible.
Specialized systems like Earthmover are also adding focus for specific file types, in this case climate data
What this means for you: If you’re still relying on ad hoc file storage, you’re missing out on performance and scalability. Learning how to use catalogs like Iceberg lets you fully leverage file-level optimizations, versioning, and schema evolution—critical for handling large and evolving geospatial datasets.
Data Processing: Beyond the Spatial Join
For years, the hallmark of a spatial database was the ability to run a point-in-polygon query. But in 2025, that capability has been commoditized. Most OLAP systems and modern databases can handle these joins at scale—even without compute layers optimized for geospatial.
The real differentiator now is advanced geospatial processing:
Zonal statistics for climate and land-use analysis
Mobility data pipelines for transportation and urban planning
Feature engineering for AI and machine learning workflows
Platforms like Wherobots and Coiled are focusing directly on these workloads, while Apache Spark has begun supporting vector data types. Traditional relational databases still play a role—especially as AI applications demand fast transactional access—but the future belongs to systems that optimize for large analytical queries across massive datasets.
👉 What this means for you: Stop thinking of “point-in-polygon” as the benchmark. Systems that can go deeper—into advanced feature generation and distributed geospatial computation—will define the next generation of spatial analytics.
Transformation and Orchestration: Moving Beyond Simple Scripts
In the past, geospatial data pipelines often relied on one-off Python scripts. Today, that approach simply doesn’t scale.
Specialized spatial ELT tools like Seer AI and BigGeo are emerging to handle geospatial-specific transformations.
Orchestration platforms such as Apache Airflow and Astronomer are essential for managing dependencies, scheduling, and ensuring upstream data integrity.
👉 What this means for you: Don’t think of orchestration as overhead—it’s how you guarantee reliable and reproducible data pipelines. If your team is serious about analytics, orchestration is no longer optional.
Analytical Tools: From Niche to End-to-End
The analytics ecosystem for geospatial continues to expand, giving users more choice than ever.
Specialized platforms: Foursquare, Dekart, Superset, Preset
End-to-end systems: CARTO and Fused, which combine geospatial with AI, data management, and visualization
👉 What this means for you: The decision is no longer “which GIS platform do I use?” Instead, it’s about picking the right tool for the specific stage of your workflow—sometimes a lightweight visualizer, sometimes a comprehensive enterprise solution.
GIS: The Rise of Web-Native Platforms
Web GIS is where most of the visible innovation is happening. Platforms like Felt and Atlas are reimagining the GIS experience: collaborative, browser-based, and designed for simplicity without losing power.
👉 What this means for you: Expect the center of gravity in GIS to continue shifting from desktop to the web. Professionals who adapt to these tools will be better positioned for collaborative, cloud-based work environments.
AI: A New Category of Geospatial Tools
One of the most exciting areas is the emergence of AI-native geospatial platforms. These tools are building with machine learning and agentic AI in mind from the start.
Vertical-focused AI: Aino (planning), Contour (cities)
GIS-focused AI: Bunting Labs, optimizing traditional GIS workloads with AI
Agentic AI for geospatial: Klarety and Monarcha, building agents as spatial tools
👉 What this means for you: AI isn’t just an add-on anymore—it’s a defining capability. Expect to see AI-powered agents and models become critical in workflows from automated labeling to decision support.
Python Ecosystem: Expanding AI and Spatial ML
Python remains the glue of modern geospatial, and the ecosystem keeps growing:
TorchGeo has matured into an independent framework for spatial deep learning.
GeoAI from Dr. Qiusheng Wu provides new capabilities for applying ML to spatial data.
👉 What this means for you: If you’re serious about geospatial and AI, Python is unavoidable. The tools are expanding, and open-source continues to lead the way.
Final Takeaway: Where the Modern Geospatial Stack is Headed
The geospatial data stack is no longer about static maps or one-off analyses. It’s about:
Scalable architectures (Iceberg, GeoParquet, COGs)
Advanced processing (beyond spatial joins)
Reliable pipelines (orchestration + transformation)
AI-native design (feature engineering, agents, ML-ready workflows)
The modern stack is maturing into a foundation for spatial intelligence at scale. If you’re a GIS professional, data engineer, or analyst, now is the time to expand your toolkit—because the organizations that master this new stack will define the future of geospatial.
obstore
The simplest, highest-throughput Python interface to S3, GCS & Azure Storage, powered by Rust.
OSGS
GIS Manual: Elements of Cartographic Style
A discussion of common maps forms, their purposes and elements that determine their effectiveness.
7 Geospatial Data Visualization – Geospatial Data Science with R
OGC_Services
Using Windows Package Manager with Model Context Protocol (MCP) Server
The Windows Package Manager includes a Model Context Protocol (MCP) server that enables AI agents and tools to discover and install packages through a standardized interface, enhancing the authoring experience in supported editors like VS Code.
Geoprocessing Tool: Buffering in GIS and Land Surveying
GIS buffering, flood risk management, emergency response planning, spatial analysis, government GIS applications, state government, buffer distance, overlay techniques, high-risk flood zones, and elevation data.
Using WMS services in R • Thierry Onkelinx
How to use WMS (raster) GIS services within R scripts
Plugins - Leaflet - a JavaScript library for interactive maps
Using WFS services in R • Thierry Onkelinx
How to use WFS (vectors/features) GIS services within R scripts