Created
January 9, 2014 01:31
-
-
Save rcoup/8327868 to your computer and use it in GitHub Desktop.
http://jira.codehaus.org/browse/GEOS-6187 - comparing Geoserver 2.3.5 with 2.4.3 for various GML/WFS versions, server/client-specified maxFeatures, resultTypes, and hitsIgnoreMaxFeatures settings (2.4).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GEOSERVER 2.3.5 | |
GML2 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 results 2.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 2.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=10 actual=0 numberMatched=None | |
GML2 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=5 actual=0 numberMatched=None | |
GML2 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
GML2 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
GML2 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
GML2 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.1.1 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=10 actual=10 numberMatched=None | |
gml/3.1.1 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=5 actual=5 numberMatched=None | |
gml/3.1.1 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=10 numberMatched=None | |
gml/3.1.1 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=5 numberMatched=None | |
gml/3.1.1 results 2.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=0 numberMatched=None | |
gml/3.1.1 results 2.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=0 numberMatched=None | |
gml/3.1.1 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=10 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=5 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.1.1 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.1.1 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.2 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
gml/3.2 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
gml/3.2 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
gml/3.2 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
gml/3.2 results 2.0.0 limit=[10]: numberReturned=10 numberOfFeatures=None actual=10 numberMatched=90 | |
gml/3.2 results 2.0.0 limit=5 : numberReturned=5 numberOfFeatures=None actual=5 numberMatched=90 | |
gml/3.2 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=10 actual=0 numberMatched=None | |
gml/3.2 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=5 actual=0 numberMatched=None | |
gml/3.2 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.2 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.2 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.2 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GEOSERVER 2.4.3 - wfs.hitsIgnoreMaxFeatures=1 | |
GML2 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 results 2.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 2.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
GML2 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
GML2 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
GML2 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
GML2 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=-1 | |
GML2 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=-1 | |
gml/3.1.1 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=10 numberMatched=None | |
gml/3.1.1 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=5 numberMatched=None | |
gml/3.1.1 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=10 numberMatched=None | |
gml/3.1.1 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=5 numberMatched=None | |
gml/3.1.1 results 2.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=0 numberMatched=None | |
gml/3.1.1 results 2.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=0 numberMatched=None | |
gml/3.1.1 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.1.1 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=-1 | |
gml/3.1.1 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=-1 | |
gml/3.2 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
gml/3.2 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
gml/3.2 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
gml/3.2 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
gml/3.2 results 2.0.0 limit=[10]: numberReturned=90 numberOfFeatures=None actual=10 numberMatched=90 | |
gml/3.2 results 2.0.0 limit=5 : numberReturned=90 numberOfFeatures=None actual=5 numberMatched=90 | |
gml/3.2 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.2 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.2 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.2 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.2 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=-1 | |
gml/3.2 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=-1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GEOSERVER 2.4.3 - wfs.hitsIgnoreMaxFeatures=0 | |
GML2 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 results 2.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
GML2 results 2.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
GML2 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
GML2 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
GML2 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
GML2 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
GML2 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
GML2 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.1.1 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=10 numberMatched=None | |
gml/3.1.1 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=5 numberMatched=None | |
gml/3.1.1 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=10 numberMatched=None | |
gml/3.1.1 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=5 numberMatched=None | |
gml/3.1.1 results 2.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=0 numberMatched=None | |
gml/3.1.1 results 2.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=0 numberMatched=None | |
gml/3.1.1 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.1.1 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.1.1 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.1.1 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.2 results 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
gml/3.2 results 1.1.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
gml/3.2 results 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=None actual=10 numberMatched=None | |
gml/3.2 results 1.0.0 limit=5 : numberReturned=None numberOfFeatures=None actual=5 numberMatched=None | |
gml/3.2 results 2.0.0 limit=[10]: numberReturned=90 numberOfFeatures=None actual=10 numberMatched=90 | |
gml/3.2 results 2.0.0 limit=5 : numberReturned=90 numberOfFeatures=None actual=5 numberMatched=90 | |
gml/3.2 hits 1.1.0 limit=[10]: numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.2 hits 1.1.0 limit=5 : numberReturned=None numberOfFeatures=90 actual=0 numberMatched=None | |
gml/3.2 hits 1.0.0 limit=[10]: numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.2 hits 1.0.0 limit=5 : numberReturned=None numberOfFeatures=0 actual=0 numberMatched=None | |
gml/3.2 hits 2.0.0 limit=[10]: numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 | |
gml/3.2 hits 2.0.0 limit=5 : numberReturned=0 numberOfFeatures=None actual=0 numberMatched=90 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import re | |
import sys | |
import requests | |
URL = 'http://localhost:8080/geoserver/sf/ows?service=WFS&request=GetFeature&typeName=sf:bugsites' | |
FEATURE_ELEMENT = r'<sf:bugsites\b' | |
FORMATS = [ | |
'GML2', | |
'text/xml;%20subtype=gml/3.1.1', | |
'text/xml;%20subtype=gml/3.2', | |
] | |
COUNT_FIELDS = ['numberOfFeatures', 'numberMatched', 'numberReturned'] | |
VERSIONS = { | |
'1.0.0': 'maxFeatures', | |
'1.1.0': 'maxFeatures', | |
'2.0.0': 'count', | |
} | |
SERVER_MAX_FEATURES = 10 # set in wfs.xml | |
for hits_ignore_max_features in [False, True]: | |
raw_input("\nSET SERVER wfs.hitsIgnoreMaxFeatures=%s\n" % hits_ignore_max_features) | |
for output_format in FORMATS: | |
for result_type in [None, 'hits']: | |
for version, limit_param in VERSIONS.items(): | |
for max_features in [None, '5']: | |
url = URL \ | |
+ "&version=%s" % version \ | |
+ "&outputFormat=%s" % output_format | |
if result_type: | |
url += '&resultType=%s' % result_type | |
if max_features: | |
url += '&%s=%s' % (limit_param, max_features) | |
print "%-9s %-7s %s limit=%-4s:" % (output_format.split('=')[-1], result_type or 'results', version, max_features or '[%d]' % SERVER_MAX_FEATURES,), | |
r = requests.get(url) | |
counts = { | |
'actual': len(re.findall(FEATURE_ELEMENT, r.text)), | |
} | |
for field in COUNT_FIELDS: | |
m = re.search(r'%s="(.+?)"' % field, r.text) | |
if not m: | |
counts[field] = None | |
else: | |
counts[field] = m.group(1) | |
print ' '.join('%s=%-4s' % (f, v) for f, v in counts.items()) | |
if version == '2.0.0' and output_format == 'text/xml;%20subtype=gml/3.1.1': | |
# https://jira.codehaus.org/browse/GEOS-6134 | |
pass | |
elif not result_type and counts['actual'] == 0: | |
print "\t%s" % url | |
elif result_type and not len(filter(lambda x: x[0] != 'actual' and x[1] is not None, counts.items())): | |
print "\t%s" % url |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
wfs.citeCompliant=false
wfs.maxFeatures
is 10 for everythingactual
is the number of feature elements in the GML FeatureCollection, the other counts are the FeatureCollection attributes (obviously presence ofnumberOfFeatures
vsnumberMatched
/numberReturned
depends on WFS & GML versions)