Root Mean Square Error of 2 raster layer in QGIS
Is there a method to calculate the RMSE between 2 raster layers in QGIS?
I have 2 point cloud files, 1 edited and the other not. After triangulation of each layer I have obtained 2 raster files.
I would like to find the RMSE in terms of their vertical height diff..
Is it possible to subtract one raster from the other and form a new raster and from export and calculate the RMSE in excel based on the z value?
qgis raster
add a comment |
Is there a method to calculate the RMSE between 2 raster layers in QGIS?
I have 2 point cloud files, 1 edited and the other not. After triangulation of each layer I have obtained 2 raster files.
I would like to find the RMSE in terms of their vertical height diff..
Is it possible to subtract one raster from the other and form a new raster and from export and calculate the RMSE in excel based on the z value?
qgis raster
If you're willing to switch to GRASS GIS, then there is the moduler.regression.lineto get the full set of linear regression coordinates between two rasters. This module is available in the Processing framework.
– Micha
Feb 18 at 10:39
add a comment |
Is there a method to calculate the RMSE between 2 raster layers in QGIS?
I have 2 point cloud files, 1 edited and the other not. After triangulation of each layer I have obtained 2 raster files.
I would like to find the RMSE in terms of their vertical height diff..
Is it possible to subtract one raster from the other and form a new raster and from export and calculate the RMSE in excel based on the z value?
qgis raster
Is there a method to calculate the RMSE between 2 raster layers in QGIS?
I have 2 point cloud files, 1 edited and the other not. After triangulation of each layer I have obtained 2 raster files.
I would like to find the RMSE in terms of their vertical height diff..
Is it possible to subtract one raster from the other and form a new raster and from export and calculate the RMSE in excel based on the z value?
qgis raster
qgis raster
asked Feb 18 at 6:04
BrianBrian
161
161
If you're willing to switch to GRASS GIS, then there is the moduler.regression.lineto get the full set of linear regression coordinates between two rasters. This module is available in the Processing framework.
– Micha
Feb 18 at 10:39
add a comment |
If you're willing to switch to GRASS GIS, then there is the moduler.regression.lineto get the full set of linear regression coordinates between two rasters. This module is available in the Processing framework.
– Micha
Feb 18 at 10:39
If you're willing to switch to GRASS GIS, then there is the module
r.regression.line to get the full set of linear regression coordinates between two rasters. This module is available in the Processing framework.– Micha
Feb 18 at 10:39
If you're willing to switch to GRASS GIS, then there is the module
r.regression.line to get the full set of linear regression coordinates between two rasters. This module is available in the Processing framework.– Micha
Feb 18 at 10:39
add a comment |
1 Answer
1
active
oldest
votes
WhiteBoxTools has RootMeanSquareError tool. QGIS 3.x can access WBT through WhiteBox for Processing plugin. Definitely worth a try.
Unfortunately this RootMeanSquareError tool did not work for me when I tested it in my environment (QGIS 3.4.4 on Windows10). So let me suggest another approach, using R through Processing R Provider plugin.
You will need to install R and Processing R Provider plugin, but its setup is really easy.
Then click on big R icon on top of the Processing Toolbox panel, to activate Create New R Script.
In the blank window, please copy and paste texts below:
##Raster Analysis=group
##Input_Raster= raster
##Base_Raster= raster
##Raster_Statistics= output table
delta <- (Input_Raster - Base_Raster)^2
RMSE <- sqrt(cellStats(delta, 'mean'))
Result <- data.frame(rbind(RMSE), row.names= c("RMSE"))
colnames(Result) <- c("Stats")
Raster_Statistics <- Result

If you click on green triangle icon (Run Script) you will get a new window. Assign each of your raster layer to Input Raster and Base Raster and run the tool.

It will add a new table layer Raster statistics with the calculated RMSE. Open its attribute table to see the result.

add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "79"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f312595%2froot-mean-square-error-of-2-raster-layer-in-qgis%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
WhiteBoxTools has RootMeanSquareError tool. QGIS 3.x can access WBT through WhiteBox for Processing plugin. Definitely worth a try.
Unfortunately this RootMeanSquareError tool did not work for me when I tested it in my environment (QGIS 3.4.4 on Windows10). So let me suggest another approach, using R through Processing R Provider plugin.
You will need to install R and Processing R Provider plugin, but its setup is really easy.
Then click on big R icon on top of the Processing Toolbox panel, to activate Create New R Script.
In the blank window, please copy and paste texts below:
##Raster Analysis=group
##Input_Raster= raster
##Base_Raster= raster
##Raster_Statistics= output table
delta <- (Input_Raster - Base_Raster)^2
RMSE <- sqrt(cellStats(delta, 'mean'))
Result <- data.frame(rbind(RMSE), row.names= c("RMSE"))
colnames(Result) <- c("Stats")
Raster_Statistics <- Result

