Programming solutions (advanced)
Python (for a information on packages see this)
Geographic Information Science/Systems
points, lines, and polygons
pixels forming an image or representing data (i.e. a historic map or an elevation map)
automatically assigning latitude and longitude to a list of locations
georeferencing (or georectification)
assigning geographic coordinates to a map image (such as a scanned historic map) and applying a transformation effect to fit that image into geographic space
the background layer (so to speak) of your map on which you place other kinds of spatial data
Mapping Barnum, Bailey, and Cody
Torn Apart / Separados
The Human Reach: Atlas
Undertaking a mapping project, whether large or small, usually starts with the question do I have source material with locational aspects? If the answer is yes, the next steps can look something like this:
Identify your locational data. You may already have a list of locations with some information about each. Or, you might be dealing with prose from a historical source that mentions several places.
Structure your data in spreadsheet form. Each row equals one geographic point. Mapping software needs at least a few separate columns for the location information itself (i.e. city | state | country). If you need to be more precise you can include a street address or even the exact latitude and longitude of your point (again, each in their own column). Beyond this sort of data, you can add any number of additional columns depending on the material you're working with—at minimum a title/label but perhaps also description, quantitative figures, and dates. Be consistent with how you enter different categories of data.
Choose your GIS tool. There is a wide array of desktop and web-based GIS tools, and they vary widely in terms of function and learning curve. For a quick look at your dataset, you could use a simpler web-based option such as ArcGIS Online or Carto. For more advanced kinds of visualization and analysis, you may want to consider the desktop version of ArcGIS or its open source analog, QGIS.
Load your spreadsheet into a GIS tool. Most common GIS tools have a function to automatically put your points on the map based on the locational data you provide (this process is called geocoding). If the tools gives you the option, make sure that it is looking at the correct columns in your data for the locational information.
Backup your data. By now you should already have a spreadsheet version of your data. Once you load it into a GIS tool, you should be able to export that data either as a spreadsheet (CSV) with latitude and longitude columns or as a GeoJSON file (both are recommended). These formats are text-based, which means you'll always have access to your data, even if particular GIS tools change or go away. Save versions of your dataset as you edit and add to them.
TUTORIALS AND OTHER RESOURCES
In order to register for a student Carto account, you must first sign up for a GitHub Student Developer pack. This guide walks you through the process.
Sign Up for a Regular GitHub Account
Go to "Join Github" page:
Fill out the form. You can use your IU email or a different email account. If you do not use your IU account, you will have to complete additional steps later in the process.
When prompted to choose a plan, click the "free" pack. With the Student Developer Pack, you get unlimited private repositories, so no need to pay for this service.
Log into the email account that you used to sign up for GitHub. You should receive an email from GitHub asking your to verify your email.
Verify your email account by clicking the link in the email
Request a GitHub Student Developer Pack
After creating a GitHub account, go to
Click "Get your pack"
Confirm that you are a student
Verify your academic status by choosing your IU email address and uploading a photo of your student ID—taking a photo of your student ID card with your phone should do the trick, but a scan of your ID works as well
Enter "Indiana University" as your school name
In the form, indicate that you will be using Github for class
Submit your request by clicking the green button. You should receive an email from GitHub saying that you're account has been upgraded.
Sign Up for a Free Student Carto Account Using Your GitHub Login
Once you have received an email from GitHub confirming you have been upgraded to a student developer, sign up for an account here:
Instead of filling out your contact information, sign up using your GitHub account
Allow Github to access Carto
You'll be redirected to the GitHub log in page. Sign in using your GitHub username and password.
You should be redirected to your Carto account's home page.
Log into Carto
Go to Carto's log in page:
Below the green log in button, you'll see a "Github" option. Click it to log in through GitHub
Allow Github to access Carto
Why is Carto prompting me for credit card information?
It doesn't know that you're a student. You can sign up for a free 30 day trial without entering your credit card information. You can also sign in with a regular GitHub account for 30 days free of charge, but you'll need a GitHub student developer account to sign into Carto for free beyond 30 days.
Why won't my email appear as an option on the GitHub Student Developer Pack application form?
You have not yet verified your email account on your regular GitHub account. Check the email that you used to sign up for GitHub and look for the verification email. Then refresh the Student Developer Pack application page.
Mapbox Studio is the web-based interface for editing custom basemaps. When you load a map in the map editor, you'll see a long list of individual layers along the lefthand side of the screen. You can select specific layers, edit them, hide them, or delete them. For comprehensive and user-friendly guide, see .
QGIS and ArcGIS are the two leading desktop software for performing more sophisticated map creation and analysis. IU libraries conducts introductory workshops on both as well as offers one-on-one support. While both softwares are excellent GIS tools, there are some key differences that might steer you in the direction of one or the other.
QGIS is a free and open source GIS software. For several reasons, it is what we recommend starting with if you're transitioning web-based mapping tools to desktop. QGIS is easily downloadable and easy to extend with a wide range of available plugins. It can do nearly all of the things that proprietary industry GIS software can and is very well-supported by the open source GIS community. And unlike ArcGIS (see below), it is both Windows and Mac compatible.
Your best bet for getting started is to consult the fantastic list of QGIS tutorials, which contains quick-start instructions, beginner tutorials, intermediate, and advanced. You can find all of these resources .
ArcGIS is a suite of GIS software created by the company ESRI. It is generally viewed as the industry standard in GIS software. As an affiliate of IU, you have access to this software, including the main mapping program, ArcMap. With this software you can do simple to the most sophisticated mapping analysis. Be warned, it is only compatible with Windows. As with QGIS, the initial learning curve is challenging. For a reasonable place to begin, see tutorial.
Structuring Your Data
There are two main types of spatial data, vector and raster. We'll be working with the former. (To learn about the latter, go . Vector data consists of a series of geographic points defined by latitude and longitude (or lat/long for short). For point data, each point consists of just one par of lat/long coordinates. Lines consist of a series of point pairs and polygons a series that joins together at the end. In many instances, you'll be working with point data for your project, so that is what we'll focus on here.
GIS tools, from basic to advanced, handle your in the form of a spreadsheet where each line represents a separate geographic element (i.e. an individual point). You can have many different data categories for each point as long as you include the locational information required. Locational information might be descriptive (such as city | state | country), or it might be the precise lat/long. A spreadsheet chronicling the life of Dr. Martin Luther King Jr. might look something like this:
"I Have a Dream" Speech
Place of Death
When your structuring your own spreadsheet, it is important that you separate your data into distinct columns, especially your locational information. When you have enough of your points entered, you can load the spreadsheet (in CSV form) into a GIS tool and it should display correctly.
Another option for retrieving locational data is to provide GIS tools with descriptive fields such as city, state, and country, and then have the tool provide the latitude and longitude for you. This process is known as geocoding. Most, if not all, GIS tools have this feature, but some may have limits on the number of points it will geocode for free.
It is always important to store up-to-date backups of your spatial data. CSV is the recommended format for the spreadsheet version of your data. Another widely used format is GeoJSON. Like CSV, it is a strictly text-based datatype, which means you should always be able to access that data, even if a particular GIS software goes away. GeoJSON is not particularly geared to editing by hand, but it is a good additional format to store copies of your data because most GIS tools can load this file type. Furthermore, it is the preferred filetype for many web mapping tools, such as Mapbox and Leaflet.
Georeferencing (or georectification) is the process of assigning spatial coordinates to an object or data that lacks this information (adding a geographic reference). One common use task in this category is the georeferencing of scanned historic maps to be used in a digital mapping program. We’ll explore two free tools to help us turn a scanned historic map into a web-ready basemap!
Map Warper is a free, online, open-source tool that allows you to upload images to rectify against an OpenStreetMap basemap. It is the same program used by the New York Public Library map collection (maps.nypl.org/warper/)
Tips for using MapWarper:
This project is still in beta, so sometimes weird things happen.
Create a free account to upload maps
Export as GeoTiff, PNG, KML, or get a link for map tiles to use in web mapping applications
Set visibility of your maps as public or unlisted
Add metadata to help others find and use your maps
When in the process of georeferencing, click on “Control Points” to see the level of error or delete points you’ve added
QGIS is a free, open source desktop GIS application. It is often used as an alternative to ArcGIS. The process of georeferencing maps in QGIS is a bit more complicated than with MapWarper, but it also gives you more options and control over the coordinate system you’re using.
Make sure the GDAL Georeferencer and OpenLayers Plugins are installed, located in the Plugins menu
Crop your original image (optional)
Add the OpenStreetMap baselayer. Web > OpenLayers > OpenStreetMap
Open the Georeferencer tool. Raster > Georeferencer
Add your image to the Georeferencer. Open Raster
Choose your coordinate system. When working with the OpenStreetMap baselayer, we will use WGS84 Pseudo Mercator. If you are not intending to use this map in a web map, the coordinate system you choose may vary.
Begin adding points. Click on an area on your image, then choose “From map canvas”. Navigate to the same location on the basemap, and click to add the point. You may need to toggle between windows.
Continue adding points until you have at least 4. It’s best to add points around the corners of the image, and a few in the middle. You want them to be spaced out.
When you’re ready, open the transformation settings menu. Settings > Transformation Settings. Your settings should match the image below. Choose a location and name for your new georeferenced image in the Output Raster box.
File > Start Georeferencing to finish the process! You might need to close and restart QGIS to get your image to display.
For a more extensive tutorial, see .
There is an abundance of spatial data out there, but it can be tricky finding just the data you need. Since there is no centralized way of cataloging geospatial data, you will likely need to navigate a variety of different sources. The best place to start is the guide created by our GIS librarian, Theresa Quill. You can find it here.
Beyond that, you may well have to do some sleuthing for yourself online. Searching for your keyword/s plus "shapefile" or "geojson" can be a good approach.