[OpenLayers-Users] JQuer.UI slider + filter.BETWEEN + MapServer
Francesco de Virgilio
fradeve11 at gmail.com
Sun Dec 16 06:51:03 PST 2012
Hi guys,
I'm trying to implement a slider to filter WFS features by "height"
value, but when I move the slider the only result is an empty
MapServer query.
That's how I configured components:
## JQueryUI slider
##################
When moving the slider cursor, minSelection and maxSelection values
are defined. I need to show only features with minSelection < height <
maxSelection. I've defined a filter that takes the current min and
maxSelection and makes a query on the WFS, applying it to the vector
layer (curlayer is the current vector layer object):
heightFilter = new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.BETWEEN,
property: 'height',
lowerBoundary: minSelection,
upperBoundary: maxSelection
});
curlayer.filter = heightFilter;
curlayer.refresh({force: true})
## OpenLayers.js
################
uses_layer = new OpenLayers.Layer.Vector("US Layer", {
strategies : [new OpenLayers.Strategy.Fixed()],
projection : _projObj.wgs84,
visibility : true,
displayInLayerSwitcher : false,
protocol : new OpenLayers.Protocol.WFS({
version : '1.0.0',
url :
'http://46.105.19.68/cgi-bin/mapserv?map=/home/fradeve/public_html/ark-oia/ark-scrmap/wfs.map&service=WFS',
featureType : USType
})
});
## MapServer
############
LAYER
CONNECTION "host=46.105.19.68 user=** password=** dbname=sipdb"
CONNECTIONTYPE POSTGIS
DATA "geometry from (select gid, layer, the_geom as
geometry, n1, n2, n13 as height from us) as pseudo_table
using unique gid using srid=4326"
NAME "us"
DUMP TRUE
METADATA
"wfs_srs" "EPSG:4326"
"gml_featureid" "gid"
"wfs_title" "us"
"wfs_typename" "us"
"gml_include_items" "all"
"wfs_version" "1.0.0"
"wfs_enable_request" "*"
END
PROJECTION
"init=epsg:4326"
END
STATUS ON
TYPE Polygon
UNITS METERS
CLASS
STYLE
ANGLE 360
ANTIALIAS TRUE
WIDTH 1
END
END
END
## The POST response
####################
## Request payload
<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="WFS" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd">
<wfs:Query xmlns:feature="http://localhost/cgi-bin/mapserv.exe" typeName="feature:us">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:PropertyIsBetween>
<ogc:PropertyName>height</ogc:PropertyName>
<ogc:LowerBoundary>
<ogc:Literal>870</ogc:Literal>
</ogc:LowerBoundary>
<ogc:UpperBoundary>
<ogc:Literal>900</ogc:Literal>
</ogc:UpperBoundary>
</ogc:PropertyIsBetween>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
## Response
<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ms="http://localhost/cgi-bin/mapserv.exe"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd
http://localhost/cgi-bin/mapserv.exe
http://46.105.19.68/cgi-bin/mapserv?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=feature:us&OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:null>missing</gml:null>
</gml:boundedBy>
</wfs:FeatureCollection>
## So
#####
Where is the error? Everything seems fine to me...
Thank you
--
Francesco de Virgilio
*Ubuntu-it team member*
mailto:fradeve at ubuntu-it.org
http://wiki.ubuntu-it.org/FrancescoDeVirgilio
*Wikimedia projects contributor*
http://en.wikipedia.org/wiki/User:Fradeve11
*OpenStreetMap Mapper*
http://www.openstreetmap.org/user/Fradeve11
*Blog*
http://www.fradeve.org
"Love - Peace - Freedom - Free Software"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.osgeo.org/pipermail/openlayers-users/attachments/20121216/8dab75fd/attachment.pgp>
More information about the Users
mailing list