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

Reply via email to