[Geoserver-devel] [JIRA] (GEOS-8012) Slow WFS GetFeature when using a 3D bbox POST request

Andrea Aime [Administrator] created an issue

GeoServer / BugGEOS-8012

Slow WFS GetFeature when using a 3D bbox POST request

Issue Type:

BugBug

Assignee:

Unassigned

Created:

02/Mar/17 10:26 AM

Priority:

MediumMedium

Reporter:

Andrea Aime [Administrator]

When using the following configuration, a POST requests seems to result in Geoserver loading all features from database and performing the BBOX filter internally.

Environment:

  • 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 creation:

 
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)
)

POST request example:

<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"

Add Comment

Add Comment

This message was sent by Atlassian JIRA (v1000.789.2#100032-sha1:1297bd3)

Atlassian logo