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