Proportional Symbol Maps with ArcGIS
Time for completion: ~4 hours

Part 1 - Make Countries Internet Use Data

1.1 - Copy the countries shapefile
1.1 - With Windows Explorer
1.2 - With ArcCatalog
1.2 - Get statistics
 1.2.1 - Edit a textfile with Notepad
 1.2.2 - Import tab-delimted text into Excel
  1.2.2.1 - Import GDP textfile
  1.2.2.2 - Import internet_users textfile
  1.2.2.3 - Import population textfile
1.3 - Verify the .dbf tables
1.4 - Make a Join
 1.4.1 - Verify the Join
1.5 - Make a Feature Layer
 1.5.1 - Save the Feature Layer as a file
1.6 - Make the join permanent
1.7 - Projections in ArcGIS
 1.7.1 - Reproject with Data Frame Properties
 1.7.2 - Export projected shapefile
 1.7.3 - Calc area
 1.7.4 - Rename dbf
1.8 - Cleanup and Backup

Part 2 - Make Proportional Symbol Maps of Internet Use


Purpose

Looking at statistical information in the form of graphs, tables and summary statistics is useful if you know what you are looking at. Interpretation of statistics represented with maps can be made simple by use of proportional symbols. Bigger means more is obvious and intuitive, but a somewhat distortion prone mental transformation. In this lab you are going to get data in tabular format, fix it, link it to a shapefile, and make maps with it. You will see how effective this technique of representation can be, but also learn about some of the limitations. See Slocum 2005 Ch 16, Proportional Symbol Mapping for some background. Also, along the way you will be learning some nuts and bolts ArcGIS stuff.

Make internet use, population and GDP spatial by joining tables (Part 1)

Aside from making proportional symbol maps you are going to learn how to join tabular data to geospatial data (polygons). With this technique you can turn just about anything into a map. First you are going to look at the data in more detail; a shapefile consists of several files, some are related to the spatial components, the features, and one component contains the attribute information, the data that are linked to the features.

Shapefiles are the most common GIS data type you will encounter, and preferred by an increasing number of ArcGIS functions. There are other data formats, most notably the coverage data format. There are essentially two main structures for geospatial data, vector (lines, points, polygons) and raster (grids of cells/pixels). We will be working with exclusively vector data, perhaps later you can work with some raster data.

Step 1 - Copy the countries shapefile

Note: if you have not configured Windows Explorer to show file extensions, or list Details by default, you should do so now. The procedure is outlined in [ Introduction to ArcGIS ] under the Windows Explorer subheading.

With Windows Explorer go to C:\WorkSpace, make a folder called "lab6" (or call it proportional_symbol_maps) *do not use spaces in the filename or folders. (see Introduction to ArcGIS )

You are going to copy a shapefile that is installed as part of the ArcGIS software. There are predefined templates for maps, you can use these when you create a new map layout in ArcMap. The data for these templates are stored in the Program Files directory. There are two ways to copy a shapefile, using Windows Explorer or ArcCatalog. Choose one and copy the Cntry00 shapefile to the working directory (the folder you will be using for this lab).

Step 1.1 - Copy the countries shapefile (Windows Explorer)

Using Windows Explorer, go to C:\Program Files\ArcGIS\Bin\TemplateData\World (you can copy-paste this path into the Address Bar if you have configured Windows Explorer properly). Find the Cntry00 shapefile (there are 7 files that constitute this shapefile), copy them all to your working directory.

Step 1.2 - Copy the countries shapefile (ArcCatalog)

Connect to the TemplateData folder with ArcCatalog and copy the shapefile. Copy-paste this path,
C:\Program Files\ArcGIS\Bin\TemplateData\World, into the Location field (Address Bar) along the upper part of ArcCatalog.

With ArcCatalog you only have to select the one shapefile (.shp) icon and it will automatically copy the associated files. The screenshot below shows the view of the TemplateData folder using ArcCatalog.

Start ArcMap and open the shapefile you've copied to the lab6 folder. Click on one of the countries with the Identify tool and look at the attributes. We will be using the attribute of the country's name attribute (CNTRY_NAME) to join tables to these polygons.

Step 2 - Get statistics

The CIA do all sorts of things, one of the good things this agency does is compile and maintain the "CIA World Fact Book". This data collection has been published since the early 1960s and provides numerous economic, social, demographic and geographic statistics.

