Monday, November 11, 2019

L.A.'s Wealth Mountains

The Topography of Wealth in L.A. - Visualizing Income Inequality as Terrain is an impressive story map which explores the city's vast income disparities using elevation as a metaphor for wealth. As you scroll through the story the map highlights areas of the city where there is a huge disparity between the median incomes of people living in adjacent neighborhoods.

On the Topography of Wealth map areas of Los Angeles are shown at different heights depending on the area's median annual household income. Neighborhoods with a high median annual household income are shown as tall towers while neighborhoods with a low median income are shown as smaller towers.

The map provides a striking visualization of the distribution of household incomes in the city. Many places in the city have neighborhoods with extremely high median incomes right next door to neighborhoods with very low median incomes.

The map was made with QGIS, Blender, GSAP and D3.js.

Spanish Election Maps

El Diario has mapped out the results of yesterday's Spanish election. Today's election was the second this year and the fourth in as many years. The Spanish Socialist Workers’ party (PSOE) won the most seats in Sunday's election. However their 120 seats was three fewer than they won in April and so the party still has no majority. The extreme far-right Vox party jumped into third place while the centre-right Citizens party saw a collapse in their vote.

El Diario's interactive map of yesterday's results shows the winning candidate in each seat. You can also switch the map so that it visualizes the second most popular party in each seat or the third most popular party in each seat. The map also includes a view which allows you to see only those seats which have changed hands since April's election and which parties won those changing seats.

El Diario has also created an arrow swing map which visualizes how votes have swung in each electoral seat since April's election. On this map blue and red arrows are used to show the size of the swing to the left or right since April (note for U.S. readers in most of the world red is used for left wing parties and blue for right wing parties).

The arrow swing vote shows that although PSOE won the most votes nationwide there was a rightward swing in huge areas of Spain. Only really the provinces of Cantabria, Teruel, Madrid and Balears saw significant numbers of seats with a leftward swing in yesterday's election. This was nowhere near enough to win the PSOE a working majority.

Because PSOE failed to win a majority I would't bet against Spain having at least one other election next year (to make it five elections in five years). However turnout in this election was significantly down on the April election. The turnout in April was 75.5% and yesterday the turnout was 69.9%. This suggest that Spanish voters may be beginning to experience election fatigue.

Sunday, November 10, 2019

New York in Black & White

Challenge number 10 in the #30DayMapChallenge is to create a black and white map. My attempt to meet this challenge is New York in 3D, an interactive map with 3D extruded buildings.

I created the 3D extruded building map style using Mapbox Studio. If you want to know how to do this the Add 3D buildings to a Mapbox Studio style tutorial is a great step-by-step guide to extruding buildings (or any other layer which includes polygons). Once I had created the style in Mapbox Studio I then simply added it to Mapbox's Fly to a location example map. This map adds a button to the map which when pressed rotates and pans the map to a different location. This provides the user with a very short aerial tour of Manhattan.

My map isn't very impressive. However, if you are a fan of monochrome maps, I recommend you check out the winners of the 2019 Monochrome Mapping Competition. The results of this competition have lots of beautiful black & white maps (and other types of monochrome map).

Saturday, November 09, 2019

The Australian Bushfires From Space

Earlier today I linked to a satellite video map showing the ever changing appearance of the Yellow River Delta. That map uses satellite imagery from NASA with Mapbox GL's video overlay functionality.

If you want to create your own timelapse videos from satellite imagery then NASA is obviously a great source for your imagery. Another good source is the RAMMB/CIRA Slider website. This tool allows you to create animated GIF's from satellite imagery from GOES-16 and Himawari-8. The slider uses the latest available imagery from both satellites to allow you to create small animated movies of the Earth.

GOES-16 is in geostationary orbit over the Earth’s Western Hemisphere. It therefore provides great satellite imagery of the Americas. Himawari-8 is in geostationary orbit at 140.7 degrees East. It provides near real-time imagery of Australia, Japan and eastern China.

Currently a record number of bushfires are burning in the state of New South Wales in Australia. Smoke from these fires can clearly been seen in imagery captured by the Himawari-8 satellite. My Australian Bushfires map uses a video loop of Himawari-8 satellite imagery captured yesterday afternoon overlaid on the eastern coast of Australia.

