CINXE.COM
Geosketches • Metaportal der Medienpolemik
<!DOCTYPE html><html lang="en-GB"> <head><meta charset="utf-8"><meta content="width=device-width, initial-scale=1.0, shrink-to-fit=no" name="viewport"><meta content="IE=edge" http-equiv="X-UA-Compatible"><title>Geosketches • Metaportal der Medienpolemik</title><link href="/favicon.ico" rel="icon" sizes="any"><link href="/icon.svg" rel="icon" type="image/svg+xml"><link href="/apple-touch-icon.png" rel="apple-touch-icon"><link href="/manifest.webmanifest" rel="manifest"><link href="https://metaportaldermedienpolemik.net/blog/2008-07-02-geosketches" rel="canonical"><meta content="Geosketches • Metaportal der Medienpolemik" name="title"><meta content="Started doing some Geovisualizations. First image shows the world's cities with a population of more than 1000, data from geonames.org. Second image visualizes conversations of about 1500 users from microblogging service Twitter." name="description"><meta content="walterra" name="author"><meta content="" name="theme-color"><meta content="article" property="og:type"><meta content="Geosketches" property="og:title"><meta content="Started doing some Geovisualizations. First image shows the world's cities with a population of more than 1000, data from geonames.org. Second image visualizes conversations of about 1500 users from microblogging service Twitter." property="og:description"><meta content="https://metaportaldermedienpolemik.net/blog/2008-07-02-geosketches" property="og:url"><meta content="Metaportal der Medienpolemik" property="og:site_name"><meta content="en_GB" property="og:locale"><meta content="https://metaportaldermedienpolemik.net/og-image/2008-07-02-geosketches.png" property="og:image"><meta content="1200" property="og:image:width"><meta content="630" property="og:image:height"><meta content="walterra" property="article:author"><meta content="2008-07-02T00:00:00.000Z" property="article:published_time"><meta content="summary_large_image" property="twitter:card"><meta content="https://metaportaldermedienpolemik.net/blog/2008-07-02-geosketches" property="twitter:url"><meta content="Geosketches" property="twitter:title"><meta content="Started doing some Geovisualizations. First image shows the world's cities with a population of more than 1000, data from geonames.org. Second image visualizes conversations of about 1500 users from microblogging service Twitter." property="twitter:description"><meta content="https://metaportaldermedienpolemik.net/og-image/2008-07-02-geosketches.png" property="twitter:image"><link href="/sitemap-index.xml" rel="sitemap"><link href="/rss.xml" rel="alternate" title="Metaportal der Medienpolemik" type="application/rss+xml"><link href="https://webmention.io/metaportaldermedienpolemik.net/webmention" rel="webmention"><meta content="Astro v4.5.16" name="generator"><!-- Goatcounter --><script async data-goatcounter="https://mdm.goatcounter.com/count" src="//gc.zgo.at/count.js"></script><link rel="stylesheet" href="/_astro/_slug_.BdWpH4k7.css"><script type="module" src="/_astro/hoisted.BtHGnk0I.js"></script> <script type="module" src="/_astro/page.BG5lM7_G.js"></script></head> <body> <script> const lightModePref = window.matchMedia("(prefers-color-scheme: light)"); function getUserPref() { const storedTheme = typeof localStorage !== "undefined" && localStorage.getItem("theme"); return storedTheme || (lightModePref.matches ? "light" : "dark"); } function setTheme(newTheme) { if (newTheme !== "light" && newTheme !== "dark") { return console.warn( `Invalid theme value '${newTheme}' received. Expected 'light' or 'dark'.`, ); } const root = document.documentElement; // root already set to newTheme, exit early if (newTheme === root.getAttribute("data-theme")) { return; } root.setAttribute("data-theme", newTheme); const colorThemeMetaTag = document.querySelector("meta[name='theme-color']"); const bgColour = getComputedStyle(document.body).getPropertyValue("--theme-bg"); colorThemeMetaTag.setAttribute("content", `hsl(${bgColour})`); if (typeof localStorage !== "undefined") { localStorage.setItem("theme", newTheme); } } // initial setup setTheme(getUserPref()); // View Transitions hook to restore theme document.addEventListener("astro:after-swap", () => setTheme(getUserPref())); // listen for theme-change custom event, fired in src/components/ThemeToggle.astro document.addEventListener("theme-change", (e) => { setTheme(e.detail.theme); }); // listen for prefers-color-scheme change. lightModePref.addEventListener("change", (e) => setTheme(e.matches ? "light" : "dark")); </script> <a class="sr-only focus:not-sr-only focus:fixed focus:start-1 focus:top-1.5" href="#main">skip to content </a> <header class="group relative mb-10 flex items-center" id="main-header"> <div class="flex sm:flex-col"> <a class="inline-flex items-center grayscale hover:filter-none sm:relative sm:inline-block" href="/"> <span class="text-xl font-bold sm:text-2xl">Metaportal der Medienpolemik</span> </a> </div> <site-search class="ms-auto" id="search" data-astro-cid-otpdt6jm> <button class="flex h-9 w-9 items-center justify-center rounded-md ring-zinc-400 transition-all hover:ring-2" data-open-modal disabled data-astro-cid-otpdt6jm> <svg aria-label="search" class="h-7 w-7" fill="none" height="16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg" data-astro-cid-otpdt6jm> <path d="M0 0h24v24H0z" stroke="none" data-astro-cid-otpdt6jm></path> <path d="M3 10a7 7 0 1 0 14 0 7 7 0 1 0-14 0M21 21l-6-6" data-astro-cid-otpdt6jm></path> </svg> </button> <dialog aria-label="search" class="h-full max-h-full w-full max-w-full border border-zinc-400 bg-bgColor shadow backdrop:backdrop-blur sm:mx-auto sm:mb-auto sm:mt-16 sm:h-max sm:max-h-[calc(100%-8rem)] sm:min-h-[15rem] sm:w-5/6 sm:max-w-[48rem] sm:rounded-md" data-astro-cid-otpdt6jm> <div class="dialog-frame flex flex-col gap-4 p-6 pt-12 sm:pt-6" data-astro-cid-otpdt6jm> <button class="ms-auto cursor-pointer rounded-md bg-zinc-200 p-2 font-semibold dark:bg-zinc-700" data-close-modal data-astro-cid-otpdt6jm>Close</button> <div class="search-container" data-astro-cid-otpdt6jm> <div id="cactus__search" data-astro-cid-otpdt6jm></div> </div> </div> </dialog> </site-search> <mobile-button> <button aria-expanded="false" aria-haspopup="menu" aria-label="Open main menu" class="group relative ms-4 h-7 w-7 sm:invisible sm:hidden" id="toggle-navigation-menu" type="button"> <svg aria-hidden="true" class="absolute start-1/2 top-1/2 h-full w-full -translate-x-1/2 -translate-y-1/2 transition-all group-aria-expanded:scale-0 group-aria-expanded:opacity-0" fill="none" focusable="false" id="line-svg" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M3.75 9h16.5m-16.5 6.75h16.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> <svg aria-hidden="true" class="absolute start-1/2 top-1/2 h-full w-full -translate-x-1/2 -translate-y-1/2 scale-0 text-accent opacity-0 transition-all group-aria-expanded:scale-100 group-aria-expanded:opacity-100" class="text-accent" fill="none" focusable="false" id="cross-svg" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M6 18L18 6M6 6l12 12" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </button> </mobile-button> </header> <main id="main"> <div class="gap-x-10 lg:flex lg:items-start"> <article class="flex-grow break-words" data-pagefind-body> <div id="blog-hero"><h1 class="title mb-3 sm:mb-1"> Geosketches </h1> <div class="flex flex-wrap items-center gap-x-3 gap-y-2"> <p class="font-semibold"> <time datetime="2008-07-02T00:00:00.000Z"> 2 July 2008 </time> / 1 min read </p> </div> <div class="mt-3"> <svg aria-hidden="true" class="inline-block h-6 w-6" fill="none" focusable="false" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M0 0h24v24H0z" fill="none" stroke="none"></path> <path d="M7.859 6h-2.834a2.025 2.025 0 0 0 -2.025 2.025v2.834c0 .537 .213 1.052 .593 1.432l6.116 6.116a2.025 2.025 0 0 0 2.864 0l2.834 -2.834a2.025 2.025 0 0 0 0 -2.864l-6.117 -6.116a2.025 2.025 0 0 0 -1.431 -.593z"></path> <path d="M17.573 18.407l2.834 -2.834a2.025 2.025 0 0 0 0 -2.864l-7.117 -7.116"></path> <path d="M6 9h-.01"></path> </svg> <a aria-label="View more blogs with the tag geoviz" class="cactus-link inline-block before:content-['#']" data-pagefind-filter="tag" href="/tags/geoviz">geoviz</a>, <a aria-label="View more blogs with the tag twitter" class="cactus-link inline-block before:content-['#']" data-pagefind-filter="tag" href="/tags/twitter">twitter</a>, <a aria-label="View more blogs with the tag dataviz" class="cactus-link inline-block before:content-['#']" data-pagefind-filter="tag" href="/tags/dataviz">dataviz</a> </div></div> <div class="prose prose-sm prose-cactus mt-12 prose-headings:font-semibold prose-headings:text-accent-2 prose-headings:before:absolute prose-headings:before:-ms-4 prose-headings:before:text-accent prose-headings:before:content-['#'] prose-th:before:content-none"> <p>Started doing some Geovisualizations. First image shows the worlds cities with a population of more than 1000, data from <a href="http://geonames.org" rel="nofollow, noopener, noreferrer" target="_blank">geonames.org</a>. Cities with more than 5 million inhabitants are labeled.</p> <img src="/images/2008-07-02-geosketches-0001.jpg" alt="World Cities"> <p>Second image visualizes conversations of about 1500 users from microblogging service <a href="http://twitter.com" rel="nofollow, noopener, noreferrer" target="_blank">Twitter</a>. The arcs link positions of people who talk to each other.</p> <img src="/images/2008-07-02-geosketches-0002.jpg" alt="Twitter Conversations"> <p>Done with the wonderful <a href="http://processing.org" rel="nofollow, noopener, noreferrer" target="_blank">processing.org</a> during my time at <a href="http://www.modul.ac.at/nmt" rel="nofollow, noopener, noreferrer" target="_blank">MODUL University Vienna</a>.</p> <p><a href="http://www.rafelsberger.at" rel="nofollow, noopener, noreferrer" target="_blank">Let me know if you’re interested in working with me.</a></p> <p><strong>Update:</strong> BusinessWeek posted the Twitter Visualization and thinks I’m one of <a href="http://images.businessweek.com/ss/09/08/0812_data_visualization_heroes/10.htm" rel="nofollow, noopener, noreferrer" target="_blank">21 heroes of Data Visualization</a> :-).</p> </div> </article> </div> <button aria-label="Back to Top" class="z-90 fixed bottom-8 end-4 flex h-10 w-10 translate-y-28 items-center justify-center rounded-full border-2 border-transparent bg-zinc-200 text-3xl opacity-0 transition-all duration-300 hover:border-zinc-400 data-[show=true]:translate-y-0 data-[show=true]:opacity-100 dark:bg-zinc-700 sm:end-8 sm:h-12 sm:w-12" data-show="false" id="to-top-btn"><svg aria-hidden="true" class="h-6 w-6" fill="none" focusable="false" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M4.5 15.75l7.5-7.5 7.5 7.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </button> </main> <footer class="mt-auto flex w-full flex-col items-center justify-center gap-y-2 pb-4 pt-20 text-center align-top font-semibold text-gray-600 dark:text-gray-400 sm:flex-row sm:justify-between sm:text-xs"> <div class="me-0 sm:me-4"> © walterra 1978-2025. </div> <nav aria-label="More on this site" class="flex gap-x-2 sm:gap-x-0 sm:divide-x sm:divide-gray-500"> <a class="px-4 py-2 sm:py-0 sm:hover:text-textColor sm:hover:underline" href="/blog/"> blog </a> </nav> </footer> </body></html>