Open this link [ http://www.cia.gov/cia/publications/factbook/ ]. At the top there is a pulldown menu, select World. This will take you to another webpage with a world map, projected with the transverse mercator map projection, at the top.

Scroll down on the World page until you see "Population", click on the icon next to it that looks like a bar graph with three bars. This will take you to a webpage showing the rank order of countries based on population (in html), click the "Download Datafile" link at the top of this page. This will open a page of tab-delimted text. Do File -> Save As ... and save the .txt file as "population.txt" in the lab6 folder.

Go back to the World page and scroll down until you see "GDP - per capita", click on the icon next to it that looks like a bar graph. This will take you to a webpage showing the rank order of countries according to per capita GDP, click the "Download Datafile" link at the top of this page. This will open a page of tab-delimted text. Do File -> Save As ... and save the .txt file as "gdp_per_capita.txt" in the lab6 folder.

Go back to the World page and scroll down to "Internet users" (its under the Communication World section, towards the bottom of the page), click on the icon next to it that looks like a bar graph. This will take you to the rank order of countries according to Internet users, click the "Download Datafile" link at the top of this page. Then Do File -> Save As ... and save the .txt file as "internet_use.txt" in the lab6 folder.

In the lab6 folder you should now have three text files.

Step 2.1 - Edit a textfile with Notepad

Open the gpd_per_capita.txt file you just saved using Notepad. We need to get rid of the $ symbol and all the spaces that follow it. In Notepad copy the $ and all the spaces after it leading up to the beginning of the number (as shown in the screenshot below).

Go up to Edit -> Replace

In the Replace dialog, paste the text you copied in the Find what: field (the $ and all the spaces), click in the Replace with field but leave it empty. Click the Replace All button, and Notepad will find all the $ ...... and replace it with nothing.

Next do find-and-replace to get rid of all the commas in gdp_per_capita.txt, save it after you've removed all the commas and open the other two text files (internet_use.txt, population.txt) and do find-and-replace to get rid of the commas in those text files as well. Close Notepad.

Step 2.2 - Import tab-delimted text into Excel, and edit

Start Excel, and do File -> Open. In the Open dialog you will need to tell Excel to see .txt files, in the Files of type pulldown select Text Files (of All Files).

You are going to use Excel to edit and format the imported text file and save it as a dBASE spreadsheet. Warning: Excel makes it difficult to save .dbf (dBASE) format so be careful with this.

Step 2.2.1 - Import GDP textfile

Start Excel, got File -> Open and select the gdp_per_capita.txt file you just edited, click Open. Excel will start the Text Import Wizard. Select Delimited (if it isn't already selected) and click Next. Make sure under Delimiters that Tab is checked, click Finish.

Delete the first row. Right-click on the 1 row tab (left side bar) choose Delete.

Highlight the Rank column A, hold down Ctrl, and highlight the Date of Information column D, and right-click and choose Delete.

Change the name in the first B column cell to just "GDP". Change row 1 column A to "CNTRY_NAME". Set the column widths by double-clicking on the division between the row tabs at the top, this will widen the columns automatically to fit the longest entry. With dBASE the visible column width determines how much of the name (or numbers) will be saved, if you don't make them wide enough the names will be truncated and the join will not work.

An important step when creating a .dbf file is to remove the formatting, if there is any, because ArcGIS might not interpret it correctly. Select both column A and B, right-click on heading and choose Format Cells ..., in the Format Cells dialog choose General and click OK.

* Later, after you join the dbf file to the shapefile if you get <<null>> when you use the Identify tool to check that the join worked, this formatting issue is more than likely the problem.

Sort the spreadsheet alphabetically (the button with the capital blue/red AZ on it, click Yes to expand selection). Fix some of the errors in place names. "Korea South" should be South Korea, "Korea North" should be North Korea, "Congo Democratic Republic of the" should be Congo, DRC, "Congo Republic of the" should just be Congo, "Bahamas The" should be The Bahamas. ESRI has used a "&" in place of "and" in coding country names, thus do a find and replace in Excel for " and " with " & " (* include the spaces before and after in each). There are more, but this is enough for now. When doing joins it is important to check your data thoroughly, but for the sake of this exercise perfection is not required. If you are a perfectionist ArcGIS will be a nightmare for you.

* Before you save the file to dBASE you need to select all the values because Excel will only save the data values that are selected in the dBASE file. Highlight all the values by selecting both the CNTRY_NAME and GDP columns. Go up to File -> Save As ..., from the Save as type: pulldown menu choose DBF 4 (dBASE IV).

Warning: Excel doesn't like to let go of files that are not in its own .xls format. When you click Save, Excel will bark at you with a warning message about dBASE not recognizing some things (this is why you set the cell formatting to General), click Yes. Close the spreadsheet, Excel will bark at you asking you to save the file (again!). Click Yes, if it will barks at you again with the warning message just do whatever it says to make it let you have a dBASE file.

After you have successfully saved the gdp_per_capita.dbf and there are no spreadsheets open, proceed with importing the next .txt file.

Step 2.2.2 - Import internet_users textfile

Open the internet_users.txt file using Excel, and import it with the Text Import Wizard. Remove the first line as you did for gdp_per_capita, and delete the Rank and Date of Information columns. Delete the rows for World and European Union (we want individual countries). Although when you join the dbf to the shapefile only matching records will be retained, there is no polygon labeled "World" or "European Union" in Cntry00, it is usually best to clean-up as much as possible.

Change row 1 column A to "CNTRY_NAME" and change the heading for column B to "INTERNET". Select both columns, right-click and choose Format Cells ..., in the Format Cells dialog choose General. Widen each column so they are wide enough to contain the longest entries, to do this double-click on the separation between the column heading tabs (as shown above).

Sort the spreadsheet alphabetically and fix some of the errors in place names. "Korea South" should be South Korea, "Congo Democratic Republic of the" should be Congo, DRC, "Congo Republic of the" should just be Congo, "Bahamas The" should be The Bahamas. You can correct other names if you feel so compelled, but it is not a necessity. ESRI has used a "&" in place of "and" in coding country names, thus do a find and replace in Excel for " and " with " & " (* include the spaces before and after in each).

Do File -> Save As ..., and save it as DBF 4 (dBASE IV) file as you did for gpd_per_capita. Again, ignore the warning message and click Yes, then close the spreadsheet (if Excel barks at you again, do the same routine again). After you've saved internet_users.dbf, and Excel is empty, open the next .txt file.

Step 2.2.3 - Import population textfile

Open population.txt, and import it with the Excel's Text Import Wizard. As before, delete the first row and the Rank and Date of Information columns. Delete row 2 and row 5 (the World and European Union entries). Change row 1 column B to "POP" and column A to CNTRY_NAME, and format both column's cells using General. Widen each column so they are wide enough to contain the longest entries by double-clicking on the column tab separators.

Sort the spreadsheet alphabetically and fix some of the errors in place names. "Korea South" should be South Korea, "Korea North" should be North Korea, "Congo Democratic Republic of the" should be Congo, DRC, "Congo Republic of the" should just be Congo, "Bahamas The" should be The Bahamas. ESRI has used a "&" in place of "and" in coding country names, thus do a find and replace in Excel for " and " with " & " (* include the spaces before and after in each).

Save this file as a dbf file using DBF 4 (dBASE IV). When Excel barks at you repeatedly about irrelevant issues, just click Yes and do what ever it tells to do in order to get the population.dbf file saved.

Step 3 - Verify the .dbf tables

You should now have three dbf files in the lab6 folder.

Close Excel, and then reopen the spreadsheets one by one to make sure that each of the column headings are correct. Each table should list CNTRY_NAME in the first column and GDP, INTERNET, or POP in the second. Both columns should be wide enough to contain the longer names/numbers, and both column's cells should be formatted as General. If Excel tries to interpret their format as Number, you can either try to change it back to General and resave it, or just see if it works.

Close Excel.

Step 4 - Make a join

Add the three .dbf files to ArcMap. You can drag & drop files from ArcCatalog (or sometimes from Windows Explorer) into ArcMap (or ArcToolbox dialog boxes) or click the plus button at the top of ArcMap and add them that way.

Right-click on Cntry00 and go to Joins and Relates -> Join ...

In the Join Data dialog that opens choose CNTRY_NAME as the join field (1), select one of the tables, internet_user.dbf in the example shown below, for the second field (2). ArcGIS will read the table's column headings and add the attributes it finds that match those of the first layer, select CNTRY_NAME from the pulldown menu in the last field (3). Click OK and click No when asked if you want to build an index.

Check to see if it worked. With the Identify tool click on a country. You should see the joined attribute (CNTRY_NAME) linked to the internet_users entry for the country you clicked on. If it didn't work there is most likely a problem with your cell formatting, or you didn't have the columns highlighted when you saved it as a dbf. If there is a problem with the join you need to remove it by right-clicking on Cntry00, go to Joins and Relates -> Remove Join(s).

If there is no problem, proceed with joining the other two spreadsheets.

Right-click on Cntry00 again and choose Join. This time the first field will be named differently, Cntry00.CNTRY_NAME, after you do the first join. The beginning part of the name is what ArcGIS is using to internally to store the relationship between the shapefile's attribute table (Cntry00.dbf) and the spreadsheet (internet_users.dbf).

Select the next .dbf file and in the last field select CNTRY_NAME. Click OK and then click OK again, when you are asked if you want to create an index click No. Indexes are useful for massive tables but ours is simple enough that it will make no difference. Right-click on Cntry00 and do one more Join for the last dbf table (following the same procedure).

Step 4.1 - Verify the join worked

With the Identify tool click on a few countries. Some of the smaller countries may not have a value, but all of the larger countries should have the three values (INTERNET, GDP, and POP). If you see <<null>> there is a problem with the dBASE file(s), or perhaps CNTRY_NAME are not identical in the shapefile and the bBASE file (and therefore not joined).

If it worked your first time through, good, if it didn't fix it. You will need to remove the join(s) you did that didn't work.

Once all the joins work, you have all the .dbf files joined correctly to the shapefile so long as ArcMap stays open with the files in this working directory are active. If you close ArcMap you loose the joins. To save the join parameters you've created permanently, make a Feature Layer.

Step 5 - Make a Feature Layer

Although ArcGIS does temporarily store joins, it is best that you save this somehow. Having a Feature Layer file will allow you to save the join parameters, modify the .dbf files if necessary, and export a new version of the shapefile without having to modify the original shapefile's attribute table (Cntry00.dbf) or go through the joining procedures again.

To make a Feature Layer start ArcToolbox and go to Data Management Tools -> Layers and Table Views -> Make Feature Layer.

In the Make Feature Layer dialog click the folder button next to the Input Feature field and select the Cntry00 shapefile in the lab6 folder (it should also appear in the pulldown menu too because you have it open in ArcMap). After you specify the shapefile to base the Feature Layer on notice that in the bottom part of the Make Feature Layer dialog that all the joins are listed.

Name the Output "Cntry00_Layer" (if it is not named automatically), click OK.

The layer file (Cntry00_Layer) will be added automatically to ArcMap when you click OK.

Step 5.1 - Save the feature layer as a file in the lab6 folder

To save the Feature Layer use Toolbox and go to Data Management Tools -> Layers and Table Views -> Save To Layer File.

In the Save To Layer File dialog select the Layer you just created (click the pulldown and select "Cntry00_Layer"). Next to the Output Layer field click on the folder button and go to the lab6 folder, next to Name type in "Cntry00_Layer" and click Save, then click OK.

After you save the Feature Layer it should update ArcMap automatically, if it doesn't remove the first Feature Layer (Cntry00_Layer) and add the Feature Layer you just saved in the lab6 folder. Once you have added the Feature Layer you saved, get the Identify tool and click on an country to make sure the joined information is still retrieved correctly.

In ArcCatalog look that the files you have created. The feature layer file (Cntry00_Layer.lyr) now stores the join relationships that link all the dbf file together. If you close ArcMap all you have to do is add Cntry00_Layer.lyr and the joins are restored, provided all the file names (paths) remain the same.

You can update the contents of the .dbf files, and so long as the CNTRY_NAME attribute remains intact for each entry the join will hold. The Feature Layer is a useful file if you ever find yourself working on a project involving data collection from multiple sources, all you have to do is keep this Feature Layer current/correct and the data values in the joined spreadsheets can be updated.

Step 6 - Make a new shapefile with the joined tables combined

To make the joined information contained in the three dbf files a permanent part of a new shapefile you need to export it. First make a query that will select the polygons that have the value we wish to map joined to them, go up to Selection -> Select By Attribute. In the Select By Attribute dialog make a query that will select only joined polygons that have a value for the INTERNET field.

Now, with those polygons selected, right-click on the Cntry00_Layer and do Data -> Export Data. In the Export Data dialog that opens verify that next to Export it has Selected features, then name the new shapefile "Countries" and verify that it will be written to the lab6 folder. This may take a few seconds because ArcGIS has to extract all of the values from each of the dbf files and append Cntry00's Attribute table (Cntry00.dbf).

Clear the selected features by doing Selection -> Clear Selected Features. Now clean up the Attribute Table. When you exported the data from the Feature Layer it combined all the joined spreadsheet entries into this one, and there are some useless scraps left over. Right-click on the Countries layer you just created and added to ArcMap, and choose Open Attribute Table. To delete fields right-click on each column heading one at a time and choose Delete Field. Get rid of everything but the first 4 fields (keep FID, Shape, CNTRY_NAME, FIRST_FIRS) also retain the three fields you joined (keep GDP, INTERNET, POP), but all the others can go.

After you finished deleting all the worthless fields (columns) your final attribute table should have seven columns (see example below).

Step 7 - Projections

Geospatial data are encoded with certain units (feet, meters, degrees, etc.), the spatial components of each feature (lines, points) are projected using a mathematically defined transformation. The earth is round and maps are flat, map projections flatten the round earth. ArcGIS recognizes a bewildering number of projections, but in practice only a limited subset of these are used. Map projection is a topic of GIS in and of itself (see Projection Lab 2.1, Lab 2.2 for more on this topic). ArcGIS has attempted to remedy problems associated with dealing with map projections by doing "projections on the fly". Essentially ArcGIS will try to recognize what projection your data have, if this information is not already explicitly defined (the .prj component of the shapefile contains this information), and then open them in ArcMap. Sometimes this works, sometimes it doesn't.

When you add data to ArcMap it is contained in a Data Frame. Recall that there are two view options in ArcMap, one is Data View and the other is Layout View. When you are in Layout View you can see the Data Frame that contains your data, think of this like a window on your data. You can resize it, move it, and add other data frames to the same map layout. You can also change the projection of the data frame. Important note: If you change the projection of the Data Frame this does not change the projection the data are encoded with.

The data from TemplateData you are using are all projected with the "Geographic" projection (which isn't technically a projection, its a spherical coordinate system). Geographic units, the Map Units, are latitude longitude (degrees, minutes, seconds, or decimal degrees), these are angles. You can change the Display Units to whatever you want, but you need to reproject (re-encode) the data to change the Map Units. All projection operations are based on spherical coordinates. If, however, you wish to calculate an area, or determine a precise distance, angles (degrees) are worthless. You need planar coordinates to do this. Square degrees are meaningless, and for most people a distance specified in degrees is also meaningless.

Step 7.1 - Reproject with Data Frame Properties

All the data layers in the Data Frame are projected with the same coordinate system. The Data Frame will use the coordinate system of the first layer added to that Data Frame (this is what is called "on the fly" projection). We do not want to take advantage of this feature now though, we want to transform the coordinate system to planar coordinates so as to be able to calculate area for the Countries shapefile.

There are a lot of countries in the world that are relatively small, small in terms of area. They are by no means insignificant, but for the sake of making a nice looking map (reduce overlapping symbols) it will be easier to Exclude small countries. To calculate Area we need to project the data to a planar coordinate system using a equal area projection. Mollweide is a good choice I think, but Sarah B. might think otherwise.

Go up to View -> Data Frame Properties, click on Coordinate Systems, go to Predefined -> Projected Coordinate Systems -> World, choose Mollweide (world). The Map Units of this projection are meters.

Once you have changed the projection of the Data Frame, Export the shapefile and make certain it will retain the projected planar units.

Step 7.2 - Export projected shapefile

Right click on Countries in the data frame you just projected and do Data -> Export Data. Be sure to specify "Use the Coordinate System of the data frame", and name the Output "Countries_eqarea.shp"

Click Yes to add it to ArcMap.

Step 7.3 - Add Area to the attribute table

Right-click on Countries_eqarea, choose Open Attribute Table, then click on Options -> Add Field ...

In the Add field dialog name the new attribute Area, set the type to Float, and set the Precision to 20 (leave scale 0, this is just the number of decimal places). Precision is the number of spaces that ArcGIS will hold for the Area, yes 20 is excessive but its better to be too long than too short (ArcGIS will be calculating areas for countries in meters). Click OK when you've done this and a new column for Area will appear in the attribute table with 0's for every country.

Calculate areas for the countries polygons. Right-click on the Area column heading and choose Calculate Values ...

Click yes to the warning message, and in the Field Calculator dialog use the following procedure to calculate area.

Check Advanced.

Copy-paste the following VBA incantation in the first text box:

Dim pArea As IArea
Dim dArea As Double
Set pArea = [shape]
dArea = pArea.Area

Put the variable dArea in the text box directly under the Area field name. Click OK.

Note: you can Save this calculation script and Load it if you are going to be using this same procedure over and over.

The results should appear in the Area column, these units are square meters so they should be very large numbers (if you get small numbers, you did not reproject the data)

Note: the incantation you copy-pasted above into Field Calculator may seem a bit like a magic spell. Ian Ko's webpage has a free zipfile you can download with over 100 such spells for Field Calculator.
( http://www.ian-ko.com/free/free_arcgis.htm )
If the procedure above did not work, download and unzip the file from ian-ko.com and use Load in Field Calculator (use polygon_Return_Area.cal from the zip file).

Close ArcMap (and ArcCatalog if you have it open). There is no need to save your map layout at this point.

Step 7.4 - Rename the dbf

With Windows Explorer go to the the lab6 folder (or whatever folder you are working from). Rename the original Countries.dbf to Countries_OLD.dbf, and rename Countries_eqarea.dbf to Countries.dbf

Does what you just did make sense? Basically you reprojected an exact copy of the Countries shapefile to an area preserving planar coordinate system, added an Area field to the attribute table, calculated the areas of all the polygons, and then renamed the attribute table (.dbf). The only difference between the attribute tables is that one has an Area attribute and the other does not, everything else is identical. Renaming dbf files is an efficient trick for calculating areas or lengths. If you are using a Feature Layer to maintain join relationships keeping consistent names is important. All we wanted was the Area column, and since we've changed nothing else (most importantly, we did not change the number of polygons or edit them), renaming the attribute table works.

Start ArcMap and add the Countries shapefile. Check that it worked by click on some countries with the Identify tool and comparing their relative areas.

After you are certain that you have the data you want, the Countries shapefile has all the attributes and the Area field you just added, clean up after yourself. Close ArcMap (and ArcCatalog). Again, there is no need to save your map layout at this point.

Step 8 - Cleanup and Backup

With Windows Explorer, go to C:\Workspace\lab6 (or whatever Workspace folder you are using for this exercise). Get rid of the worthless files. You have verified the integrity of the new Countries shapefile, so the others can go. Although this may seem trivial to you now, it is best to get in the habit of getting rid of stuff as you go.

After you have deleted the unnecessary files, make a backup. If ever you find yourself slaving over a complicated editing task, it helps to make a backup every once in a while. Occasionally, but rarely, a dataset may become corrupt for some reason (a glitch in the file system caused by a harddisk error, ArcGIS crashes in the middle of an editing session, the power goes out, or a butterfly farts in Tibet ... whatever). Just follow this procedure and you will save yourself the agony of having to redo hours of tedious work. I realize this sentence is almost pointless because this is something you will have to learn on your own. Always make backups.

There are two popular compression utilities for Windows, one is WinZip and the other is WinRar. Both do the same thing, they'll take a bunch of files or folders and make them into one compressed file. Select the important files, or all of them, right-click and choose Add to archive ... (or Add to Zip). This archive file can be moved, emailed, or put on another computer and extracted (so long as the extracted files retain the same path your ArcMap layouts will work).

All you will need for Part 2 are the Countries and Cntry00 shapefiles. Recall that shapefiles, when viewed with Windows Explorer, actually consist of multiple files.

Optional: With Windows Explorer go to C:\Documents and Settings\<user>\Local Settings\Temp. This is a "hidden folder", why I don't know, but you will have to have changed the default setting for Windows Explorer to see it (Instructions). In that folder you will see all kinds of ArcGIS droppings. You can delete all these files, some times these files can cause headaches. You can always Restore them from the Recycle Bin should there be a problem.

Good, now we're safe from the butterflies, and we can do what we please. Always make backups, be obsessive about cleanliness and organization, and learning ArcGIS will be a much less trying experience.


Make Proportional Symbol Maps of Internet Use (Part 2)

2.3 - Make Graduated Symbol map
2.3.1 - Exclude small areas
2.3.2 - Transparency
2.4 - Arrange the map layout
2.4.1 - Finishing touches
2.5 - Make Proportional symbol map
2.5.1 - Non-normalized
2.5.2 - Normalized
2.6 - Optional

Step 1 - Subset Europe from Countries

The attribute "FIRST_FIRS" contains region names. There are 5 regions, 6 since Australia is given a separate region attribute. Start a empty ArcMap layout and add Countries and the original Cntry00 shapefiles.

Highlight Countries and go up to Selection -> Select By Attribute. In the Select By Attribute dialog make a query to select all the Europe polygons. If you highlight an entry under Fields, and click the Get Unique Values button all the attributes contained in that field will be displayed. Once you construct the query, click Apply, and then close the Select By Attributes dialog. If this query were more complicated, or one that you might be using repeatedly, you can Save/Load it.

Next, with the Europe polygons selected, do Data -> Export Data. In the Export Data dialog make sure that in the Export field at the top is set to Selected features, name the output Europe.shp, and click OK.

Click Yes when asked if you want to add it to ArcMap. Unselect everything (Selection -> Clear Selected), and then change the symbolization of the Countries shapefile to be light gray and make the outlines of the polygons two shades darker gray. This will serve the purpose to fill the space behind the area of interest, emphasizing it visually on the map. Right-click on Europe and choose Zoom To Layer.

Step 1.1 - Make polygons into points

Note: Converting Polygons to Points ("Features to Points') requires Workstation. If you do have Workstation installed there is a work around if Features to Points is not available, but if you DO NOT have Features to Points skip to Step 2. You can use the polygon shapefile (Europe) to create the maps, just not using points so your ability to change the appearance of the map (move points around and transparency) will be limited. Not to worry.

Start ArcToolbox and covert the Europe polygons into points shapefile. Go to Data Management Tools -> Features -> Feature To Point. In the Feature To Point dialog set the Input Features as the Europe shapefile, since this shapefile is currently active in ArcMap it should be available in the pulldown menu. The Output Feature Class will by default be written to the lab6 folder, and it should be automatically named and added to ArcMap.

You can now close ArcToolbox.

Step 1.2 - Adjust some of the points

The symbols, circles, are going to be based on the points. The locations of some of the points should be adjusted so they occupy a more open location on the map. In the screenshot below I have identified four points that should be moved prior to making the proportional circles. Highlight Europe_FeatureToPoint and go up to the Editor pulldown and select Start Editing. Move these points so they are located more centrally in the polygons. Feel free to adjust the locations of other points you think need to be moved within their respective polygons.

Once you've moved the points go back to the Editor pulldown and do Save Edits, Stop Editing.

Step 2 - Choose a good projection

Map projections are an important consideration when making small scale (continental to global) maps. Although for the purposes of visual representation the choice of projection is more for visual appeal, as apposed to accurate area or distance accuracy. As far as distortions of area or length are considered, projection at the sub-state level (i.e. County, City) is negligible because the curvature of the earth at that scale is irrelevant.

Use the same procedure you used earlier for setting the Data Frame projection to reproject Countries to an area preserving projection, but this time choose a projection from Predefined -> Projected Coordinate Systems -> Continental -> Europe. I've chosen Equidistant, but feel free to use another projection as there will not be a significant discernable difference at this scale (zoom to the full extent of Cntry00 if you want to see the difference).

Step 3 - Make Graduated symbol map for Europe's internet users

Making proportional symbol maps using ArcMap can be a bit tricky. Using graphics software (i.e. CorelDraw, AdobeIllustrator, or MacroMedia Freehand) to do this by eye using scaling calculations from a spreadsheet works. With ArcMap you can precisely control the scaling as well as some other important parameters.

First, before we begin, lets save this map layout. Save this map layout as "Europe Internet Use", be sure to do File -> Map Properties ..., click the Data Source Options button and set it to store relative path names. Setting the relative path option should, in theory, allow you to compress and move the entire folder (with all the data the .mxd map layout is based on) and then reopen it (see Project Properties).

Stay in Layout view when composing a this map. If you change the map's scale, the sizes of the circles will change so change the size of your Data Frame so it fills most of the page (leave a 1/2 inch margin, and 1 inch from the top). Now, after you've saved the map layout, open the Properties -> Symbology for Europe (or _FeatureToPoint if you have Workstation, and have generated a point file from the Europe polygons). Go to Quantities, and choose Graduated symbols. Set the Value to INTERNET. Change the number of classes to 8. Check on "Show class ranges using feature values"

You can change the range of Symbol Size from: to: based on how it appears in your layout, you will have to change it again is you change the frame size. This is where it gets "tricky" because there are quite a few options to manipulate that will change the appearance of the map.

Click on the Template button, and choose a solid circle. You can also choose an icon, or get really fancy with 3D symbols, but for now a circle is best. Symbolize the circle using a slightly darker value (darker color). Pastels are generally favored over loud colors, but this is a matter of preference. Make it so the circles have an outline of dark gray instead of black (hint: click it has something do do with the Symbol -> Properties ...

You can noodle around with this stuff (Symbology) for hours and figure-out all kinds of neat stuff ... if you remember how to do what you figured out how to do yesterday, or even a few minutes ago, is a different matter.

Click the Classify button. Here, I would suggest based on the data distribution, to choose Quantiles or Natural Breaks. The Classification dialog window will show you the distribution of data values and the class breaks for the 8 classes. Feel free to experiment with a different means of classifying the data (Standard Deviation, Natural Breaks etc.) and observe how the class breaks shift.

Warning: ArcGIS has issues sometimes re-drawing the map after you make changes to symbology. Refresh after each change (there is a refresh button in the lower right, or F5).

Note: This Data Classification stuff is of importance for thematic mapping in general, you are encouraged to familiarize yourself with basic concepts discussed in Slocum Ch 5, Data Classification.

Step 3.1 - Exclude small areas from the classification

After you've decided on a classification, click the Exclusion... button. In the Data Exclusions Properties dialog exclude the smaller countries, Area < 1,000,000,000 (1,000 sq. km). This may change your choice of Classification, but I don't think it will. This is more for the sake of making an uncluttered map (reducing the number of overlapping circles). The scale of you map will not allow for these small countries to be visually identifiable unless it is customized considerably. Click OK, then OK again to close the Classification dialog, and then Apply.

After you click Apply in the Layer Properties dialog you can see the proportional symbols. Warning: the symbols will scale according to the size of the view extent. The size of the data frame (or the scale of the map) will may require that you adjust the Symbol Size from: to: accordingly.

Step 3.2 - Add transparency to the circles

Note: you will not be able to use transparency unless your symbolization is from points, if you were not able to convert the Europe shapefile to points (see previous note on this) you will not be able to make the circles semi-transparent so you can see the country boundaries underneath as is shown in the following screenshots. Not a serious issue, you will still be able to make the maps.

Make the circles semi-transparent so you can see the boundaries underneath. To turn on the transparency tool, go up to View -> Toolbars -> Effects. Next to Layer set it to the layer you wish to adjust the transparency for (Europe_FeatureToPoint), click on the button next to it and adjust the slider.

Step 4 - Arrange the map layout

Move and resize the data frame to fill the page but leave about a 1/4-1/2 inch one each side accept the top leave 1 inch. You can use guidelines if you feel the need for precision, click on the rules along the edge of the layout view (if they are visible, turn them on by going up to View, and scrolling down to Rulers). If you add a guideline, but later want to remove it you can right-click on the little arrow at the end of the guideline and remove it.

Navigating in Layout View may take some practice in order to gain some dexterity with the interface. Remember: there are tools for manipulating the map layout, and tools for manipulating the view of the data contained within the data frame. You may need some practice with this to learn how to position, edit, and move the map's features. (the "zoom to previous" blue arrow is very useful)

Notice in the screenshot above that I have changed the Symbol size from: to: in order to make them visible and to make the circles size differences more pronounced. There are cartographic rules of thumb for graduated symbols, but I've set the range (difference between from: to:) and the min max visually based on what I want to portray. Later you will make another map use the Proportional method of symbolization, this method is not as controllable as using the Graduated method but it does offer a different visual impression.

Step 4.1 - Finishing touches

1) Add necessary text information. To add text click on the text tool in the lower left, this is intentionally similar to Microsoft Office. Adjust the font, style, color, etc. Add a title for your map at the top, data source at the bottom, the projection and mapping method, the date it was created and by who. Feel free to be creative with these.

2) Add a scalebar. Go up to Insert -> Scalebar. You can convert the inserted scalebar to a graphic. To convert it to a graphic right-click and choose Convert to Graphics and then right-click and choose Ungroup.

Warning: The scale bar after it has been inserted to the map is linked to the data frame, so if you zoom in or otherwise change the scale of the data contained with the Data Frame it will change accordingly. However, after you convert it to graphics it is not. If you zoom and change the scale of the data contained in the data frame you will need to recreate the scalebar.

3) (optional) There is no need to a north arrow on a map of this scale, it is clear which direction is North. This is a matter of preference if you want to include a north arrow on finer scale maps go nuts.

4) (optional) Add a legend, and customize it. To add a legend go to Insert -> Legend. Generate the legend by clicking through the options. At this point I need to reiterate a subtle warning to perfectionist, details are important in Cartography but so is getting the map done. You can spend an inordinate amount of time noodling with graphics, don't. More time can be spent on this later. If you insist on perfection export this map to a .ps or .ai file, import it into Corel or AdobeIllustrator and go nuts.

To noodle with the legend in ArcMap move it to the outside area (off the page). Right-click on the legend and do Convert to Graphics. Then right-click again and choose Ungroup, and then with everything still selected right-click again and choose Ungroup. Zoom in to this area containing the mess of ungrouped objects. Now you can modify all the text, as well as move and group-ungroup the circles etc. Create a concise legend in as much detail as can be perceived.

Save the map. Do File -> Export Map... In the Export Map dialog change the Type to JPEG (.jpg), then click on the little Options button. Under the Format tab choose 24-bit, move the slider over close to max and check on the Progressive option at the bottom. Under the General tab set to to 86 dpi, the image size is pixels. In this case you are making a map for the web, so about 700-800 pixels wide is as much as you need (most display settings are rarely wider than 1280 pixels, and most monitors can't display more than 70-80 dpi). For a map that is to be printed you would generally want about 200-300 dpi and save it with a uncompressed file type, i.e. TIFF or BMP.

Step 5 - Make Proportional symbol map for Europe's internet users

You've done all the work of customizing the ArcMap layout, do File -> Save As... and save a copy of this map layout as "Europe Internet Users 2". Change the symbology of Europe to use proportional circles this time. Yes, there are two methods of "proportional" symbolization (see Slocum Ch 16, Proportional Symbols for details). Essentially this method incorporates a directly scaled radial distance or area. You cannot classify the data as you have before, and you are limited as to how to manipulate the size differences. The advantage of this symbolization method is that it is directly tied to the data values.

Step 5.1 - Unnormalized

With the copy of the first map you have open now change the symbology of Europe so as to use Proportional symbols. Use Centimeter units for the radius and do not use any Normalization.

Save the map layout.

Step 5.2 - Normalized

Now do File -> Save As ... with this ArcMap layout again and save this a "Europe Internet Users 3". For this map change the symbology so as to normalize the INTERNET by POP. The radius of the proportional circles will now be based on a metric of these two fields (one divided by the other, Internet users vs. total population). Change the Unit: parameter to Unknown Units. and click OK and Apply.

Caution is warranted when using normalization with proportional circles. I've been told by a certain cartographer that it is a "cartographic no no" to do this, but with related variables that are necessarily correlated (more people = more internet users) this representation reveals an interesting pattern. The Northern countries of Europe tend to have a higher percentage of their populations online (look at Iceland for example, without normalization by population their "internet presence" is invisible).

Save the map layout and you're done, unless you do the following optional step. Email me your maps (please).

Step 6 (optional) - Make a proportional symbol map of another region's Internet Use

Now do the same thing for one of the other four regions (beginning at Step 1 of Part 2). Create two maps of your chosen region, one showing Internet Users with in Graduated Symbols and the other using Proportional Symbols. Caution: when you are using Exclude, it would be best to select an value that is best suited for the region you choose. The Exclude value used for Europe was determined based on using the Identify tool to click on the smaller countries to find a good Area value to exclude. You will also need to rescale your Symbol Size from: to:, use the same color scheme as the maps you've made for Europe. Also experiment with using GDP for normalization, but beware that this statistic does not correlate with INTERNET as well as you think it might. Does normalizing by Area make sense?

The End


recreated by jeff 5/18/05, last outdated 5/25/06