China's Yellow River Delta

My Yellow River Delta map shows the ever changing appearance of the mouth of the Huang He (Yellow River) in China. Millions of tons of sediment enters the river every year. Much of this sediment is carried as far as the river's mouth where it continually rebuilds the delta.

On the Yellow River Delta map a video overlay loops through a series of satellite images. These natural-color images, from NASA's Landsat satellites, show the delta at five-year intervals from 1989 to 2009. To create my map I turned the images into an mp4 video. I then simply added my video URL into Mapox GL's example Add a Video demo.

Friday, November 08, 2019

The Australian Music Map

The Australian Broadcasting Channels' The Australian Music Map, is an interactive map which allows you to explore and listen to classical music written by Australian composers. The map includes music by composers who are strongly linked to a particluar location and music which has been composed especially for a specific Australian place.

If you select a marker on the Australian Music Map you can listen to the featured track directly from the map. An information window will also open featuring information on the selected composer, the classical music track and its connection with the mapped location.

The connection between sound and place in Australia is nothing new. In fact it dates back as far as the earliest arrival of homo sapiens. Long before maps and compasses were invented the indigenous people of Australia used songlines to navigate the country and find their way around.

Songlines, or dreaming tracks, are the creation myths of Indigenous Australians. They are the paths that the creator-beings took across the world while naming and creating the features of the land. These songlines crisscross Australia and, if you know the songline, you can follow the routes that the creator-beings took across the country.

By singing the songlines indigenous people can navigate vast distances, often travelling through the deserts of Australia's interior. You can learn more about songlines from different parts of Australia with this story map from ABC. Singing the Country into Life explores the songlines of a number of indigenous groups across the whole country.

The ABC storymap helps explain the importance of songlines to aboriginal culture. They tell not only how the land was created but also provide a guide as to how you can navigate that land. Since the destruction of much of the original indigenous way of life they now also provide a valuable connection to threatened indigenous languages and culture.

Central Park in Green

Day 8 of the #30DayMapChallenge is colored a rather fetching shade of green. For my green map I decided to take a little inspiration from abstract art.

My Kandinsky Park map is a homage to the Russian painter Wassily Wassilyevich Kandinsky. On this map different OSM id numbers have been given a different shade of green and all polygons have been rotated slightly. If you squint your eyes a little the resulting map can at time slightly resemble the artwork of Kandinsky.

There is absolutely no point to this map. The level of abstraction in the geographical data makes it a little hard to use as a map. I do like to think however that my map conforms, at least in part, to Al Capp's definition of abstract art as being "a product of the untalented sold by the unprincipled to the utterly bewildered".


Thursday, November 07, 2019

Mapping Journalist Deaths

In just the last 12 years over 1000 journalists have been killed around the world. KeepTruthAlive is an interactive map which has been created by UNESCO to show where journalists have been killed around the world. The map was created for the UNESCO campaign #KeepTruthAlive.

The interactive map uses data from UNESCO and only shows journalists who have been killed from June 1993 until July 2019. The locations on the map do not show an exact address and are mapped at the city level. 9 out of every 10 of the murders shown on the map remain unresolved and the killers have not been brought to justice.

The Committee to Protect Journalists (CPJ) maintains a database of attacks of journalists and the press around the globe. 76 journalists across the world were killed in 2018. The CPJ database includes journalists who were murdered in the last 12 months and also journalists who were killed in action (from crossfire or combat on assignment).

Afghanistan, Mexico and Syria, respectively, were the three countries where the most journalists were killed in 2018. The CPJ's 2018 Map of Journalism Deaths includes four motive confirmed murders of journalists in the United States in the last year. All four of these deaths were from the attack on the Capital Gazette. On June 28th Jarrod Ramos shot and killed five employees of the Gazette in Annapolis, Maryland. Four of the victims were journalists working for the newspaper, the other victim was a sales assistant.

The CPJ map includes a number of filters which allow you to explore the database of journalist deaths by location and type of death. The map also includes a date filter which allows you to directly compare the year's map of journalist deaths with maps for previous years (going back to 1992).

