El Río
2023
Rivers are complex lifeforms. They have life cycles, body parts, and a long geological history. They also have a deep relationship with the cultures and civilizations that flourish along side them.
Recently I participated in a digital history project about the Orinoco river as a designer and developer. Helping to create an interactive narrative, I understood how this great mass of water connects different people and products. And how rivers perform crucial economic, social, and ecological services.
Working with QGIS and web libraries like MapLibre GL JS made me eager to create generative pieces using Colombia's open hydrography data. So here is the first one: a visualization of digits (0-9), points (.), and lines (-) in Colombia's rivers coordinates as different symbols to create patterns.
Click the canvas to randomize the selected feature, colors and glyphs.
This was the step-by-step of the process:
- Obtain a random river feature from a geoJSON file.
- Get the latitude and longitude coordinates of the feature.
- Flat the coordinates to create an array of concatenated strings.
- Map every string to an equivalent element from another array formed by random glyphs selected from Unicode blocks like the Box-drawing characters and Block Elements.
- Create a new element in the canvas with each glyph. Every n number of elements the canvas has to be cleared. Having a large number of nodes in the DOM is very bad for performance and some features have more than 10K strings in the final array.
- Offset the array by moving the first element of the array to the last position every frame.
The resulting pieces are hard and sharp abstractions of a river. A kind of first-level exercise to understand how to use this kind of data and what is possible to create with it. It is worth mentioning two references that had a great influence in how the project looks and feels.
- MapSCII : a crazy node.js project to render vector tiles using Braille and ASCII characters in the terminal.

- The Mesoamerican Codices: manuscripts made by hand by different indigenous cultures. In a recent visit to Mexico I had the opportunity to see the Codex Boturini in person. Most of the codices are really long narrow strips that illustrate different topics like rituals, stories, and cartographic data.
![]()