[Mapserver-DE] getFeature: Ergebnisse nicht in BBox
Christian Wilmes
C.Wilmes at gmx.de
Die Mai 16 11:33:10 CEST 2006
Hallo,
sorry erst mal! Ich hatte dieses Problem vor einiger Zeit schon einmal
gepostet bin aber immer noch nicht weiter vorangekommen und moechte es daher
erneut versuchen.
Ich habe versucht einen WFS aufzusetzen. Die Daten (ausschliesslich
Punktdaten) liegen alle in einer Postgres-DB (kein Postgis). Daher habe ich
die Connection ueber "Virtual Spatial Data" hergestellt. Sowohl die
getCapabilieties also auch die DescribeFeatureType Anfrage liefern ein
korrektes Ergebnis. Bei getFeature bekomme ich zwar ein GML-Dokument zurueck
allerdings stehen dort nicht die richtigen Daten drin. Die Anzahl der
zurueckgegebenen Feature ist stets korrekt, ich bekomme allerdings immer die
Feature zurueck die oben in der Datenbank-Tabelle stehen und nicht die, die
sich wirklich in der BBox befinden. Das oben im GML-Dokument angegebene MBR
(Minimum Bounding Rectangel) umfasst seltsamerweise auch die Feature die
eigentlich zurueck kommen muessten und nicht die die dann wirklich zurueck
geliefert werden. Eine Abfrage ueber ogrinfo in dem ich ebenfalls die BBox
mit angebe liefert ein voellig korrektes Ergebnis, was aus meiner Sicht vll
schon darauf schliessen laesst, dass ogr korrekt arbeitet. Wenn ich ueber
mit den selben Daten und der selben ogr-Datei einen WMS aufsetze
funktioniert dieser auch einwandfrei.
Hier dann mal das Mapfile:
MAP
NAME WFS_Server
STATUS ON
WEB
METADATA
"wfs_title" "WFS Server"
"wfs_onlineresource" "http://127.0.0.1/cgi-bin/mapserv.exe?"
"wfs_srs" "EPSG:4326"
END
END
PROJECTION
"init=EPSG:4326"
END
LAYER
NAME myWFS
METADATA
"wfs_title" "myWFS"
"gml_include_items" "all"
END
TYPE POINT
STATUS ON
CONNECTIONTYPE OGR
CONNECTION "test.ovf"
PROJECTION
"init=EPSG:4326"
END
DUMP TRUE
END
END
und hier die Aufgerufene Datei test.ovf:
<OGRVRTDataSource>
<OGRVRTLayer name="feature">
<SrcDataSource>PG:host=192.168.5.86 user=cwilmes dbname=rosoapcw
password=xxx</SrcDataSource>
<SrcLayer>feature</SrcLayer>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>EPSG:4326</LayerSRS>
<GeometryField encoding="PointFromColumns" x="lat" y="lon"/>
</OGRVRTLayer>
</OGRVRTDataSource>
Hier mal ein beispielhafter
Aufruf:
http://localhost/cgi-bin/mapserv.exe?&REQUEST=GetFeature&VERSION=1.0.0&SERVICE=WFS&TYPENAME=myWFS&&BBox=9.98,7.98,10,8
...und das Ergebnis:
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <wfs:FeatureCollection
xmlns:ms="http://mapserver.gis.umn.edu/mapserver"
xmlns:wfs="http://www.opengis.net/wfs"
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.opengeospatial.net/wfs/1.0.0/WFS-basic.xsd
http://mapserver.gis.umn.edu/mapserver
http://127.0.0.1/cgi-bin/mapserv.exe?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=myWFS&OUTPUTFORMAT=XMLSCHEMA">
- <gml:boundedBy>
- <gml:Box srsName="EPSG:4326">
<gml:coordinates>9.980700,7.984220 9.997500,7.995010</gml:coordinates>
</gml:Box>
</gml:boundedBy>
- <gml:featureMember>
- <ms:myWFS>
- <gml:boundedBy>
- <gml:Box srsName="EPSG:4326">
<gml:coordinates>9.682230,7.653260 9.682230,7.653260</gml:coordinates>
</gml:Box>
</gml:boundedBy>
- <ms:msGeometry>
- <gml:Point srsName="EPSG:4326">
<gml:coordinates>9.682230,7.653260</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:id>16</ms:id>
</ms:myWFS>
</gml:featureMember>
- <gml:featureMember>
- <ms:myWFS>
- <gml:boundedBy>
- <gml:Box srsName="EPSG:4326">
<gml:coordinates>9.768800,7.835870 9.768800,7.835870</gml:coordinates>
</gml:Box>
</gml:boundedBy>
- <ms:msGeometry>
- <gml:Point srsName="EPSG:4326">
<gml:coordinates>9.768800,7.835870</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:id>17</ms:id>
</ms:myWFS>
</gml:featureMember>
- <gml:featureMember>
- <ms:myWFS>
- <gml:boundedBy>
- <gml:Box srsName="EPSG:4326">
<gml:coordinates>9.296530,7.426330 9.296530,7.426330</gml:coordinates>
</gml:Box>
</gml:boundedBy>
- <ms:msGeometry>
- <gml:Point srsName="EPSG:4326">
<gml:coordinates>9.296530,7.426330</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:id>18</ms:id>
</ms:myWFS>
</gml:featureMember>
- <gml:featureMember>
- <ms:myWFS>
- <gml:boundedBy>
- <gml:Box srsName="EPSG:4326">
<gml:coordinates>9.111500,7.645390 9.111500,7.645390</gml:coordinates>
</gml:Box>
</gml:boundedBy>
- <ms:msGeometry>
- <gml:Point srsName="EPSG:4326">
<gml:coordinates>9.111500,7.645390</gml:coordinates>
</gml:Point>
</ms:msGeometry>
<ms:id>20</ms:id>
</ms:myWFS>
</gml:featureMember>
</wfs:FeatureCollection>
Vielleicht hat ja irgendwer eine Idee wo der Fehler liegt und wie man ihn
vielleicht sogar beheben kann. Bin dankbar fuer jede Anregung!
Gruesse
Christian
--
Mobile Internet - E-Mail und Internet immer und überall!
GMX zum Mitnehmen: http://www.gmx.net/de/go/pocketweb
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)