Red Towns & Cities of the World

Day 7 of the #30DayMapChallenge brings us to the color red. In honor of the occasion here is an interactive map of all the red towns and cities around of world.

My map isn't very interesting at all. However it is a neat example of the power of importing and styling your own data in Mapbox Studio. The ability to add and style your own place labels in Mapbox Studio has been used particularly effectively this year in The Pudding's A People Map of the USA.

To get the data for my map I ran a search in Overpass Turbo for towns and cities including the letters 'red' (I also searched for 'rouge' and 'rot'). I then downloaded the results as a GeoJSON file. I uploaded this GeoJSON data to Mapbox Studio to create a data tileset. I then added this tileset to a new Mapbox map style. In my Mapbox style I turned off all the other place-name labels and styled my new tileset so that my new place-name labels are all colored red.

Earlier this year I used the same Mapbox Studio functionality to create the Map of English Literature, an interactive map which shows the birthplaces of some of English Literature's greatest writers. On this map authors, poets and dramatists have been mapped to their place of birth (although there are a few exceptions where writers have been mapped to locations which they are more commonly associated with).

Wednesday, November 06, 2019

Mapbox's New Scrollytelling Template

Story Maps are an excellent way to not only visualize geographical data but to pick out the stories and patterns in your mapped data. Thanks to Mapbox's new Scrollytelling Template there is now a new tool to help you create your very own 'scrollytelling' map stories.

You can preview a story map created with the Scrollytelling Template on this demo map. The demo map not only introduces the new Scrollytelling Template it shows you what you can do with the template. As you scroll through the story the map zooms and pans to different locations. It also adds and removes data from the map and adds and removes different map layers and features as you scroll up and down on the page.

I've only had a quick look at using the template myself. Creating your own story map, mainly by adding your own text and locations to the config.js JavaScript file, is reasonably straightforward. It also seems fairly straightforward to add your own layers to a 'chapter' when you want to change the data or appearance of the map. However creating a story map with the Scrollytelling Template isn't a trivial task.

I'm still a big fan of Mapbox's Scroll Driven Navigation map in the Mapbox GL example maps. If you just need a simple story map template then I think I would use the Scroll Driven Navigation example. The new Scrollytelling Template comes into its own however when you need to add and remove map features and layers for each chapter in your story and if you want to add and remove different data layers.

From the example scrollytelling maps provided on its GitHub page it appears that the Scrollytelling Template disables any user reactions with the map by default. Looking through the configuration options there doesn't appear to be any easy way to allow users to interact with the actual map. Therefore it looks like you will have to play around with the CSS styles which hold the story text if you want your users to be able to explore and play with the underlying map.

Mapping the Dutch Slave Trade

The Dutch Trade in Black People is a story map exploring the role of the Netherlands in the transatlantic slave trade. The story uses an interactive map to explain the triangular trade between the Netherlands, West Africa and the New World. The map is also accompanied by and illustrated with a number of contemporary paintings depicting enslaved Africans, the slave ships used by the Dutch and the slave plantations in the New World where enslaved Africans were forced to live and work.

The Dutch, and in particular the Dutch West India Company (WIC), played a large role in the slave trade. Between the 15th and 19th centuries around 12 million Africans were enslaved by Europeans. The Dutch were responsible for around 6% of that slave trade. During certain periods the expanse of the Dutch West India Company allowed the Dutch to play a far larger role in the slave trade. For example between 1650 and 1675 half of all the slaves transported between Africa and the new world were shipped by the Dutch.

As you progress through the Dutch Trade in Black People story map the interactive map is used to highlight locations important to the Transatlantic slave trade. For example it is used to show the west coast of Africa where the Europeans built forts and where enslaved Africans were housed before being transported to the New World. The map is also used to show some of the locations in the New World which played a significant role in the slave trade. For example, the island of CuraƧao, which became an important station for Dutch slavers.

The triangular slave trade played a major role in the Dutch economy for over two centuries. Ships from the Netherlands traveled to West Africa with weapons, ammunition, liquor and textiles. With this merchandise the slavers bought enslaved Africans. The ships then transported these slaves to the new world where the slaves were then sold. The slave ships were then packed with sugar, coffee, cotton, cocoa or tobacco from the plantations and then returned to the Netherlands.

