Geoserver CQL file queryCollection limit

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
1
down vote

favorite












I'm using GeoServer 2.9.0 and I need to get some result using CQL_FILTER, intersects between polygon and line String layer, cql query is as follow:



INTERSECTS(geom, collectGeometries(queryCollection('workspace:line_string_layer', 'geom', 'IN(''line_string_layer.23'')')))


The full requested url is



http://IP:8080/MapServer/workspace/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=workspace:polygon_layer&maxFeatures=500000000&outputFormat=application/json&CQL_FILTER=INTERSECTS(geom,collectGeometries(queryCollection('workspace:line_string_layer','geom','IN(''line_string_layer.23'')')))


But the result return as follow



<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0"
xsi:schemaLocation="http://www.opengis.net/ows/1.1
http://IP:8080/workspace/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>java.lang.IllegalStateException: The query
in queryCollection returns too many features, the limit is
1000 The query in queryCollection returns too many features,
the limit is 1000
</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>


How to increase this queryCollection limit or am I doing something wrong?







share|improve this question




























    up vote
    1
    down vote

    favorite












    I'm using GeoServer 2.9.0 and I need to get some result using CQL_FILTER, intersects between polygon and line String layer, cql query is as follow:



    INTERSECTS(geom, collectGeometries(queryCollection('workspace:line_string_layer', 'geom', 'IN(''line_string_layer.23'')')))


    The full requested url is



    http://IP:8080/MapServer/workspace/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=workspace:polygon_layer&maxFeatures=500000000&outputFormat=application/json&CQL_FILTER=INTERSECTS(geom,collectGeometries(queryCollection('workspace:line_string_layer','geom','IN(''line_string_layer.23'')')))


    But the result return as follow



    <?xml version="1.0" encoding="UTF-8"?>
    <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0"
    xsi:schemaLocation="http://www.opengis.net/ows/1.1
    http://IP:8080/workspace/schemas/ows/1.1.0/owsAll.xsd">
    <ows:Exception exceptionCode="NoApplicableCode">
    <ows:ExceptionText>java.lang.IllegalStateException: The query
    in queryCollection returns too many features, the limit is
    1000 The query in queryCollection returns too many features,
    the limit is 1000
    </ows:ExceptionText>
    </ows:Exception>
    </ows:ExceptionReport>


    How to increase this queryCollection limit or am I doing something wrong?







    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I'm using GeoServer 2.9.0 and I need to get some result using CQL_FILTER, intersects between polygon and line String layer, cql query is as follow:



      INTERSECTS(geom, collectGeometries(queryCollection('workspace:line_string_layer', 'geom', 'IN(''line_string_layer.23'')')))


      The full requested url is



      http://IP:8080/MapServer/workspace/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=workspace:polygon_layer&maxFeatures=500000000&outputFormat=application/json&CQL_FILTER=INTERSECTS(geom,collectGeometries(queryCollection('workspace:line_string_layer','geom','IN(''line_string_layer.23'')')))


      But the result return as follow



      <?xml version="1.0" encoding="UTF-8"?>
      <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0"
      xsi:schemaLocation="http://www.opengis.net/ows/1.1
      http://IP:8080/workspace/schemas/ows/1.1.0/owsAll.xsd">
      <ows:Exception exceptionCode="NoApplicableCode">
      <ows:ExceptionText>java.lang.IllegalStateException: The query
      in queryCollection returns too many features, the limit is
      1000 The query in queryCollection returns too many features,
      the limit is 1000
      </ows:ExceptionText>
      </ows:Exception>
      </ows:ExceptionReport>


      How to increase this queryCollection limit or am I doing something wrong?







      share|improve this question














      I'm using GeoServer 2.9.0 and I need to get some result using CQL_FILTER, intersects between polygon and line String layer, cql query is as follow:



      INTERSECTS(geom, collectGeometries(queryCollection('workspace:line_string_layer', 'geom', 'IN(''line_string_layer.23'')')))


      The full requested url is



      http://IP:8080/MapServer/workspace/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName=workspace:polygon_layer&maxFeatures=500000000&outputFormat=application/json&CQL_FILTER=INTERSECTS(geom,collectGeometries(queryCollection('workspace:line_string_layer','geom','IN(''line_string_layer.23'')')))


      But the result return as follow



      <?xml version="1.0" encoding="UTF-8"?>
      <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0"
      xsi:schemaLocation="http://www.opengis.net/ows/1.1
      http://IP:8080/workspace/schemas/ows/1.1.0/owsAll.xsd">
      <ows:Exception exceptionCode="NoApplicableCode">
      <ows:ExceptionText>java.lang.IllegalStateException: The query
      in queryCollection returns too many features, the limit is
      1000 The query in queryCollection returns too many features,
      the limit is 1000
      </ows:ExceptionText>
      </ows:Exception>
      </ows:ExceptionReport>


      How to increase this queryCollection limit or am I doing something wrong?









      share|improve this question













      share|improve this question




      share|improve this question








      edited Aug 23 at 10:57

























      asked Aug 23 at 10:50









      atanu

      155




      155




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          3
          down vote



          accepted










          Something that could be related is documented in http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html




          Memory limits



          The queryCollection and collectGeometries functions do not perform a
          true database-style join. Instead they execute a query against the
          secondary layer every time they are executed, and load the entire
          result into memory. The functions thus risk using excessive server
          memory if the query result set is very large, or if the collected
          geometries are very large. To prevent impacting server stability there
          are built-in limits to how much data can be processed:



          • at most 1000 features are collected by queryCollection

          • at most 37000 coordinates (1MB worth of Coordinate objects) are collected by collectGeometries

          These limits can be overridden by setting alternate values for the
          following parameters (this can be done using JVM system variables,
          servlet context variables, or enviroment variables):



          • QUERY_LAYER_MAX_FEATURES controls the maximum number of features collected by queryCollection

          • GEOMETRY_COLLECT_MAX_COORDINATES controls the maximum number of coordinates collected by collectGeometries



          However, you seem to use maxFeatures=500000000 and you will probably take a risk by inreasing QUERY_LAYER_MAX_FEATURES to such a high number.






          share|improve this answer




















          • Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
            – atanu
            Aug 23 at 12:09










          • I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
            – user30184
            Aug 23 at 13:22











          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',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          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%2f293745%2fgeoserver-cql-file-querycollection-limit%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          3
          down vote



          accepted










          Something that could be related is documented in http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html




          Memory limits



          The queryCollection and collectGeometries functions do not perform a
          true database-style join. Instead they execute a query against the
          secondary layer every time they are executed, and load the entire
          result into memory. The functions thus risk using excessive server
          memory if the query result set is very large, or if the collected
          geometries are very large. To prevent impacting server stability there
          are built-in limits to how much data can be processed:



          • at most 1000 features are collected by queryCollection

          • at most 37000 coordinates (1MB worth of Coordinate objects) are collected by collectGeometries

          These limits can be overridden by setting alternate values for the
          following parameters (this can be done using JVM system variables,
          servlet context variables, or enviroment variables):



          • QUERY_LAYER_MAX_FEATURES controls the maximum number of features collected by queryCollection

          • GEOMETRY_COLLECT_MAX_COORDINATES controls the maximum number of coordinates collected by collectGeometries



          However, you seem to use maxFeatures=500000000 and you will probably take a risk by inreasing QUERY_LAYER_MAX_FEATURES to such a high number.






          share|improve this answer




















          • Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
            – atanu
            Aug 23 at 12:09










          • I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
            – user30184
            Aug 23 at 13:22















          up vote
          3
          down vote



          accepted










          Something that could be related is documented in http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html




          Memory limits



          The queryCollection and collectGeometries functions do not perform a
          true database-style join. Instead they execute a query against the
          secondary layer every time they are executed, and load the entire
          result into memory. The functions thus risk using excessive server
          memory if the query result set is very large, or if the collected
          geometries are very large. To prevent impacting server stability there
          are built-in limits to how much data can be processed:



          • at most 1000 features are collected by queryCollection

          • at most 37000 coordinates (1MB worth of Coordinate objects) are collected by collectGeometries

          These limits can be overridden by setting alternate values for the
          following parameters (this can be done using JVM system variables,
          servlet context variables, or enviroment variables):



          • QUERY_LAYER_MAX_FEATURES controls the maximum number of features collected by queryCollection

          • GEOMETRY_COLLECT_MAX_COORDINATES controls the maximum number of coordinates collected by collectGeometries



          However, you seem to use maxFeatures=500000000 and you will probably take a risk by inreasing QUERY_LAYER_MAX_FEATURES to such a high number.






          share|improve this answer




















          • Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
            – atanu
            Aug 23 at 12:09










          • I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
            – user30184
            Aug 23 at 13:22













          up vote
          3
          down vote



          accepted







          up vote
          3
          down vote



          accepted






          Something that could be related is documented in http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html




          Memory limits



          The queryCollection and collectGeometries functions do not perform a
          true database-style join. Instead they execute a query against the
          secondary layer every time they are executed, and load the entire
          result into memory. The functions thus risk using excessive server
          memory if the query result set is very large, or if the collected
          geometries are very large. To prevent impacting server stability there
          are built-in limits to how much data can be processed:



          • at most 1000 features are collected by queryCollection

          • at most 37000 coordinates (1MB worth of Coordinate objects) are collected by collectGeometries

          These limits can be overridden by setting alternate values for the
          following parameters (this can be done using JVM system variables,
          servlet context variables, or enviroment variables):



          • QUERY_LAYER_MAX_FEATURES controls the maximum number of features collected by queryCollection

          • GEOMETRY_COLLECT_MAX_COORDINATES controls the maximum number of coordinates collected by collectGeometries



          However, you seem to use maxFeatures=500000000 and you will probably take a risk by inreasing QUERY_LAYER_MAX_FEATURES to such a high number.






          share|improve this answer












          Something that could be related is documented in http://docs.geoserver.org/stable/en/user/extensions/querylayer/index.html




          Memory limits



          The queryCollection and collectGeometries functions do not perform a
          true database-style join. Instead they execute a query against the
          secondary layer every time they are executed, and load the entire
          result into memory. The functions thus risk using excessive server
          memory if the query result set is very large, or if the collected
          geometries are very large. To prevent impacting server stability there
          are built-in limits to how much data can be processed:



          • at most 1000 features are collected by queryCollection

          • at most 37000 coordinates (1MB worth of Coordinate objects) are collected by collectGeometries

          These limits can be overridden by setting alternate values for the
          following parameters (this can be done using JVM system variables,
          servlet context variables, or enviroment variables):



          • QUERY_LAYER_MAX_FEATURES controls the maximum number of features collected by queryCollection

          • GEOMETRY_COLLECT_MAX_COORDINATES controls the maximum number of coordinates collected by collectGeometries



          However, you seem to use maxFeatures=500000000 and you will probably take a risk by inreasing QUERY_LAYER_MAX_FEATURES to such a high number.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Aug 23 at 11:35









          user30184

          26.8k22750




          26.8k22750











          • Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
            – atanu
            Aug 23 at 12:09










          • I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
            – user30184
            Aug 23 at 13:22

















          • Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
            – atanu
            Aug 23 at 12:09










          • I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
            – user30184
            Aug 23 at 13:22
















          Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
          – atanu
          Aug 23 at 12:09




          Thanks for your reply. Is their any limit operation on GetFeature request as i don't have to request maxFeature=50000000 at once?
          – atanu
          Aug 23 at 12:09












          I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
          – user30184
          Aug 23 at 13:22





          I don't know how well querylayers play together with WFS paging with startIndex and count docs.geoserver.org/stable/en/user/services/wfs/basics.html. Have a try by using &startindex=1000&count=1000instead of maxFeatures in your query. If it works just adjust the startindex for sliding the window for the data. But it affects only the main feature type (polygons) not the joined layer (strings). Perhaps you must gather all the polygon and line data and make the comparison on the client side.
          – user30184
          Aug 23 at 13:22


















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f293745%2fgeoserver-cql-file-querycollection-limit%23new-answer', 'question_page');

          );

          Post as a guest













































































          Comments

          Popular posts from this blog

          Long meetings (6-7 hours a day): Being “babysat” by supervisor

          Is the Concept of Multiple Fantasy Races Scientifically Flawed? [closed]

          Confectionery