I have a CSV file like this:
csv file

I would like to do a weight overlay analysis for each column of the CSV and present it as a layer of the map of United States of America.

The final result should look like this map:
enter image description here

  • 1
    I'd import the csv through Layer->Add Layer->Add delimited text layer. If you have geometry, use it, otherwise get the corresponding Area shapefile from somewhere and perform a table join on the name (you might need to update the Area name column). Once that done, duplicate the layers (right click on it -> duplicate) until you have enough version to carry out the analysis you want to do. You need to add more details to your question if hope to obtain a more detailed answer (such as an example of the result you want to obtain).
    – Victor
    Dec 13, 2016 at 18:19
  • @Victor get shape file as xml and shp file , how can it can be joined with original csv file ?
    – uday
    Dec 13, 2016 at 19:42
  • You have to import the data as @Victor described. Than you can perform join tables by uniqe coresponding attribute in data. Joins menu is in vector layer properties, see QGIS Joins documentation
    – Oto Kaláb
    Dec 13, 2016 at 20:01
  • i imported the file and trying to join but i m getting NULL of all the columns joined frm csv file to the shapefile
    – uday
    Dec 13, 2016 at 21:47
  • Do you want your final unit of analysis to be counties or states? Dec 14, 2016 at 3:02

1 Answer 1


For the county shapefile, you can download from US Census. Use the 20m zip. Unzip and import into QGIS, call it counties

When you open the shapefile, you will notice that there is a column called STATEFP - that is the FIPS code. Each state has a unique FIPS code and you can find the key here.

What you'll need to do is copy these 52 codes and their corresponding state abbreviation (if you include Puerto Rico and Guam) into a spreadsheat. You should have two columns. Save this as a csv and import into QGIS as a delimited text layer - call it stateKey. Then, in your csv file with all of your demographic data - split the Area_name column using a comma separator which will create two seaprate columns - County Name and State Abbreviation. You can do this with the Data > Text to Columns in OpenOffice and there is a similar function in Excel. Then import all of your data into QGIS as a delimited text layer, call it data.

Now you will perform a few joins. First, you will join the stateKey to counties. Right click counties > properties > joins then join stateKey by the FIPS code and keep all columns.

Now you have a counties shapefile with state abbreviations.

Next, perform the same step, except this time join counties to data by state abbreviation. And voila.

Now you can classify the counties by whichever attribute you choose. For example. Right click counties > properties > style > graduated. Then you can choose the column which you want to visualize.

For more complex modeling, you could consult the Processing Modeler tutorial

  • my map became invisible when i changed style > graduated :(
    – uday
    Dec 14, 2016 at 7:21
  • under graduated, after choosing the column ,then you have to use classify and then hit apply Dec 14, 2016 at 7:23
  • it did that still map is not visible
    – uday
    Dec 14, 2016 at 7:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.