Merge pull request #7141 from Sol1du2/issue/6990/WFSReadSrsDimension

Issue/6990/Wfs Read srsDimension
This commit is contained in:
Bart van den Eijnden
2017-08-29 09:38:13 +02:00
committed by GitHub
4 changed files with 111 additions and 3 deletions
+71
View File
@@ -1467,4 +1467,75 @@ describe('ol.format.GML3', function() {
});
describe('when parsing srsDimension from WFS (Geoserver)', function() {
var features, feature;
before(function(done) {
afterLoadText('spec/ol/format/gml/geoserver3DFeatures.xml',
function(xml) {
try {
var config = {
'featureNS': 'http://www.opengeospatial.net/cite',
'featureType': 'geoserver_layer'
};
features = new ol.format.GML(config).readFeatures(xml);
} catch (e) {
done(e);
}
done();
});
});
it('creates 3 features', function() {
expect(features).to.have.length(3);
});
it('creates a LineString', function() {
feature = features[0];
expect(feature.getId()).to.equal('geoserver_layer.1');
expect(feature.getGeometry()).to.be.an(ol.geom.LineString);
});
it('creates a Polygon', function() {
feature = features[1];
expect(feature.getId()).to.equal('geoserver_layer.2');
expect(feature.getGeometry()).to.be.an(ol.geom.Polygon);
});
it('creates a Point', function() {
feature = features[2];
expect(feature.getId()).to.equal('geoserver_layer.3');
expect(feature.getGeometry()).to.be.an(ol.geom.Point);
});
it('creates 3D Features with the expected geometries', function() {
var expectedGeometry1 = [
4.46386854, 51.91122415, 46.04679351,
4.46382399, 51.91120839, 46.04679382
];
var expectedGeometry2 = [
4.46385491, 51.91119276, 46.06074531,
4.4638264, 51.91118582, 46.06074609,
4.46380612, 51.91121772, 46.06074168,
4.46383463, 51.91122465, 46.06074089,
4.46385491, 51.91119276, 46.06074531
];
var expectedGeometry3 = [
4.46383715, 51.91125849, 46.04679348
];
feature = features[0];
expect(feature.getGeometry().getFlatCoordinates())
.to.eql(expectedGeometry1);
feature = features[1];
expect(feature.getGeometry().getFlatCoordinates())
.to.eql(expectedGeometry2);
feature = features[2];
expect(feature.getGeometry().getFlatCoordinates())
.to.eql(expectedGeometry3);
});
});
});
@@ -0,0 +1,33 @@
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:cite="http://www.opengeospatial.net/cite" xmlns:gml="http://www.opengis.net/gml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" numberOfFeatures="8" timeStamp="2017-08-14T13:29:50.356Z" xsi:schemaLocation="http://www.opengeospatial.net/cite http://localhost:8080/geoserver/wfs?service=WFS&amp;version=1.1.0&amp;request=DescribeFeatureType&amp;typeName=cite%3Ageoserver_layer http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd">
<gml:featureMembers>
<cite:geoserver_layer gml:id="geoserver_layer.1">
<cite:geom>
<gml:LineString srsName="urn:x-ogc:def:crs:EPSG:4326" srsDimension="3">
<gml:posList>
51.91122415 4.46386854 46.04679351 51.91120839 4.46382399 46.04679382
</gml:posList>
</gml:LineString>
</cite:geom>
</cite:geoserver_layer>
<cite:geoserver_layer gml:id="geoserver_layer.2">
<cite:geom>
<gml:Polygon srsName="urn:x-ogc:def:crs:EPSG:4326" srsDimension="3">
<gml:exterior>
<gml:LinearRing>
<gml:posList>
51.91119276 4.46385491 46.06074531 51.91118582 4.4638264 46.06074609 51.91121772 4.46380612 46.06074168 51.91122465 4.46383463 46.06074089 51.91119276 4.46385491 46.06074531
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</cite:geom>
</cite:geoserver_layer>
<cite:geoserver_layer gml:id="geoserver_layer.3">
<cite:geom>
<gml:Point srsName="urn:x-ogc:def:crs:EPSG:4326" srsDimension="3">
<gml:pos>51.91125849 4.46383715 46.04679348</gml:pos>
</gml:Point>
</cite:geom>
</cite:geoserver_layer>
</gml:featureMembers>
</wfs:FeatureCollection>