0

I want to create a map of India showing 30 districts that have the highest COVID-19 cases as of 31 December 2020 using QGIS. I marked the 30 districts and added the CSV file to this layer. I want to create a proportional symbol according to cumulative confirmed cases, but not with discrete values, but for specific ranges because the number of cumulative cases ranges from 55000 to 6 lakhs. I searched for the "Assistant' option in the 'size' section in the 'Properties' of the point. But in the input menu I am not able to give the source. It doesn't show anything for selection.So if I apply my changes, it is displaying graduated symbols not proportional symbol.

How can I solve this? Why does the input menu display nothing? I want to gave the column name of the confirmed cases in the csv file in that section. But it shows nothing. enter image description here

enter image description here attribute table of csv file enter image description here

layer panel screenshot enter image description here

screenshot of csv file with header missingenter image description here

7
  • Welcome to Geographic Information Systems! Welcome to GIS SE! We're a little different from other sites; this isn't a discussion forum but a Q&A site. Your questions should as much as possible describe not just what you want to do, but precisely what you have tried and where you are stuck trying that. Please check out our short tour for more about how the site works
    – Ian Turton
    Apr 20, 2021 at 14:24
  • 1
    does gis.stackexchange.com/questions/353318/… help?
    – Ian Turton
    Apr 20, 2021 at 14:26
  • yes I tried and I am stuck with the Input source in the option menu, I am not able to gave the input source in that menu,This is where I am stuck with.I clearly explained it,Then what is the problem?
    – Letitbe
    Apr 20, 2021 at 14:30
  • Which input source in which option menu? may be a screen shot would help
    – Ian Turton
    Apr 20, 2021 at 14:31
  • Please also provde example data.
    – Erik
    Apr 20, 2021 at 14:33

2 Answers 2

1

Check that the field is numeric. If it's a string, you can't use it.

You have 2 layers, a point layer an a table layer. The Table layer (20cities) has no geometry. The points layer probably has no attributes. You can either:

  1. Join the 2 layers, if necessary (harder)
  2. Just use the 20cities layer, as it has lat and long columns (that have not been imported as feature geometries). Set the geometry properly, by importing the table again, but make sure you set the 'long' column as the X field of the point feature geometry, and 'lat' as the Y field, as shown below (mine are Latitude and Longitude, which QGIS recognises automatically - you can change 'lat' and 'long' in your CSV file to Latitude and Longitude to see this automatically, or just manually select them).

enter image description here

12
  • No sir, did you mean the datatype of that column I checked it is float 64 that is in numeric.So I think it is not the issue.
    – Letitbe
    Apr 20, 2021 at 17:18
  • And have you try to do it with the "graduated" styler. It is possible to use point size as the graduation and any field. Check the attribute table to see if it the same data you have in excel. Apr 20, 2021 at 22:53
  • Can you open the CSV data as a table in QGIS, instead of Excel? Screen shot will help. Show us the QGIS layer panel as well. Maybe you have no geometry.
    – wingnut
    Apr 21, 2021 at 1:51
  • When I apply the above changes,putting the 'input source' space as empty,I will get the points in 'graduated style'.It is working.for graduated style no issues.@Corentin Lemaitre
    – Letitbe
    Apr 21, 2021 at 5:20
  • I will add the screenshot of attribute table of csv file and layer panel in question section @wingnut
    – Letitbe
    Apr 21, 2021 at 6:35
0

To use size of the point based on a field you can only choose a field that contain number. When you do import your data from CSV QGIS choose the data type for every column. If the column contains anything that is not a number then all the colum would be considered as text.

You have a solution that will work without doing again the import csv process. You can click on the epsilon sign to open expression toolbox, it will help you make the formula to transform your data to integer type.

The expression toolbox have in the rigth side the function you can use and the decription. In the section field and values you will find the list of the field in your dataset, double click on the field you want to use to add it in the left panel.

Then you can adapt the formula in the left panel to get this kind ofresult try ( to_int ("MY_FIELD"),0)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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