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










3















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?










share|improve this question


























    3















    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?










    share|improve this question
























      3












      3








      3








      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?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 days ago









      cskcsk

      9,4751035




      9,4751035




















          1 Answer
          1






          active

          oldest

          votes


















          3














          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:



          enter image description here






          share|improve this answer

























          • 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











          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
          );



          );













          draft saved

          draft discarded


















          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









          3














          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:



          enter image description here






          share|improve this answer

























          • 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















          3














          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:



          enter image description here






          share|improve this answer

























          • 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













          3












          3








          3







          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:



          enter image description here






          share|improve this answer















          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:



          enter image description here







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 days ago









          csk

          9,4751035




          9,4751035










          answered 2 days ago









          RoperMapsRoperMaps

          1,501418




          1,501418












          • 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

















          • 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
















          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

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221

          Creating closest line along the point''s azimuth using PostgreSQL Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Drawing line between points at specific distance in PostGIS?How to efficiently find the closest point over the dateline?How to find the nearest point by using PostGIS function?PostGIS nearest point with LATERAL JOIN in PostgreSQL 9.3+Creating a table and inserting selected streets using plpgsql functionsCreating a table that stores Distances and other columnSaving select query results (year wise) from PostgreSQL/PostGIS to text filesWhat is the information behind this geometry?How to give start and end vertex ids dynamically in pgr_dijkstra?Point to Polygon nearest distance DS_distance is not using geography index & knn <-> or <#> does not give result in orderLine to point conversion with start point and end point detection?

          Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given