You can get a better understanding of this huge triangular slave trade network between Europe, Africa and the New World by exploring Slave Voyages. The Slave Voyages website maintains databases of the Trans-Atlantic and Intra-American slave trade. These databases include information on 36,000 slave trading voyages from Africa to the New World carried out between 1514 and 1866; 11,000 voyages from one part of America to another; and personal details about 91,491 Africans who were forced into the slave trade.

Slave Voyages provides an introduction to the Trans-Atlantic slave trade using a series of static maps. These maps are from the Atlas of the Transatlantic Slave Trade and help to illustrate the trade routes used to transport slaves, the countries involved in organizing the trade and the volume of people traded. A Timelapse animated map also plots 14,289 slave voyages crossing the Atlantic over time. This map shows the actual journeys of slave ships from Africa to the Americas by year. It provides a sharp illustration of the sheer scale of the slave trade.

This isn't the only mapped visualization of the Transatlantic Slave Trade Database. In 2015 Slate released the Atlantic Slave Trade in Two Minutes, a map which also animates the journeys of slave ship journeys over a period of 315 years. Slate's map reveals the patterns of the trade routes used and the destinations of the slave ships. The size of the ships on the map are scaled to represent the number of slaves on board. You can also click on each ship to find out under which country's flag a ship sailed.

Tuesday, November 05, 2019

Mapping the Epistles of Paul

You can now read and explore the world's oldest existing manuscript of the letters of St. Paul as an interactive map. The University of Michigan's Epistles of Paul presents the original manuscript of the letters of St.Paul as an interactive Leaflet map, shown side-by-side with a modern translation of the text.

If you click on the text icon in the map menu then all the lines in the original manuscript are made interactive. Now if you mouse-over a line on the manuscript the corresponding line is highlighted in the translation. The translated text also includes interactive footnotes. These footnotes mostly explore some of the differences in the historical manuscript from the standard text of the New Testament.

The thirty leaves of the manuscript held by the University of Michigan were written in about 200 C.E. and were found in Egypt in the 1930's. The Epistles are written in ancient Greek. The original manuscript was written without word division, punctuation, headings, or chapter and verse numbers. So even if your ancient Greek is very good you still might need the help of the modern translation.

The Epistles of Paul viewer was made using Jack Reed's Leaflet-IIIF, which is JavaScript library for viewing IIIF images with a Leaflet.js interactive map. IIIF is a format which is used by museums, newspapers and galleries around the world for presenting and sharing digitized images. A IIIF viewer is a tool for presenting artworks and digitized records in a form like an interactive map. A IIIF viewer essentially allows you to pan around and zoom in and out on a digitized image like you would on an interactive map.

Many museums and libraries around the world have created IIIF manifests for their collections of vintage maps. The Leaflet-IIIF Leaflet plug-in is therefore a fantastic resource for presenting and exploring vintage maps from many of the world's largest map collections. In the Epistles of Paul the plug-in has been used to present an interactive interface for reading an original historical manuscript. The plug-in can obviously be also used as an interface for exploring vintage maps which have been made available as IIIF manifests.

For example my Matthew Paris' Map of Britain uses the Leaflet-IIIF plug-in to present a short story-map of Matthew Paris' Map of Britain. Matthew Paris' Map of Britain is one of the first ever geographical maps of Britain. It was made by Matthew Paris, a 13th Century monk.

My story-map examines some of the geographical errors Matthew Paris' made in his map of Britain in order to better understand the geographical conception he had of Britain in the 13th Century. The map also includes modern English translations of medieval place-names. Just click on the place-names on the map to view the names we now use for these towns and cities.

My map uses the IIIF manifest of Corpus Christi College's manuscript of Matthew Paris' map. As well as using Jack Reed's Leaflet-IIIF plug-in the story-map element makes heavy use of waypoints.js to trigger the map actions when scrolling the page.

Raster Rivers & Railways

