3

I have data for residential house sales in 2010 within England and Wales.

I've added x,y coordinates to the dataset enabling me to plot ~500,000 points across the country. From that I styled it into a heatmap which looks fantastic. Unfortunately the render always looks the same, despite changing the attribute by which points are weighed. Longitude is the only attribute where the map changes the weighting of points. See first 3 screenshots below

The task is to create a heatmap with points weighed by house sale price, not by abundance/concentration.

enter image description here enter image description here enter image description here

Interestingly if I use the interpolation plugin, lat (y) and long (x) attributes are the only ones which I can select. Same goes for the Heatmap plugin.

enter image description here

Finally, here is a list of my attributes. Is there an issue with the way I convert my excel work book into a tab deliminated text layer?

enter image description here

  • 3
    your prices are strings - convert them to doubles/ints – Ian Turton Apr 21 '17 at 15:01
  • 1
    What about creating a new double field and copying the values from the Transfer Price field over? That way, you can use the price values in your interpolation. You could use an expression in the Field Calculator to copy the values over (especially if you need to do some string manipulation). – Joseph Apr 21 '17 at 15:01
  • @Joseph I've created a new field and tried copying the values across with the expression "Transfer Price" but I just get 'null' in every row of my attribute table. Clearly my expression is wrong. What aught I use instead? – James B Apr 21 '17 at 16:08
  • @JamesB Do the values in your "Transfer Price" happen to include a symbol (ie. $) that it's having trouble converting? – JohnR Apr 21 '17 at 17:57
  • @JohnR Thanks for the help - the heatmap works now. I had a thousands separator in my price data in excel which I took out before converting to tab deliminated. Is there a way to bring that comma back into my data whilst keeping it as an integer? Perhaps adding a £ sign as well could be nice. No big deal if that's not possible. – James B Apr 24 '17 at 8:42
1

In order for the heatmap to quantify using the Transfer Price, you'll need to first convert it from Text/String into a column with a suitable type (Integer/Double).

If there are no special characters in the original Transfer Price field (the system cannot convert special characters into their corresponding digit), you can easily use Field calculator to create a new Integer/Double field and use the original values to populate the new field.

TextPrice is the field with the numbers in Text Format

If you do have special characters in your original field, you're likely to see 'NULL' values in your new Integer/Double field. You'll have to find a suitable way of stripping those from your data before they can be copied over into the new field. You should be able to accomplish this either by manipulating your original data, or using an expression to scrub the data as it's transferred over to the new field, using something like: substr(regexp_replace( "TextPrice", ',', ''),2,10) (This assumes you are scrubbing a currency text string, such as £1,234)

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.