Hi,
When using the following configuration, a POST requests seems to result in
Geoserver loading all features from database and performing the BBOX filter
internally.
- Postgresql: "PostgreSQL 9.2.4, compiled by Visual C++ build 1600,
64-bit"
- Postgis: "POSTGIS="2.0.3 r11132" GEOS="3.3.8-CAPI-1.7.8" PROJ="Rel.
4.8.0, 6 March 2012" GDAL="GDAL 1.9.2, released 2012/10/08" LIBXML="2.7.8"
LIBJSON="UNKNOWN" RASTER"
- Geoserver 2.9.1 and 2.10.1
- JVM 1.8.0_112
- Table with 3D Line Geometry:
CREATE TABLE table_wmk_lijn_2016
(
stdx double precision,
stdy double precision,
stdz double precision,
meas_info text,
quality double precision,
fid integer NOT NULL DEFAULT nextval('table_wmk_lijn_2016_seq'::regclass),
objecttype text NOT NULL,
date_recorded timestamp with time zone,
date_modified timestamp with time zone,
username text,
comment_cm text,
height text,
the_geom geometry(LineStringZ,7415),
objectstatus text,
CONSTRAINT table_wmk_lijn_2016_pkey PRIMARY KEY (fid),
CONSTRAINT enforce_dims_geom CHECK (st_ndims(the_geom) = 3),
CONSTRAINT enforce_geotype_geom CHECK (geometrytype(the_geom) =
'LINESTRING'::text OR the_geom IS NULL),
CONSTRAINT enforce_srid_geom CHECK (st_srid(the_geom) = 7415)
)
- There's a GIST index on the the_geom column
POST request example
URL: http://myserver.com/geoserver/ows
Body:
<wfs:GetFeature service="WFS" version="1.1.0" resultType="results"
outputFormat="text/xml; subtype=gml/3.1.1"
xmlns:wfs="http://www.opengis.net/wfs">
<wfs:Query typeName="inl:table_wmk_lijn_2016" srsName="EPSG:7415"
xmlns:inl="http://inl.cyclomedia.com">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:BBOX>
<gml:Envelope srsName="EPSG:7415"
xmlns:gml="http://www.opengis.net/gml">
<gml:lowerCorner>86620.02749999995 437105.71499999886
-1000</gml:lowerCorner>
<gml:upperCorner>86787.92249999997 437198.7449999985
1000</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
According to the geoserver log file the following DB query is executed:
2017-01-09 11:28:45,572 DEBUG [geotools.jdbc] - SELECT
"fid","stdx","stdy","stdz","meas_info","quality","objecttype","date_recorded","date_modified","username","comment_cm","height",encode(ST_AsEWKB("the_geom"),'base64')
as "the_geom","objectstatus" FROM "public"."table_wmk_lijn_2016"
This table contains a lot of features (> 40000) and seems to cause serious
performance issues probably caused by the fact that geoserver does the BBOX
filtering (?)
A GET request results in the following error:
http://myserver.com:8080/geoserver/ows?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&SRSNAME=EPSG:7415&TYPENAME=inl:table_wmk_lijn_2016&BBOX=86620.02749999995,437105.71499999886,86787.92249999997,437198.7449999985,EPSG:7415
<ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ows="http://www.opengis.net/ows"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/ows
http://geoserver-c.cyclomedia.com:8080/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd">
<ows:Exception exceptionCode="NoApplicableCode">
<ows:ExceptionText>org.opengis.geometry.MismatchedDimensionException:
Argument "Amersfoort / RD New + NAP height" has 3 dimensions, while 2 was
expected.
Argument "Amersfoort / RD New + NAP height" has 3 dimensions, while 2 was
expected.</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
Any idea?
Thanks and best regards,
Sjoerd Brandsma
CycloMedia
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users