How to extract the maximum value from an array in the QGIS Field Calculator? The Next CEO of Stack Overflowcalculate value using maximum value from different feature classPopulating field with max M value of feature using Python in ArcGIS Field Calculator?Removing return/newline (n) character from Field using Python and Field Calculator?How to use the field calculator's centroid() Geometry function in qgis 2.0?Field Calculator - replace string function - data value recognised as a column and is “not found”How to Populate new field using expression containing MAX value from another field in ArcGIS attribute table using field calculator?How to populate a text field with double quotes using field calculatorPopulating attribute table string field with values from long field using vbScript in ArcGIS Field Calculator?Field Calculator error: “calculated value is invalid”Calculate maximum value from a subset of fields ending with a standard suffix
Why doesn't UK go for the same deal Japan has with EU to resolve Brexit?
"Eavesdropping" vs "Listen in on"
Does regularization penalize models that are simpler than needed?
Expectation in a stochastic differential equation
Can I use the word “Senior” as part of a job title directly in German?
How to count occurrences of text in a file?
Does destroying a Lich's phylactery destroy the soul within it?
Reference request: Grassmannian and Plucker coordinates in type B, C, D
Is there a difference between "Fahrstuhl" and "Aufzug"?
Is there an equivalent of cd - for cp or mv
Is it ever safe to open a suspicious HTML file (e.g. email attachment)?
Is wanting to ask what to write an indication that you need to change your story?
How did Beeri the Hittite come up with naming his daughter Yehudit?
My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?
What can the phrase “is embedded in a whale of a bill” mean?
What was the first Unix version to run on a microcomputer?
Expressing the idea of having a very busy time
Inexact numbers as keys in Association?
Calculate the Mean mean of two numbers
Ubuntu - "sudo iptables" command works in terminal, doesn't work in bash script
Which one is the true statement?
Is "three point ish" an acceptable use of ish?
Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis
Why the last AS PATH item always is `I` or `?`?
How to extract the maximum value from an array in the QGIS Field Calculator?
The Next CEO of Stack Overflowcalculate value using maximum value from different feature classPopulating field with max M value of feature using Python in ArcGIS Field Calculator?Removing return/newline (n) character from Field using Python and Field Calculator?How to use the field calculator's centroid() Geometry function in qgis 2.0?Field Calculator - replace string function - data value recognised as a column and is “not found”How to Populate new field using expression containing MAX value from another field in ArcGIS attribute table using field calculator?How to populate a text field with double quotes using field calculatorPopulating attribute table string field with values from long field using vbScript in ArcGIS Field Calculator?Field Calculator error: “calculated value is invalid”Calculate maximum value from a subset of fields ending with a standard suffix
I'm trying to get the maximum value from an array, using the max() function. The syntax for the max() function is this:
max(value1,value2…)
I have an array: [ 1, 2, 3, 4, 5, 6, 7, 8 ] which I got by using this expression:
array_remove_all( array_agg( "fieldname"), maximum("fieldname"))
I need to obtain the maximum value from the array, but the max() function doesn't work. When I calculate the max() of the array, it gives this error:
Eval Error: Cannot convert '' to double
I can convert the array to a string using the array_to_string() function. When I calculate the max of the string version of the array, it gives this error:
Eval Error: Cannot convert '1,2,3,4,5,6,7,8' to double
So it seems the max() function can't accept an array or a list in string format as input. I also tried the maximum() function, with similar lack of results. I don't see any other function in the Field Calculator for finding the maximum value
How to extract the maximum value from an array in the Field Calculator?
qgis field-calculator
add a comment |
I'm trying to get the maximum value from an array, using the max() function. The syntax for the max() function is this:
max(value1,value2…)
I have an array: [ 1, 2, 3, 4, 5, 6, 7, 8 ] which I got by using this expression:
array_remove_all( array_agg( "fieldname"), maximum("fieldname"))
I need to obtain the maximum value from the array, but the max() function doesn't work. When I calculate the max() of the array, it gives this error:
Eval Error: Cannot convert '' to double
I can convert the array to a string using the array_to_string() function. When I calculate the max of the string version of the array, it gives this error:
Eval Error: Cannot convert '1,2,3,4,5,6,7,8' to double
So it seems the max() function can't accept an array or a list in string format as input. I also tried the maximum() function, with similar lack of results. I don't see any other function in the Field Calculator for finding the maximum value
How to extract the maximum value from an array in the Field Calculator?
qgis field-calculator
add a comment |
I'm trying to get the maximum value from an array, using the max() function. The syntax for the max() function is this:
max(value1,value2…)
I have an array: [ 1, 2, 3, 4, 5, 6, 7, 8 ] which I got by using this expression:
array_remove_all( array_agg( "fieldname"), maximum("fieldname"))
I need to obtain the maximum value from the array, but the max() function doesn't work. When I calculate the max() of the array, it gives this error:
Eval Error: Cannot convert '' to double
I can convert the array to a string using the array_to_string() function. When I calculate the max of the string version of the array, it gives this error:
Eval Error: Cannot convert '1,2,3,4,5,6,7,8' to double
So it seems the max() function can't accept an array or a list in string format as input. I also tried the maximum() function, with similar lack of results. I don't see any other function in the Field Calculator for finding the maximum value
How to extract the maximum value from an array in the Field Calculator?
qgis field-calculator
I'm trying to get the maximum value from an array, using the max() function. The syntax for the max() function is this:
max(value1,value2…)
I have an array: [ 1, 2, 3, 4, 5, 6, 7, 8 ] which I got by using this expression:
array_remove_all( array_agg( "fieldname"), maximum("fieldname"))
I need to obtain the maximum value from the array, but the max() function doesn't work. When I calculate the max() of the array, it gives this error:
Eval Error: Cannot convert '' to double
I can convert the array to a string using the array_to_string() function. When I calculate the max of the string version of the array, it gives this error:
Eval Error: Cannot convert '1,2,3,4,5,6,7,8' to double
So it seems the max() function can't accept an array or a list in string format as input. I also tried the maximum() function, with similar lack of results. I don't see any other function in the Field Calculator for finding the maximum value
How to extract the maximum value from an array in the Field Calculator?
qgis field-calculator
qgis field-calculator
asked 2 days ago
cskcsk
9,4751035
9,4751035
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
To get the largest value from an array you could sort it and take the last value:
array_last(array_sort( an_array ))
If you want the second highest value in a field called 'fieldname' (I assume this because you remove the maximum in your array construction) you would need remove duplicates and slice:
array_slice(
array_sort(
array_distinct(
array_agg("fieldname")
)
), -2, -2
)
An alternative would be to use the function editor and write it in python.
Note: array_sort is a new function introduced in QGIS version 3.6:

