Skip to Content
Mapping Hacks
book

Mapping Hacks

by Schuyler Erle, Rich Gibson, Jo Walsh
June 2005
Intermediate to advanced
568 pages
24h 7m
English
O'Reilly Media, Inc.
Content preview from Mapping Hacks
Map Numerical Data the Easy Way #83
Chapter 7, Names and Places
|
419
HACK
The following Python code harvests the population data by downloading the
page and scraping the HTML. The output is, interestingly, another Python
script, which contains the population growth values and can be imported
into yet another Python script to generate the imagery. A more advanced
version of this hack might save the data in a database somewhere for later
use, but…this is a hack, after all:
import urllib
res = [ ]
html = urllib.urlopen('http://www.cia.gov/cia/publications/factbook/fields/
2002.html').read( )
for tag in html.split('class="CountryLink">')[1:]:
country, tag = tag.split('</a',1)
growth = tag.split('class="Normal">',1)[1].split('%')[0].strip( )
if growth[0]= ='N': growth = None
else: growth = float(growth)
res.append( [country,growth] )
print "countryList = %s" % `res`
Note the use of the backticks in the last line, which causes Python to pro-
duce the representation of the associated list in Python code. We save the
Python code generated by this script as countryList.py:
$ python getCountryList.py > countryList.py
Tying It All Together
Now, fire up your favorite image editor, load a world map with countries on
it, and give country
i in the produced list RGB color (i, 255 - i, 238). Yes, it
might take some time, and each country needs to be done in the exact order
it’s listed in your data set, but the task
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

GeoServer Cookbook

GeoServer Cookbook

Stefano Iacovella
Leaflet.js Essentials

Leaflet.js Essentials

Paul Crickard III

Publisher Resources

ISBN: 0596007035Purchase LinkErrata PageOther