Threat raster preparation, acceptable values

Hello, I am Dongyoung, a student living in Korea.
This time, I would like to derive simple results using the invest quality model.
I tried to follow the guide on the example file and the homepage as much as possible, but I found some differences between the example file and my file in the middle and tried to correct it, but I don’t know what to do, so I’m inquiring. I’ll attach the file and the result I work on. Can you check and give me feedback? Thank you.
dongyoung_question.Zip (1.3 MB)

Hello @sonagidong, and welcome!

Would you please describe the problem you’re seeing? I’m looking at your data, the model appears to have run successfully, and the results look reasonable to me, based on the input data. If I’m understanding the land use codes correctly, agriculture areas have relatively high habitat quality, probably because they have a relatively low sensitivity. So I don’t see an obvious issue with the results.

~ Stacie

Hello, thank you for your response!
I think there are three problems with my file.

  1. In the example file, the Threats file band is set to 0-1, but if I set it, it is set to 1-1.

  2. In the example file, the risk factor is set to 1 and the non-risk is set to 0.
    If you look at that Leicester file, the risk is set to white in the band, and black in what is not.
    However, the file I made has a black risk factor.
    In other words, in the example file, the risk factor is white, but my file comes out in black.
    I think it’s a problem with the process, so I did vectorization the example file for comparison and then rasterization again, but this also comes out as 1-1, and the risk factor designated as 1 comes out in black. Please advise on this…

  3. If you look at the example file of the Current Landcover, the band is categorized as pallets/unique values. I wanted to try it, too. I wanted to specify all the colors, change the name, and classify the property file, but it cannot be modified as in the example, and even if I save it, it will go back to its original state. I have no choice but to apply it to the investment program as it is, so the result will come out. Then, do I not have to classify this attribute file?

Maybe I’m thinking this because of my lack of understanding of GIS. I’ll be waiting for your response. Thank you!

Don’t the things I asked affect the results? @swolny

Sorry for the slow response @sonagidong, everyone at NatCap is frantically preparing for our symposium next week.

For your questions 1 and 2, I see what you mean about the threat rasters only having values of 1 where there are threats, and the non-threat pixels are NoData, when the User Guide says that the non-threat pixels must have a value of 0, not NoData. You can use a GIS tool like Reclassify (QGIS also has a tool called “Fill NoData cells”) to change the NoData pixels to 0.

However, I’m not sure why the model results come out looking ok if the threat rasters do not have 0 values in the background when that is supposed to be required. Can anyone in the software team speak to this? @esoth @jdouglass @dave ?

For question 3, are you using QGIS or ArcGIS? Your input data (which includes QMD files) indicates that you’re using QGIS. One of the frustrating things about QGIS is that it still does not support raster attribute tables, where ArcGIS does. So the only way that you can show the land cover text names is to add them to the raster’s symbology table. If you’re using ArcGIS, then you can edit the raster’s attribute table, add a text file with the land cover name, and use that field to symbolize.

While having the text names is necessary for us to understand the map, InVEST does not require them. The only thing that’s required is the Value column with the unique integer values, which correspond to the “lulc” values in the sensitivity table.

~ Stacie

From what I’m reading in the model’s source code, there is a distinction between what is allowed and what is sensible for the study area.

As for what is allowed, the model does check that all non-nodata thread pixel values are in the range [0,1], but the model does not require there to be pixels with a value of 0. The InVEST euclidean distance transform looks for threat values that are exactly 1 when calculating the distance to the nearest pixel.

Having said that, there are several places in the model where a mutual mask is used, so to make sure that the appropriate regions are being included in your output areas, I strongly recommend having non-nodata values of 0 in your threat values that represent where the threats are not. That way you should make sure that the outputs are sensible.

Anyways, hope this helps!