Most of the major interactive map providers, such as Google Maps and Bing Maps, are vector maps. However they didn't begin as vector maps. Both Google Maps and Bing Maps began life as raster maps.

A raster map is a map which is made from lots of static map images. An interactive raster map is essentially a tiled grid of lots of different images, each containing a different part of the map. When you zoom in on an interactive raster map new more detailed map images are loaded into the map.

On the other hand, in very simple terms, a vector map uses map data rather than static images. Map features such as building footprints, roads, rivers, elevation etc. are all served as different types of data. A vector map is basically a database of points, lines and polygons. Other types of information can be assigned to this data, such as the height or the age of a building. This makes vector maps very useful for analyzing and visualizing geographical data.

Today's #30DayMapChallenge is to create a raster map. Lyzi Diamond of Glitch has created a raster map of Global Rail Lines. The map was made for day two of the challenge, which was to make a map with lines. However the Global Rail Lines map is also a great example of a raster map. The map uses data from Natural Earth to show only the world's railways.

I followed the same process as Lyzi took to create my own raster map. My World Rivers map is an interactive raster map which shows only the world's rivers and no other geographical features. Like Lyzi I got my 10m railway data from Natural Earth. I also updated the data into Mapbox Studio to create a map style and then used the Mapbox Static Tiles API to serve the raster map tiles to my Leaflet.js powered interactive map.

Monday, November 04, 2019

The Global Threat of Rising Seas

The threat of rising sea levels now affects millions more people than previously thought. A new elevation model from Climate Central reveals that many of the world’s coastlines are far lower than had previously been believed. The result is that rising seas are likely to affect many more areas than in previous models of climate change.

Climate Central's Coastal Risk Screening Tool is an interactive map which shows the risk around the world of rising seas in 2050. The map shows all land across the globe which is predicted to be below annual flood levels in 2050. The map includes two predefined climate change models - a model which uses a mid-range of global heating and a model which predicts a higher level of global heating. The map also includes a control which allow you to view predictions of sea level rise for other years.

At the bottom of the map sidebar you will find controls which allow you to switch between Climate Central's new elevation model and a legacy elevation model. This allows you to see how the new elevation model differs from previous projections of sea level rise.

Manhattan Bars Hexbin

This interactive hexbin map of Bars in Manhattan shows the hottest nightspots in New York (not really). The map is my latest map in the 30 Day Map Challenge. Hexbins are the subject of day 4 of the #30DayMapChallenge.

The Bars in Mahattan map uses turf.js to create a hexbin map visualizing the number of bars across Manhattan. On the map each hexagon is colored to show the number of bars in that hexagon. The data for the map comes from an Overpass Turbo query of OpenStreetMap data. I really can't take any credit for the code as my map is a simple clone of Dan Swick's map of Chicago rat sightings - Ratmap.

Regular readers of this blog may remember that I recently used the same Manhattan bars data to map out the number of bars by Manhattan neighborhood. Manhattan Bars colors New York neighborhoods by the number of bars which they contain. The bars on this map are shown with small black dots. You can click on these dots to view a bar's name.

The hexbin map does help to reveal the problems of mapping bars by neighborhoods of different sizes. The choropleth layer on the Manhattan Bars map fails to pick up the cluster of bars east of the Guggenheim Museum. However on the hexbin map this area does show up as a bright red hexagon - revealing more clearly the cluster of bars in the area.

Sunday, November 03, 2019

The Orientation of London's Churches

Today's #30DayMapChallenge is to create a map containing polygons. My Church Orientations map displays London churches as extruded polygons. The compass rose on the map also visualizes the orientation of all the churches in the current map view.

Since the 8th Century churches have tended to be built facing towards the east. The main focus of a church, the alter, is placed at the east end of the church, often in an apse. The major entrance to the church is often placed at the west end. In fact the word 'orientation' actually comes from the practice of constructing buildings to face the east. Building a church the other way around, with the entrance at the east and the apse at the western end, is called 'occidentation'.

nine English cathedrals - mainly oriented to the east (looking at you Liverpool Cathedral)

