@priscellie: Welcome!
1. Filtering: use the “scaleRank” attributes. They are numbers from 0 to 9. Smaller values are more important than larger values.
2. Label placement: You can use a combination of scaleRank or population (there are a few columns, use pop_max) to get the text sizing. QGIS has some auto label options. The advanced label engine with the ABC on a diagonal blue line in the toolbar is your best bet (better than the layer properties auto label). The images on the site were custom made in Adobe Illustrator, a pro graphics design tool. An open source peer is Inkscape.
3. Have fun!
@Nathaniel: Thank you!
Concerning filtering, I’m still missing a step. What tool do I implement to filter based on the “scaleRank” attributes? Is this in Layer Properties (or some other setting GUI), or will I need to write a script to cull the unnecessary data?
In the layer properties window, general tab, query builder: you can make a filter for all the features visible.
If you want to set sizes based on scaleRanks, use the Labels tab there, Label based on “name”. You can use other features there to setup sized by class.