Geoserver CQL file queryCollection limit
Clash 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?
geoserver openlayers cql-filter intersect
add a comment |Â
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?
geoserver openlayers cql-filter intersect
add a comment |Â
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?
geoserver openlayers cql-filter intersect
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?
geoserver openlayers cql-filter intersect
edited Aug 23 at 10:57
asked Aug 23 at 10:50
atanu
155
155
add a comment |Â
add a comment |Â
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.
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=1000
instead 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
add a comment |Â
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.
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=1000
instead 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
add a comment |Â
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.
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=1000
instead 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
add a comment |Â
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.
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.
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=1000
instead 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
add a comment |Â
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=1000
instead 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=1000
instead 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=1000
instead 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
add a comment |Â
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
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
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
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
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