WFS performance issue

Fernando Simon fsimon at UNIVALI.BR
Thu Mar 24 09:02:33 EST 2005


Hi folks,
    I don't know much about OGC WFS, but I believe that I can help
with Oracle issue. I will try to help.
    About the performance problem for 4.4.x version and Oracle Spatial
I implemented in maporaclespatial.c, by default, the call for
SDO_FILTER Oracle Spatial operator, that use a bbox to perform any
query. I used the rectObj (Mapserver Obj) as the bbox parameter for
this Oracle Spatial operator. The call for this operator don't occur
by default for older versions.
    I don't know how WFS perform the query, what is the order for the
calls. But I believe that 4.4.x version for Oracle Spatial querys the
performance can be much better.
    Well, I don't know if I helped, I tried to clarify some doubts.
For Oracle Spatial issue we can help too.
    Thanks for all.

----------------------------------------------------------------
Fernando Simon - simon at inf.univali.br
Mapserver and Oracle Spatial developer
G10 - Laboratorio de Computacao Aplicada
http://g10.cttmar.univali.br
----------------------------------------------------------------


Citando Arnulf Christl <arnulf.christl at CCGIS.DE>:

> Yewondwossen Assefa wrote:
> > Frank Warmerdam wrote:
> >
> >> On Tue, 22 Mar 2005 10:19:01 -0500, Yewondwossen Assefa
> >> <assefa at dmsolutions.ca> wrote:
> >>
> >>> Frank,
> >>>
> >>>   The WFS code to modify should not be that bad since the
> functions to
> >>> transalte from filter encoding xml syntax to mapserver
> expression are
> >>> localized in separate functions and I could twick the code to
> generate
> >>> sql statements instead of Mapserver expressions and set the
> layers'
> >>> FILTER.
> >>>  The problem I have is how would I test this ? I do not have
> Orcacle
> >>> setup here ? What would be my best option to do testing on this
> ? Could
> >>> I use OGR layers with underlaying layers other than oracle ?
>
> Hey Frank, Assefa,
> thanx for the comments.
>
> As a clarification: I just picked up the last thread by Steve and
> reposted it without too much thinking - but i do not know whether
> this
> would actually adress our problem correctly. I'll just butcher the
> case
> again for you - sorry to be repetitive.
>
> Our problem is that we have to query 6.5 million evenly spread
> land
> parcels by attribute only. There is no bbox attribute to be found
> anywhere in the query. We just ask for land parcels with part of
> their
> ID and a trailing wildcard.
> What got us stuck was the way MapServer did the query. If i got
> that one
> right: MS first starts a full table scan using the only bbox it
> could
> find - which is the WFS_EXTENT to retrieve the oid of all relevant
> geometries. Then it starts another query with the parameters i'd
> expect
> to be in the WHERE clause on this "subset" (which still comprises
> all
> 6.5 million elements). This is too heavy for the underlying Oracle
> database, Apache timeouts, etc. - it just wont do.
>
> The fun thing is that we *can* do it by using MapServer as a warped
> WMS.
> We simply activate the internal (not OGC) FILTER expression which
> we add
> to the WMS getMap as a vendor parameter. Setting DUMP=true you get
> a
> valid GML - which is all we need to gazetteer, highlight, download
> and
> edit the land parcel.
>
> Does this make sense to you?
>
> I cannot link this problem to whatever you are discussing regarding
> the
> "native attribute filters" because i am too ignorant. sorry bout
> that...
> :-/
>
> We can do any testing at any time on PotgreSQL/PostGIS and Oracle
> with
> large datasets. We do not operate an Oracle installation ourselves
> but
> we have customers who are willing to help out.
>
> Best, Arnulf.
>
> --
> ------------------------
> Arnulf B. Christl
> ------------------------
> http://www.ccgis.org
> http://www.mapbender.org
> ------------------------
>




-------------------------------------------------
  Univali - Webmail - http://webmail.univali.br



More information about the mapserver-dev mailing list