It turns outarray_sortis a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.
– csk
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
add a comment |
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%2f317172%2fhow-to-extract-the-maximum-value-from-an-array-in-the-qgis-field-calculator%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
To get the largest value from an array you could sort it and take the last value:
array_last(array_sort( an_array ))
If you want the second highest value in a field called 'fieldname' (I assume this because you remove the maximum in your array construction) you would need remove duplicates and slice:
array_slice(
array_sort(
array_distinct(
array_agg("fieldname")
)
), -2, -2
)
An alternative would be to use the function editor and write it in python.
Note: array_sort is a new function introduced in QGIS version 3.6:

It turns outarray_sortis a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.
– csk
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
add a comment |
To get the largest value from an array you could sort it and take the last value:
array_last(array_sort( an_array ))
If you want the second highest value in a field called 'fieldname' (I assume this because you remove the maximum in your array construction) you would need remove duplicates and slice:
array_slice(
array_sort(
array_distinct(
array_agg("fieldname")
)
), -2, -2
)
An alternative would be to use the function editor and write it in python.
Note: array_sort is a new function introduced in QGIS version 3.6:

It turns outarray_sortis a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.
– csk
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
add a comment |
To get the largest value from an array you could sort it and take the last value:
array_last(array_sort( an_array ))
If you want the second highest value in a field called 'fieldname' (I assume this because you remove the maximum in your array construction) you would need remove duplicates and slice:
array_slice(
array_sort(
array_distinct(
array_agg("fieldname")
)
), -2, -2
)
An alternative would be to use the function editor and write it in python.
Note: array_sort is a new function introduced in QGIS version 3.6:

To get the largest value from an array you could sort it and take the last value:
array_last(array_sort( an_array ))
If you want the second highest value in a field called 'fieldname' (I assume this because you remove the maximum in your array construction) you would need remove duplicates and slice:
array_slice(
array_sort(
array_distinct(
array_agg("fieldname")
)
), -2, -2
)
An alternative would be to use the function editor and write it in python.
Note: array_sort is a new function introduced in QGIS version 3.6:

edited 2 days ago
csk
9,4751035
9,4751035
answered 2 days ago
RoperMapsRoperMaps
1,501418
1,501418
It turns outarray_sortis a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.
– csk
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
add a comment |
It turns outarray_sortis a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.
– csk
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
It turns out
array_sort is a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.– csk
2 days ago
It turns out
array_sort is a new function, only available from QGIS 3.6 on. I'm still using the current LTR, 3.4. In fact I did look for a sort function, and I was surprised it didn't seem to exist. I guess I'll have to update my QGIS version.– csk
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
Aha! I was looking for that sort function and couldn't find it.
– Gabriel C.
2 days ago
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%2f317172%2fhow-to-extract-the-maximum-value-from-an-array-in-the-qgis-field-calculator%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