When early Christians prayed they would face towards the east. Hence the tradition of building churches with the alter towards the east. One theory for why Christians pray towards the east is that the beginnings of the organized church was in Europe and worshipers were praying in the direction of Jerusalem. Another theory for why churches face east is because they have been aligned to where the sun rises on each church's saint day.

My Church Orientations map uses the building footprints (the lines which define the outline of the churches) for the orientation compass rose. In other words the compass rose shows the orientation of all the churches' walls (in the current map view). In general the map reveals that churches in London are roughly orientated eastwards, with a fair share orientated between east and north-east.

Saturday, November 02, 2019

Miami Street Orientation

In many American cities the street grid system is often reflected in the names of the city's streets. For example in some cities you might find that all roads called 'Avenue' run north to south, while all roads called 'Street' run west to east (or vice versa depending on the city).

It is possible to visualize this pattern very effectively with an interactive map and a radial chart. My Miami Streets map visualizes the directions of all roads called 'avenue' and 'street' in Miami. On the map all roads named 'Avenue' are colored red and all roads named 'Street' are colored blue. Simply by looking at the map you can tell that streets and avenues run in distinctly different directions in Miami. The radial chart on top of the map visualizes this more explicitly, showing the overall orientation of all the streets and avenues in the current map view (move the map around and the radial chart will update to show the orientation of all streets and avenues in the current map view).

By exploring the map you can see 'streets' in Miami run almost exclusively west to east while 'avenues' run north to south.

All the code for my map comes from Vladimir Agafonkin's fantastic Road Orientation Map. Vladimir's map visualizes the orientations of all roads in the current map view. The map can be used to explore the orientations of roads anywhere in the world. For my map I tweaked the code to only show the orientations of roads named 'avenue' and 'street' and to ignore all the roads called 'lane', 'avenue', alley' etc.

The original Road Orientation map fetches all the roads in the current map view with a single line of code:

var features = map.queryRenderedFeatures({layers: ['road']});
In effect it queries the layer named road in a Mapbox map. This means we can simply change the layer name to fetch different data. For example we can easily change the query to fetch the layer which displays waterways:

var features = map.queryRenderedFeatures({layers: ['waterway']});
Simply by changing 'road' to 'waterway' we can alter the map to display the orientations of all rivers and canals rather than the orientations of roads.

The original Road Orientations Map will work with any map layer in which the mapped feature is of the type 'line' (so map data which is in the form of polylines). Therefore to create my map I only needed to upload two GeoJSON files to a Mapbox style:- one GeoJSON file with the data of all 'avenues' in Miami and one GeoJSON file with the data of all 'streets' in Miami.

In Mapbox Studio I named these two layers 'avenues' and 'streets'. All I needed to do then was change the JavaScript to query my two layers rather than the 'road' layer:

var features = map.queryRenderedFeatures({layers: ['avenues', 'streets']});

Miami is not the only American city which helps you orient its grid system by having its avenues and streets running in different directions. New York also uses this form of street planning. You can see this on my Street Orientations map, which visualizes the directions of all roads called 'avenue' and 'street' in Manhattan.

Friday, November 01, 2019

How to Find Your Nearest Mountain

Topi Tjukqnov has set a 30 Day Map Challenge. The challenge is to make a different map every day during November. To help inspire cartographers Topi has also published a list of 30 different themes and functionality that your maps could include on each day.

November 1st's suggestion is 'points'.

Inspired by Closest Volcano I decided that for the first day of the #30DayMapChallenge I would create a Nearest Mountain interactive map. If you enter an address into the Nearest Mountain map then the closest mountain will be highlighted on the map. The map sidebar will list all the other peaks in the U.S. in order of distance from your address. The map also informs you how many miles away each mountain is from your address.

The data for my map comes from Open Peaks, an opensource list of mountains around the world which is available as a series of GeoJSON files. I only used the GeoJSON file for the United States (which doesn't include Hawaii for some reason). This means that my map will only work for addresses in the contiguous USA.

To create my map I simple cloned the final map in Mapbox's Build a Store Locator tutorial. I then simply switched out the GeoJSON file of stores in the original for my Open Peaks GeoJSON file of mountains in the USA.

If you want to see what everybody else has created today for the #30DayMapChallenge just have a look at the hashtag on Twitter.