University of Portsmouth Department of Geography
MSc in Geographical Information Systems
MapInfo Practical Three
A GIS of the USA for Hurricane Assessment
As before the data is on Moodle or the K:\ drive
Please copy these files into your own n:\ drive space before using them
from the n:\drive.
If you prefer to use an alternative storage medium, such as a USB Data Stick
then please do so but remember that the drive address letter will be different.
Don’t forget that you may need to reset the properties for the files from Read
only so that you are able to edit the tables when you need to. You will need to do
this using Windows Explorer — select all the files — right mouse click — properties
and then make sure that you uncheck the setting for “read only”.
Open the table US_Cnty.tab
This will give you a mapwindow looking like this. Zoom out and you will see that
this map shows the counties for the whole of the USA. Use the Info tool to
examine the data that is attached to each county.
Open a Browser Window for the table as well.
You will see that the map data layer only contains the County name, the State ID
letters and the FIPS code for that County. So, there is not a great deal of
information that we could use directly in a GIS, however, because there is the
FIPS Code present we can use this to attach more data to the data table just as
we did in the previous practical.
Open the tables C2K_ABI.TAB and C2K_PHH.TAB
Examine the contents of these tables. You will find that they have 3141 records in
each table and that they have lots and lots of columns of data which have rather
cryptic column titles so that you don’t really have much idea of what each column
of data means. Also I expect that you will notice that neither of these tables is
mappable – this is because they do not have a map attached to them as they are
just lists of data.
In the folder you will also find an Excel spreadsheets which has been provided to
give you some information about the data content of the tables C2K_ABI.TAB and
In Microsoft Excel open the Excel file DEMOGRAPHICS_2K.xls
You will see that this spreadsheet contains two separate worksheets
ABI_DICTIONARY and PHH_DICTIONARY which are accessed via the tabs at the
bottom of each sheet. These give longer versions of the titles that have been
given to the columns in the two MapInfo data tables C2K_ABI.TAB and
Have a look at this data and try to understand what it means. There is a huge
amount of data here. We can find out about educational achievements, ethnicity,
family income, age and income and so on.
Remember to “look hard at the data” as this will help you understand what the
data means and should give you a general idea of what information you might be
able to produce with some GIS maps.
For this practical exercise we just need to know the total population for each
County and the number of elderly people in each County. The data sets do not
hold the total number of people as a single column but the C2K_PHH.TAB file
does have the numbers broken down by age group and we can use these to
create the total population figure by adding them together.
Because this will be a useful field of data for other investigations – anything
where you wish to calculate one variable as a proportion (percentage) of the total
population – it would be a good idea to keep this permanently attached to the
data table. Hence we shall add a new permanently saved column to the table. It
would be possible to just use an on-the-fly calculation to work it out each time,
there by only temporarily storing the data, but it will probably prove to be easier
to have the data available directly from the table as a permanently saved column.
Consequently, we shall create a new column into which we will put the total
population figure calculated from the data for each of the age bands.
As with previous exercises the first task is to add a new column into which we can
put the total population data.
Go Table – Maintenance – Table Structure
Select the table US_Cnty.tab (The Map)
Add a new field called Total_Pop
Make this an Integer field type
Don’t forget that the map will disappear at this point however, it is still there, it is
just that the Map Window has closed down while the change to the database is
being made. Open a new MapWindow so that you can see the map once more.
The second stage in the process used to and the total population data into the
new column using the table update column routine we have seen in previous
Now add the data to this new field. This will be a bit more complex than in the
last practical as we are going to add together several columns from one table and
put the resultant figure into the new column.
Go Table – Update Column
Set up the dialogue box like this and in the new box that appears when you set
the of: box to Expression… use the columns drop-down list to fill in the
expression along these lines:-
P0TO52K + P6TO132K + P14TO172K + P18TO202K + P21TO242K + P25TO292K
+ P30TO342K + P35TO392K + P40TO442K + P45TO492K + P50TO542K +
P55TO592K + P60TO642K + P65TO692K + P70TO742K + P75TO792K +
P80TO842K + P85OVR2K
It is easy to make a mistake with this so BEFORE you press the OK button I
suggest that you highlight the text in the expression box and use Control-C
(Keyboard keys to copy the text) to copy the text to the windows clipboard and
paste it into Notepad or Word so that you can check that it is correct. (The reason
for copying and pasting the query from the dialogue box into Notepad or Word, is
that it is much easier to see all of the text in a bigger page area than the tiny
space which is available from the dialogue box itself.) Once you are absolutely
sure that it is totally correct you can copy and paste this back into the expression
dialog box. The use of copying and pasting should ensure that the text you put
back into the dialogue box is exactly the same as the text you checked in
Notepad or Word.
An additional note should you like to try other methods.
Incidentally, you could write the expression in Notepad in the first place and
paste it into the SQL dialogue box. You could copy it directly from the .pdf version
of this practical available on the Moodle site, which would save you having to type
in the expression. (Additionally, you would know that it was free from errors —
always assuming that I got it right in the first place.)
Or if you are even more adventurous, you could open the MapBasic Window and
paste the whole SQL directly into it and press return to make it run. (Options –
Show MapBasic Window,) This will open a window at the bottom of the screen
which will show the MapBasic code that MapInfo is writing from the menus that
you are running – including the SQL Query. This offers a method of speedily
carrying out repeated operations without using the menus each time. I strongly
recommend that you have a look at this and try and work out how it might be
useful to you in the future.
Continuing on with the practical
When you are happy that you have the SQL correctly set up press Verify and it
should tell you that the syntax is correct. If it doesn’t, there is probably a
problem with the SQL code which will need to be sorted out. The chances are
that this will be a simple miss-typing error.
Go OK and it should add the expression to the Update Column dialogue box.
Check the rest of the settings again before you press the okay button as you
need to make sure that the settings have not inadvertently changed.
Run the expression by going OK.
Hopefully that worked okay and you have a table that looks like this.
Don’t forget to SAVE the table.
Adding another column for total population over 70 years of age
Next step is to add the number of elderly people to a new column so go back
through the previous steps and make a new column for Over 70 years of age.
This just needs this expression:-
P70TO742K + P75TO792K + P80TO842K + P85OVR2K
Don’t forget to SAVE the table.
Hopefully the table now looks like this.
The historical hurricane dataset for the USA
Now we can get on with looking at the potential population at risk from a
Open the table Hurricanes.tab
This table contains the tracks of hurricanes in the USA from 1851 to 1999. Each
hurricane is made up of several sections each of which holds data about the wind
speeds over that part of the hurricane’s track. Have a really good look at this
data set. There is much that you could do with it. Try to ascertain how the data is
constructed. Use the Information tool and the Browser Window to have a look at
the data contents and use the Select tool to examine the structure of each of the
hurricane tracks. Try out some queries to see how many hurricanes occurred in
any particular year.
You will need to use the SQL select dialogue and the drop-down menus for
“Table” and “Column” to populate the “where Condition” with the year you wish
to find out about. Try this out for several different years and look at the track of
the hurricanes crossing of the USA. Hint — you might find it very useful to have a
USA coastline/state map as a base map which will help you to visualise where
these hurricanes have travelled.
Selecting the single hurricane that we are going to work with for the
We will just select one of the hurricanes and use this to illustrate what we can do
with our GIS.
Go Query – SQLSelect
This should select 53 records – the 53 sections which make up the track of
hurricane Hazel from October 1954.
The best thing to do with this selection is to save it as a separate new table so
that it is easier to manage.
Go File – Save Copy As – and save the table as Hurricane_Hazel.tab
It might be a good idea to close some of the tables that you have open as it may
well be becoming a bit confusing. You need to keep open the
US_Cnty_Tot_Pop.tab but everything else can be closed using the File – Close
Now open the table that you made containing just Hurricane_Hazel
You will see that it cut across the eastern part of the USA.
Now let’s make a thematic map of the track indicating the wind speeds for the
hurricane. Remember that the different sections of the track hold the wind speed
data and we can use this to create thicker lines for the higher wind speeds.
Go Map – Create Thematic Map –
Use Line Ranges — Varying Width
Then click on the styles button in the top right-hand corner of this dialog box.
When the next dialog box appears click on options.
Now set up the dialog box with your choice of line colour and Auto Spread Style
By — I would probably use square root although you should experiment with
constant and log just to see what they do. You never know, one of these might
prove to be more effective at displaying the data. This should automatically make
the lines thicker for the highest wind speeds and thinner for the slower ones.
Hopefully giving something like this.
You can see at a glance that the hurricane had some very high winds across the
sea and they were still very strong when it crossed the coast of the US mainland
and they continued to be very strong quite some distance inland.
Now let’s work out how many people would be affected if a hurricane of similar
track went through the USA in 2000.
Initially, we shall assume that it has a diameter of 300 miles and that people
within 150 miles of the eye of the storm would be significantly affected. (If you
like you could do some research on the web to see if this is a reasonable estimate
for the radius of the storm.)
Go to the Layer Control and make the Cosmetic Layer Editable
Go Query SQLselect and select all the records from Hurricane_Hazel
Go Objects – Buffer and set the dialogue up as per this:-
This creates a 300-mile wide buffer zone around the hurricane track. Notice that
the buffer appears wider in the North than the South. This is due to the map
projection not giving an equal area appearance to all latitudes. This might, or
might not, be a problem for the final map depending upon its intended use and
the nature of the view. (For example, as the hurricane hazard covers just the
eastern seaboard of the United States we might well want to zoom in to the
affected area as this is much more important than say, California which is
thousands of miles away from the track of hurricane Hazel.)
With this buffer zone we can calculate the total population affected potentially by
a hurricane advancing across the USA along this track.
Save the buffer zone as a permanently saved table. Map – Save Cosmetic Objects
-New – (call it) Hazel 300 mile zone
The next stage is to use this new buffer zone table as an object in the GIS which
can select other data or objects from other map data layers. In other words we
can use it to select all of the counties which intersect or fall completely within the
300 mile wide hurricane track.
This is achieved using the SQL Query dialogue…
First make sure that the SQL Query dialogue is empty – if not use the Clear
Next move is to add the tables that we are going to interact. Make sure that
these tables are open – they should be already. Add the tables to the dialogue by
using the drop-down list on the right (Tables). Put the US_CNTY_tot_pop table in
first and the one with the Hazel 300 mile zone in second. This should result in the
dialogue automatically filling in the query (where condition) for you. It doesn’t
always get this right so it is wise to check it out.
Having done this you need to set up the Select Columns box as this will control
the reporting of the result. We want to know the total number of people
potentially affected by the storm track so we want a Sum of the Tot_Pop field.
You can use this box to report a wide range of different results. (Try to
experiment at some stage)
I got a result of 42191277
Now I think that you can see that we should be able to carry out some very
sophisticated analysis using the data in the tables.
Try changing the Contains operator in the Where Condition box to Intersects and
see what the difference is.
I got 46583154 – about 4 million more than before. This time the buffer has
selected all counties that intersected with the buffer even if it was only a small bit
Think about which result may be the most accurate?
Try out some other parameters.
Why not find out how many over 70 year olds would be affected. Can you
determine which affected county has the greatest number of over 70 year olds?
Which has the greatest proportion of its population over 70 and would probably
need the greatest level of assistance?
Can you add the data for young children?
How could you create an index of vulnerability for each county based upon the
proportion of elderly in the general population combined with the proportion of
young children? A high percentage of elderly combined with a high percentage of
young children could be seen as representing a relatively vulnerable population.
Do you think this would be a fair and appropriate method of making an
assessment of a US county’s ability to deal with a hurricane storm event?
This practical is a formative exercise and does not count towards the
final summative mark for the Unit.
Make an A4 map which shows the affected area and give the figures for the
potentially affected population. The map is going to be used to persuade
politicians of the need to spend money and make contingency plans.
You should add a scale bar (in miles as it is the USA) and a North Arrow. You will
also need a legend and a title.
Please bear in mind the purpose that the map is being made for. The way that
you present the data is an important aspect of the work and can dramatically
influence the way in which your audience receives the message. You need to be
clear about what your message is and what information you audience should
receive from looking at the map.
Task extension – You don’t have to do this bit but if you are looking for a
Okay, this GIS is giving us some useful information but we could make it more
sophisticated by creating separate buffer zones for the different wind speeds. In
this way we would be able to differentiate between the population that might be
at the highest risk and those that may only suffer from relatively minor damage.
We could also change the buffer size to reflect the lessening power of the
hurricane as it tracks across the USA. What settings might you use? How might
you find out what would be useful?
Select all of the records from Hurricane Hazel and then use the buffer tool to
create a new buffer but this time instead of setting it for “one buffer of all
objects” set the dialogue box to “one buffer for each object”. This should create a
set of separate buffer zones around each of the wind speed sections which
comprise the line which shows the track of hurricane Hazel. They should be 53 of
Using the SQL select dialog box experiment with how you can explore the data.
Concentric Ring Buffer tool – Very useful
You could also try out the concentric buffer tool available as a MapBasic
application under the tool manager menu. This allows you to create buffer zones
of different widths around a single object. In the case of assessment of hurricane
damage zones this may be useful as it would allow even finer selection of the
population at highest risk.
Notice the Calculate Ring Statistics button at the bottom of the dialogue. Press it
and you can get lots of info automatically including graphs!
This is the stats output
Think about the areas that are reported here – are they correct? What area do
they refer to? How could you find out the area of US counties affected? Could you
list the affected counties in each category?
How could you best report this to the politicians?
In order to calculate the correct areas across the landmass that would be affected
you could clip the ring buffers to the USA mainland coastline. To do this you need
a USA coastline which is a single polygon without any interior divisions. You could
use the USA as it is displayed in the World table but this is not a particularly good
map and the edges of the clipped concentric ring buffers would not line up exactly
with the Counties map. However, you can make a suitable data layer by opening
the States table – making a copy of it – closing the States table and opening the
copy of it that you just made. Next you need to make the layer editable and then
select all of the states and then use the Objects menu and do Combine – you
don’t need to keep any data so just tick the No Data box. Hopefully, this will
remove all of the internal States boundaries leaving just the outer border.
Next stage is to work on a copy of the ring buffers table (so that you don’t
destroy the original). You need to make the layer editable select all of the rings
then Go – Objects – Set Target then select the USA coastline table that you have
made. Go – Objects – Erase Outside and set the desegregation method to Blank.
This will create a set of ring buffers that only cover where they cross the land
area of the USA. You will then need to manually update the data in the fields as
this will no longer be correct. This is done using the Table – Update Column menu
– the calculations will take some working out! Good luck with them.
Don’t forget that there is a great deal more that you can do with the data in the
two files that we began this practical with. Also why not have a look at the
possibilities that are presented by the Airports table (Rwys_1.tab available on the
K:\ drive) and the Places file which has points and population for 23435 places in