If you click on green triangle icon (Run Script) you will get a new window. Assign each of your raster layer to Input Raster and Base Raster and run the tool.

It will add a new table layer Raster statistics with the calculated RMSE. Open its attribute table to see the result.

add a comment |
WhiteBoxTools has RootMeanSquareError tool. QGIS 3.x can access WBT through WhiteBox for Processing plugin. Definitely worth a try.
Unfortunately this RootMeanSquareError tool did not work for me when I tested it in my environment (QGIS 3.4.4 on Windows10). So let me suggest another approach, using R through Processing R Provider plugin.
You will need to install R and Processing R Provider plugin, but its setup is really easy.
Then click on big R icon on top of the Processing Toolbox panel, to activate Create New R Script.
In the blank window, please copy and paste texts below:
##Raster Analysis=group
##Input_Raster= raster
##Base_Raster= raster
##Raster_Statistics= output table
delta <- (Input_Raster - Base_Raster)^2
RMSE <- sqrt(cellStats(delta, 'mean'))
Result <- data.frame(rbind(RMSE), row.names= c("RMSE"))
colnames(Result) <- c("Stats")
Raster_Statistics <- Result

If you click on green triangle icon (Run Script) you will get a new window. Assign each of your raster layer to Input Raster and Base Raster and run the tool.

It will add a new table layer Raster statistics with the calculated RMSE. Open its attribute table to see the result.

add a comment |
WhiteBoxTools has RootMeanSquareError tool. QGIS 3.x can access WBT through WhiteBox for Processing plugin. Definitely worth a try.
Unfortunately this RootMeanSquareError tool did not work for me when I tested it in my environment (QGIS 3.4.4 on Windows10). So let me suggest another approach, using R through Processing R Provider plugin.
You will need to install R and Processing R Provider plugin, but its setup is really easy.
Then click on big R icon on top of the Processing Toolbox panel, to activate Create New R Script.
In the blank window, please copy and paste texts below:
##Raster Analysis=group
##Input_Raster= raster
##Base_Raster= raster
##Raster_Statistics= output table
delta <- (Input_Raster - Base_Raster)^2
RMSE <- sqrt(cellStats(delta, 'mean'))
Result <- data.frame(rbind(RMSE), row.names= c("RMSE"))
colnames(Result) <- c("Stats")
Raster_Statistics <- Result

If you click on green triangle icon (Run Script) you will get a new window. Assign each of your raster layer to Input Raster and Base Raster and run the tool.

It will add a new table layer Raster statistics with the calculated RMSE. Open its attribute table to see the result.

WhiteBoxTools has RootMeanSquareError tool. QGIS 3.x can access WBT through WhiteBox for Processing plugin. Definitely worth a try.
Unfortunately this RootMeanSquareError tool did not work for me when I tested it in my environment (QGIS 3.4.4 on Windows10). So let me suggest another approach, using R through Processing R Provider plugin.
You will need to install R and Processing R Provider plugin, but its setup is really easy.
Then click on big R icon on top of the Processing Toolbox panel, to activate Create New R Script.
In the blank window, please copy and paste texts below:
##Raster Analysis=group
##Input_Raster= raster
##Base_Raster= raster
##Raster_Statistics= output table
delta <- (Input_Raster - Base_Raster)^2
RMSE <- sqrt(cellStats(delta, 'mean'))
Result <- data.frame(rbind(RMSE), row.names= c("RMSE"))
colnames(Result) <- c("Stats")
Raster_Statistics <- Result

If you click on green triangle icon (Run Script) you will get a new window. Assign each of your raster layer to Input Raster and Base Raster and run the tool.

It will add a new table layer Raster statistics with the calculated RMSE. Open its attribute table to see the result.

answered Feb 18 at 11:06
KazuhitoKazuhito
15.9k41882
15.9k41882
add a comment |
add a comment |
Thanks for contributing an answer to Geographic Information Systems Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f312595%2froot-mean-square-error-of-2-raster-layer-in-qgis%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
If you're willing to switch to GRASS GIS, then there is the module
r.regression.lineto get the full set of linear regression coordinates between two rasters. This module is available in the Processing framework.– Micha
Feb 18 at 10:39