The process of learning to make a map has multiple steps, but with a user-friendly cloud mapping environment like CartoDB you can learn how rather quickly.

1  The first thing you need to do is to sign up for an academy account at CartoDB.  You can do that here.  Again, as with the case of your WordPress, you choose how public you want to be with this name (an avatar is fine).

2  You might check out the CartoDB map academy where they have some tutorials about what you can do with maps in that environment.

3  Each student is going to have access to the data from Fulcrum.  What this means is that you will be able to use the entire dataset we have created as a class.   You will upload this data into your CartoDB account and then you are ready to go.  I will clean that data before giving it to you, anonymizing it and removing unneeded columns.

4  Learning how to make faceted maps (that is maps by filtering your data) is pretty easy.  The trick will be to be to explore the data thoroughly.  What I mean by that is to go back to the form that we used to collect the data using the application and to think about what kinds of subsets of the data you would like to see.  Perhaps you would like to see all examples of food and Arabic language (in both Latin and Arabic script), or maybe you would like to see all examples of French and English together, or perhaps all examples of Arabic language in Latin script.  We will have a practice session on how to make make such queries using SQL.  SQL means “structured query language” and it is used in most database management systems.  You will only need to know a very small amount of SQL to make your maps.  A convenient cheat sheet for that can be found here.

5  We will also have a session in which we learn how to manipulate the wizard function in CartoDB, as well as to customize the infobox, add a title to our map, change the basemap and tweak the HTML/CSS, if needed.  There is no reason to be afraid of this, since we will go very slowly through it.

6  The end result will be a map or a series of map that you can interpret.  This will be your opportunity not only to point out patterns in the data, but also to explain in a blog posting how and why the Lebanese use specific aspects of language.  You should look at the language data samples and including them in your essay along with a map-as-argument.

7  Finally, we are going to be thinking about accessible colors for our maps, that visualize our language data clearly and for a full variety of low vision and colorblind web users.  Some resources include this and this.

Additional information will follow here, along with tips about customizing your maps as needed in time.


Steps for map-making lab:

1  Download this file.   It is in JSON format (JavaScript Object Notation).   You do not need to sign up for dropbox.  Take at the way the information is laid out in it.

2  Down this file.  It is in CSV format (comma separated value). Compare the way that the information is organized.

3  Follow along as I get these two files loaded into CartoDB.

4  Follow along as I explore the layout of the platform (maps vs databases, map view vs data view, wizards, legends, SQL, layers).

5 Let’s make some maps, visualize and publish them.

6 Now let’s try the datashare from Fulcrum.   Contact instructor for datashare.


Some sample SQL queries useful for us (can you guess what they will give us?)

You might try this SQL cheatsheet.

SELECT * FROM name_of_dataset_you_uploaded
WHERE languages_used_ = 'English,French'

SELECT * FROM name_of_dataset_you_uploaded
WHERE general_context ILIKE '%Signage%'

SELECT * FROM name_of_dataset_you_uploaded
WHERE features ILIKE '%usage issue%'

SELECT * FROM name_of_dataset_you_uploaded
WHERE general_context ILIKE '%Food/Entertainment%'
AND features ILIKE '%meaning same across langs%'

SELECT * FROM name_of_dataset_you_uploaded 
WHERE general_context ILIKE '%Signage%' AND created_by = '' (gives examples of DJW's signage contributions) 

SELECT * FROM written_language_in_beirut WHERE features ILIKE '%Frenched by definite%' 

And thanks to George for these..

SELECT * FROM name_of_dataset_you_uploaded WHERE vernacular_location = taxi_location 

SELECT * FROM name_of_dataset_you_uploaded WHERE vernacular_location ILIKE '%' || taxi_location || '%' (gives examples of where taxi_location is an extension of vernacular_location)

SELECT * FROM name_of_dataset_you_uploaded WHERE general_context != "Food/Entertainment" (gives examples where the context is NOT F/E)