Organize tests
This commit is contained in:
1813
test/browser/spec/ol/format/esrijson.test.js
Normal file
1813
test/browser/spec/ol/format/esrijson.test.js
Normal file
File diff suppressed because it is too large
Load Diff
5258
test/browser/spec/ol/format/esrijson/ksfields.json
Normal file
5258
test/browser/spec/ol/format/esrijson/ksfields.json
Normal file
File diff suppressed because it is too large
Load Diff
1033
test/browser/spec/ol/format/geojson.test.js
Normal file
1033
test/browser/spec/ol/format/geojson.test.js
Normal file
File diff suppressed because it is too large
Load Diff
181
test/browser/spec/ol/format/geojson/countries.geojson
Normal file
181
test/browser/spec/ol/format/geojson/countries.geojson
Normal file
File diff suppressed because one or more lines are too long
2921
test/browser/spec/ol/format/gml.test.js
Normal file
2921
test/browser/spec/ol/format/gml.test.js
Normal file
File diff suppressed because it is too large
Load Diff
33
test/browser/spec/ol/format/gml/geoserver3DFeatures.xml
Normal file
33
test/browser/spec/ol/format/gml/geoserver3DFeatures.xml
Normal file
@@ -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&version=1.1.0&request=DescribeFeatureType&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>
|
||||
120
test/browser/spec/ol/format/gml/gml-complex.xml
Normal file
120
test/browser/spec/ol/format/gml/gml-complex.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tut="http://example.org/tutorial"
|
||||
xmlns:gml="http://www.opengis.net/gml" xmlns:gsml="urn:cgi:xmlns:CGI:GeoSciML:2.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" numberOfFeatures="3"
|
||||
timeStamp="2018-08-15T11:52:11.366Z"
|
||||
xsi:schemaLocation="urn:cgi:xmlns:CGI:GeoSciML:2.0 http://www.geosciml.org/geosciml/2.0/xsd/geosciml.xsd http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
|
||||
<gml:featureMember>
|
||||
<gsml:MappedFeature gml:id="mf.25699">
|
||||
<gml:name>Some basalt</gml:name>
|
||||
<gml:name>urn:x-test:GeologicUnit:16777549126931093</gml:name>
|
||||
<gsml:observationMethod>
|
||||
<gsml:CGI_TermValue>
|
||||
<gsml:value codeSpace="urn:ietf:rfc:2141">urn:ogc:def:nil:OGC:missing</gsml:value>
|
||||
</gsml:CGI_TermValue>
|
||||
</gsml:observationMethod>
|
||||
<gsml:positionalAccuracy>
|
||||
<gsml:CGI_TermValue>
|
||||
<gsml:value codeSpace="urn:ietf:rfc:2141">urn:ogc:def:nil:OGC:missing</gsml:value>
|
||||
</gsml:CGI_TermValue>
|
||||
</gsml:positionalAccuracy>
|
||||
<gsml:specification href="urn:x-test:GeologicUnit:16777549126931093" />
|
||||
<gsml:shape>
|
||||
<gml:Polygon srsDimension="2"
|
||||
srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing srsDimension="2">
|
||||
<gml:posList>1610340.1935838535 4284512.166074015
|
||||
1610314.9870748299 4284503.122122704 1610322.4187882338
|
||||
4284519.894649132 1610316.759094497 4284523.101981014
|
||||
1610321.0122971204 4284531.491206108 1610318.0495807002
|
||||
4284532.8242770685 1610319.6410451748 4284536.6111539425
|
||||
1610319.099298857 4284537.417781517 1610321.247194622
|
||||
4284537.699439952 1610317.932103093 4284554.413021458
|
||||
1610326.2462194602 4284557.157338472 1610328.402928607
|
||||
4284555.819838275 1610343.9490912845 4284513.26614925
|
||||
1610340.1935838535 4284512.166074015</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gsml:shape>
|
||||
</gsml:MappedFeature>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<gsml:MappedFeature gml:id="mf.25764">
|
||||
<gml:name>More basalt</gml:name>
|
||||
<gml:name>urn:x-test:GeologicUnit:16777549126931093</gml:name>
|
||||
<gsml:observationMethod>
|
||||
<gsml:CGI_TermValue>
|
||||
<gsml:value codeSpace="urn:ietf:rfc:2141">urn:ogc:def:nil:OGC:missing</gsml:value>
|
||||
</gsml:CGI_TermValue>
|
||||
</gsml:observationMethod>
|
||||
<gsml:positionalAccuracy>
|
||||
<gsml:CGI_TermValue>
|
||||
<gsml:value codeSpace="urn:ietf:rfc:2141">urn:ogc:def:nil:OGC:missing</gsml:value>
|
||||
</gsml:CGI_TermValue>
|
||||
</gsml:positionalAccuracy>
|
||||
<gsml:specification href="urn:x-test:GeologicUnit:16777549126931093" />
|
||||
<gsml:shape>
|
||||
<gml:Polygon srsDimension="2"
|
||||
srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing srsDimension="2">
|
||||
<gml:posList>1610718.9221517597 4284805.42784805
|
||||
1610707.3895121815 4284814.000918856 1610690.0555121175
|
||||
4284839.544424725 1610688.6493659448 4284851.141369273
|
||||
1610698.3130323582 4284852.813339175 1610705.8316511428
|
||||
4284853.6639760295 1610706.7412747787 4284834.507828795
|
||||
1610734.9743371184 4284830.61366508 1610750.0961105193
|
||||
4284816.66263084 1610763.83073235 4284810.800250375
|
||||
1610756.6916036862 4284789.441324945 1610725.3908253086
|
||||
4284801.684887575 1610730.1263850513 4284820.332010645
|
||||
1610726.08892804 4284821.659368354 1610723.710210181
|
||||
4284814.359796638 1610718.9221517597 4284805.42784805
|
||||
</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gsml:shape>
|
||||
</gsml:MappedFeature>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<gsml:MappedFeature gml:id="mf.26106">
|
||||
<gml:name>Some mudstone</gml:name>
|
||||
<gml:name>urn:x-test:GeologicUnit:16777549126931077</gml:name>
|
||||
<gsml:observationMethod>
|
||||
<gsml:CGI_TermValue>
|
||||
<gsml:value codeSpace="urn:ietf:rfc:2141">urn:ogc:def:nil:OGC:missing</gsml:value>
|
||||
</gsml:CGI_TermValue>
|
||||
</gsml:observationMethod>
|
||||
<gsml:positionalAccuracy>
|
||||
<gsml:CGI_TermValue>
|
||||
<gsml:value codeSpace="urn:ietf:rfc:2141">urn:ogc:def:nil:OGC:missing</gsml:value>
|
||||
</gsml:CGI_TermValue>
|
||||
</gsml:positionalAccuracy>
|
||||
<gsml:specification href="urn:x-test:GeologicUnit:16777549126931077" />
|
||||
<gsml:shape>
|
||||
<gml:Polygon srsDimension="2"
|
||||
srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing srsDimension="2">
|
||||
<gml:posList>1610399.8069898037 4284790.189299587
|
||||
1610398.8760062372 4284763.736632759 1610381.1448500715
|
||||
4284763.369532419 1610380.8659049459 4284765.257112044
|
||||
1610366.8844742253 4284767.069534708 1610366.554168919
|
||||
4284778.402387972 1610363.857132307 4284780.276704736
|
||||
1610358.2706932572 4284769.990881423 1610363.6662297642
|
||||
4284765.9723890135 1610352.2305719855 4284744.319844696
|
||||
1610332.5497155024 4284756.625971695 1610332.5306289664
|
||||
4284760.134211061 1610339.4369314983 4284774.745249511
|
||||
1610350.0724354137 4284795.313982406 1610366.7215974482
|
||||
4284797.024567371 1610374.5176296765 4284796.257709886
|
||||
1610399.8069898037 4284790.189299587</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gsml:shape>
|
||||
</gsml:MappedFeature>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
47
test/browser/spec/ol/format/gml/more-geoms.xml
Normal file
47
test/browser/spec/ol/format/gml/more-geoms.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="1" timeStamp="2010-01-29T15:10:38.921-07:00"
|
||||
xsi:schemaLocation="http://medford.opengeo.org http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=medford%3Azoning http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:medford="http://opengeo.org/#medford"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<medford:zoning gml:id="zoning.1">
|
||||
<medford:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>42.397027571297585 -122.88465674265922 42.39702893980587 -122.88509730796012 42.397029086785146 -122.88511582432085 42.39702379767053 -122.88528111596624 42.39748517484964 -122.88529300380065 42.39748473847452 -122.88509914138723 42.39748482219041 -122.8849959517568 42.397485082635576 -122.8846741899541 42.3974853307826 -122.88436529392652 42.39702663751206 -122.88435664014142 42.397027571297585 -122.88465674265922</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</medford:the_geom>
|
||||
<medford:center>
|
||||
<gml:Point srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:pos>1 2</gml:pos>
|
||||
</gml:Point>
|
||||
</medford:center>
|
||||
<medford:objectid>1</medford:objectid>
|
||||
<medford:cityzone>YES</medford:cityzone>
|
||||
<medford:zoning>I-L</medford:zoning>
|
||||
<medford:revdate>2004-04-12T00:00:00-06:00</medford:revdate>
|
||||
<medford:finord></medford:finord>
|
||||
<medford:filenum></medford:filenum>
|
||||
<medford:acres>0.95741118624</medford:acres>
|
||||
<medford:misc></medford:misc>
|
||||
<medford:shape_leng>835.705330224</medford:shape_leng>
|
||||
<medford:perimeter>835.705330224</medford:perimeter>
|
||||
<medford:area>41704.8312728</medford:area>
|
||||
<medford:shape_le_1>835.705330224</medford:shape_le_1>
|
||||
<medford:shape_area>41704.8312728</medford:shape_area>
|
||||
<medford:hectares>0.38745056079</medford:hectares>
|
||||
</medford:zoning>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version='1.0' encoding="UTF-8" ?>
|
||||
<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.opengis.net/wfs/1.1.0/WFS-basic.xsd
|
||||
http://mapserver.gis.umn.edu/mapserver https://server.com/mapserv?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=feature:information,feature:bus_stop&OUTPUTFORMAT=XMLSCHEMA">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:21781">
|
||||
<gml:coordinates>539647.507960,151807.355864 540717.151197,152910.783525</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<gml:featureMember>
|
||||
<ms:bus_stop fid="bus_stop.347267989">
|
||||
<ms:osm_id>347267989</ms:osm_id>
|
||||
</ms:bus_stop>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:bus_stop fid="bus_stop.983813610">
|
||||
<ms:osm_id>983813610</ms:osm_id>
|
||||
</ms:bus_stop>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:bus_stop fid="bus_stop.347549357">
|
||||
<ms:osm_id>347549357</ms:osm_id>
|
||||
</ms:bus_stop>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:information fid="information.34751234">
|
||||
<ms:osm_id>34751234</ms:osm_id>
|
||||
</ms:information>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:information fid="information.34751235">
|
||||
<ms:osm_id>34751235</ms:osm_id>
|
||||
</ms:information>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
68
test/browser/spec/ol/format/gml/multiple-typenames-ns.xml
Normal file
68
test/browser/spec/ol/format/gml/multiple-typenames-ns.xml
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:it.geosolutions="http://www.geo-solutions.it"
|
||||
xmlns:cite="http://www.opengeospatial.net/cite" xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:tiger="http://www.census.gov" xmlns:sde="http://geoserver.sf.net"
|
||||
xmlns:topp="http://www.openplans.org/topp" xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sf="http://www.openplans.org/spearfish" xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:nurc="http://www.nurc.nato.int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
numberOfFeatures="874" timeStamp="2015-03-04T09:53:58.763Z"
|
||||
xsi:schemaLocation="http://www.openplans.org/topp http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=topp%3Astates http://www.openplans.org/spearfish http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=sf%3Aroads http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd">
|
||||
<gml:featureMembers>
|
||||
<topp:states gml:id="states.1">
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsDimension="2" srsName="EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon srsDimension="2">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing srsDimension="2">
|
||||
<gml:posList>37.51099000000001 -88.071564 37.476273000000006
|
||||
-88.087883 37.442852 -88.311707 37.40930899999999 -88.359177
|
||||
37.51099000000001 -88.071564</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Illinois</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>17</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>E N Cen</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>IL</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>143986.61</topp:LAND_KM>
|
||||
<topp:WATER_KM>1993.335</topp:WATER_KM>
|
||||
<topp:PERSONS>1.1430602E7</topp:PERSONS>
|
||||
<topp:FAMILIES>2924880.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>4202240.0</topp:HOUSHOLD>
|
||||
<topp:MALE>5552233.0</topp:MALE>
|
||||
<topp:FEMALE>5878369.0</topp:FEMALE>
|
||||
<topp:WORKERS>4199206.0</topp:WORKERS>
|
||||
<topp:DRVALONE>3741715.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>652603.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>538071.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>5417967.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>385040.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>1360159.0</topp:SERVICE>
|
||||
<topp:MANUAL>828906.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.486</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.514</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>1747776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
<sf:roads gml:id="roads.1">
|
||||
<sf:the_geom>
|
||||
<gml:MultiLineString srsDimension="2" srsName="EPSG:4326">
|
||||
<gml:lineStringMember>
|
||||
<gml:LineString srsDimension="2">
|
||||
<gml:posList>37.51099000000001 -88.071564 37.476273000000006
|
||||
-88.087883 37.442852 -88.311707 37.40930899999999 -88.359177
|
||||
37.51099000000001 -88.071564</gml:posList>
|
||||
</gml:LineString>
|
||||
</gml:lineStringMember>
|
||||
</gml:MultiLineString>
|
||||
</sf:the_geom>
|
||||
<sf:cat>5</sf:cat>
|
||||
<sf:label>unimproved road</sf:label>
|
||||
</sf:roads>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
44
test/browser/spec/ol/format/gml/multiple-typenames.xml
Normal file
44
test/browser/spec/ol/format/gml/multiple-typenames.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:official="http://localhost:8080/official" xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" numberOfFeatures="12"
|
||||
timeStamp="2014-11-03T21:04:28.345Z">
|
||||
<gml:featureMembers>
|
||||
<official:planet_osm_line gml:id="planet_osm_line.fid-53719711_14976c6c1aa_6795">
|
||||
<official:osm_id>3822829</official:osm_id>
|
||||
</official:planet_osm_line>
|
||||
<official:planet_osm_line gml:id="planet_osm_line.fid-53719711_14976c6c1aa_6796">
|
||||
<official:osm_id>3820888</official:osm_id>
|
||||
</official:planet_osm_line>
|
||||
<official:planet_osm_line gml:id="planet_osm_line.fid-53719711_14976c6c1aa_6797">
|
||||
<official:osm_id>296916318</official:osm_id>
|
||||
</official:planet_osm_line>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_6798">
|
||||
<official:osm_id>37244</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_6799">
|
||||
<official:osm_id>1641478</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_679a">
|
||||
<official:osm_id>1244004</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_679b">
|
||||
<official:osm_id>22259</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_679c">
|
||||
<official:osm_id>1606103</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_679d">
|
||||
<official:osm_id>3217145</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_679e">
|
||||
<official:osm_id>3228576</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_679f">
|
||||
<official:osm_id>936994</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
<official:planet_osm_polygon gml:id="planet_osm_polygon.fid-53719711_14976c6c1aa_67a0">
|
||||
<official:osm_id>936990</official:osm_id>
|
||||
</official:planet_osm_polygon>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
26
test/browser/spec/ol/format/gml/ogr.xml
Normal file
26
test/browser/spec/ol/format/gml/ogr.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<wfs:FeatureCollection
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xsi:schemaLocation="http://ogr.maptools.org/ test.xsd"
|
||||
xmlns:ogr="http://ogr.maptools.org/"
|
||||
xmlns:gml="http://www.opengis.net/gml">
|
||||
|
||||
|
||||
<gml:featureMember>
|
||||
<ogr:Plaatsbepalingspunt fid="Plaatsbepalingspunt.0">
|
||||
<ogr:geometryProperty>
|
||||
<gml:Point>
|
||||
<gml:pos srsDimension="2">115512.666 479836.28</gml:pos>
|
||||
</gml:Point>
|
||||
</ogr:geometryProperty>
|
||||
<ogr:gml_id>x2</ogr:gml_id>
|
||||
<ogr:namespace>NL.IMGEO</ogr:namespace>
|
||||
<ogr:lokaalID>L0001.A3C177B4105A4FFD82EB80084C8CA732</ogr:lokaalID>
|
||||
<ogr:nauwkeurigheid>60</ogr:nauwkeurigheid>
|
||||
<ogr:datumInwinning>2014-02-14</ogr:datumInwinning>
|
||||
<ogr:inwinnendeInstantie>L0001</ogr:inwinnendeInstantie>
|
||||
<ogr:inwinningsmethode>fotogrammetrisch</ogr:inwinningsmethode>
|
||||
</ogr:Plaatsbepalingspunt>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
41
test/browser/spec/ol/format/gml/only-boundedby.xml
Normal file
41
test/browser/spec/ol/format/gml/only-boundedby.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="3" timeStamp="2008-09-12T00:24:21.013-04:00"
|
||||
xsi:schemaLocation="http://www.openplans.org/topp http://sigma.openplans.org:80/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=topp:states http://www.opengis.net/wfs http://sigma.openplans.org:80/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc" xmlns:opengeo="http://open-geo.com"
|
||||
xmlns:tiger="http://www.census.gov" xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:topp="http://www.openplans.org/topp" xmlns:seb="http://seb.com"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<topp:states gml:id="states.1">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>36.986 -91.516</gml:lowerCorner>
|
||||
<gml:upperCorner>42.509 -87.507</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:STATE_NAME>Illinois</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>17</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>E N Cen</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>IL</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>143986.61</topp:LAND_KM>
|
||||
<topp:WATER_KM>1993.335</topp:WATER_KM>
|
||||
<topp:PERSONS>1.143E7</topp:PERSONS>
|
||||
<topp:FAMILIES>2924880.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>4202240.0</topp:HOUSHOLD>
|
||||
<topp:MALE>5552233.0</topp:MALE>
|
||||
<topp:FEMALE>5878369.0</topp:FEMALE>
|
||||
<topp:WORKERS>4199206.0</topp:WORKERS>
|
||||
<topp:DRVALONE>3741715.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>652603.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>538071.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>5417967.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>385040.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>1360159.0</topp:SERVICE>
|
||||
<topp:MANUAL>828906.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.486</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.514</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>1747776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
74
test/browser/spec/ol/format/gml/osm-wfs-10.xml
Normal file
74
test/browser/spec/ol/format/gml/osm-wfs-10.xml
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection xmlns="http://www.opengis.net/wfs" xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:gml="http://www.opengis.net/gml" xmlns:osm="http://openstreemap.org"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://openstreemap.org http://demo.boundlessgeo.com:80/geoserver/wfs?service=WFS&version=1.0.0&request=DescribeFeatureType&typeName=osm%3Awater_areas http://www.opengis.net/wfs http://demo.boundlessgeo.com:80/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8968891.6,5359194.88 -8851849.35,5404697.62</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<gml:featureMember>
|
||||
<osm:water_areas fid="water_areas.1">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8861874.95,5404470.6 -8861656.64,5404697.62</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<osm:osm_id>43923968</osm:osm_id>
|
||||
<osm:way>
|
||||
<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:outerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8861874.95,5404567.88 -8861764.02,5404697.62 -8861656.64,5404593.11 -8861763.02,5404470.6 -8861874.95,5404567.88</gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:outerBoundaryIs>
|
||||
</gml:Polygon>
|
||||
</osm:way>
|
||||
<osm:natural>natural</osm:natural>
|
||||
<osm:landuse>reservoir</osm:landuse>
|
||||
</osm:water_areas>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<osm:water_areas fid="water_areas.6">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8878000.03,5387681.65 -8877690.97,5388003.42</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<osm:osm_id>43936917</osm:osm_id>
|
||||
<osm:way>
|
||||
<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:outerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8878000.03,5387863.07 -8877848.36,5388003.42 -8877729.84,5387882.79 -8877690.97,5387798.34 -8877820.3,5387681.65 -8877881.51,5387742.44 -8878000.03,5387863.07</gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:outerBoundaryIs>
|
||||
</gml:Polygon>
|
||||
</osm:way>
|
||||
<osm:natural>natural</osm:natural>
|
||||
<osm:landuse>reservoir</osm:landuse>
|
||||
</osm:water_areas>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<osm:water_areas fid="water_areas.8">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8867744.24,5392288.05 -8867560.83,5392575.38</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<osm:osm_id>43923958</osm:osm_id>
|
||||
<osm:way>
|
||||
<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">
|
||||
<gml:outerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">-8867744.24,5392373.3 -8867676.8,5392462.18 -8867721.93,5392503.87 -8867662.89,5392575.38 -8867588.37,5392518.12 -8867634.04,5392444.68 -8867560.83,5392387.74 -8867629.53,5392288.05 -8867744.24,5392373.3</gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:outerBoundaryIs>
|
||||
</gml:Polygon>
|
||||
</osm:way>
|
||||
<osm:natural>natural</osm:natural>
|
||||
<osm:landuse>reservoir</osm:landuse>
|
||||
</osm:water_areas>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
42
test/browser/spec/ol/format/gml/repeated-name.xml
Normal file
42
test/browser/spec/ol/format/gml/repeated-name.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="1" timeStamp="2010-01-29T15:10:38.921-07:00"
|
||||
xsi:schemaLocation="http://medford.opengeo.org http://localhost:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=medford%3Azoning http://www.opengis.net/wfs http://localhost:8080/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:medford="http://opengeo.org/#medford"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<medford:zoning gml:id="zoning.1">
|
||||
<medford:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>42.397027571297585 -122.88465674265922 42.39702893980587 -122.88509730796012 42.397029086785146 -122.88511582432085 42.39702379767053 -122.88528111596624 42.39748517484964 -122.88529300380065 42.39748473847452 -122.88509914138723 42.39748482219041 -122.8849959517568 42.397485082635576 -122.8846741899541 42.3974853307826 -122.88436529392652 42.39702663751206 -122.88435664014142 42.397027571297585 -122.88465674265922</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</medford:the_geom>
|
||||
<medford:objectid>1</medford:objectid>
|
||||
<medford:cityzone>YES</medford:cityzone>
|
||||
<medford:zoning>I-L</medford:zoning>
|
||||
<medford:revdate>2004-04-12T00:00:00-06:00</medford:revdate>
|
||||
<medford:finord></medford:finord>
|
||||
<medford:filenum></medford:filenum>
|
||||
<medford:acres>0.95741118624</medford:acres>
|
||||
<medford:misc></medford:misc>
|
||||
<medford:shape_leng>835.705330224</medford:shape_leng>
|
||||
<medford:perimeter>835.705330224</medford:perimeter>
|
||||
<medford:area>41704.8312728</medford:area>
|
||||
<medford:shape_le_1>835.705330224</medford:shape_le_1>
|
||||
<medford:shape_area>41704.8312728</medford:shape_area>
|
||||
<medford:hectares>0.38745056079</medford:hectares>
|
||||
</medford:zoning>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
@@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gml:FeatureCollection
|
||||
xmlns:ogc="http://www.opengis.net/ogc" xmlns:opengeo="http://open-geo.com"
|
||||
xmlns:tiger="http://www.census.gov" xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:topp="http://www.openplans.org/topp" xmlns:seb="http://seb.com"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMember>
|
||||
<topp:states gml:id="states.1">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>36.986 -91.516</gml:lowerCorner>
|
||||
<gml:upperCorner>42.509 -87.507</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>37.511 -88.071 37.476 -88.087 37.442 -88.311 37.409
|
||||
-88.359 37.421 -88.419 37.401 -88.467 37.296 -88.511 37.257
|
||||
-88.501 37.205 -88.451 37.156 -88.422 37.098 -88.451 37.072
|
||||
-88.476 37.068 -88.491 37.064 -88.517 37.072 -88.559 37.109
|
||||
-88.614 37.135 -88.688 37.141 -88.739 37.152 -88.746 37.202
|
||||
-88.863 37.218 -88.932 37.221 -88.993 37.185 -89.065 37.112
|
||||
-89.116 37.093 -89.146 37.064 -89.169 37.025 -89.174 36.998
|
||||
-89.151 36.988 -89.129 36.986 -89.193 37.028 -89.211 37.041
|
||||
-89.237 37.087 -89.264 37.091 -89.284 37.085 -89.303 37.061
|
||||
-89.309 37.027 -89.264 37.008 -89.262 36.999 -89.282 37.009
|
||||
-89.311 37.049 -89.382 37.099 -89.379 37.137 -89.423 37.165
|
||||
-89.441 37.224 -89.468 37.253 -89.465 37.256 -89.489 37.276
|
||||
-89.513 37.304 -89.513 37.329 -89.501 37.339 -89.468 37.355
|
||||
-89.435 37.411 -89.427 37.453 -89.453 37.491 -89.494 37.571
|
||||
-89.524 37.615 -89.513 37.651 -89.519 37.679 -89.513 37.694
|
||||
-89.521 37.706 -89.581 37.745 -89.666 37.783 -89.675 37.804
|
||||
-89.691 37.841 -89.728 37.905 -89.851 37.905 -89.861 37.891
|
||||
-89.866 37.875 -89.901 37.878 -89.937 37.911 -89.978 37.963
|
||||
-89.958 37.969 -90.011 37.993 -90.041 38.032 -90.119 38.053
|
||||
-90.134 38.088 -90.207 38.122 -90.254 38.166 -90.289 38.188
|
||||
-90.336 38.234 -90.364 38.323 -90.369 38.365 -90.358 38.391
|
||||
-90.339 38.427 -90.301 38.518 -90.265 38.532 -90.261 38.562
|
||||
-90.241 38.611 -90.183 38.658 -90.183 38.701 -90.202 38.723
|
||||
-90.196 38.773 -90.163 38.785 -90.135 38.801 -90.121 38.831
|
||||
-90.113 38.853 -90.132 38.914 -90.243 38.924 -90.278 38.924
|
||||
-90.319 38.962 -90.413 38.959 -90.469 38.891 -90.531 38.871
|
||||
-90.571 38.881 -90.627 38.935 -90.668 39.037 -90.706 39.058
|
||||
-90.707 39.093 -90.691 39.144 -90.716 39.195 -90.718 39.224
|
||||
-90.732 39.247 -90.738 39.296 -90.779 39.351 -90.851 39.401
|
||||
-90.947 39.444 -91.036 39.473 -91.064 39.528 -91.093 39.552
|
||||
-91.156 39.601 -91.203 39.685 -91.317 39.724 -91.367 39.761
|
||||
-91.373 39.803 -91.381 39.863 -91.449 39.885 -91.451 39.901
|
||||
-91.434 39.921 -91.431 39.946 -91.447 40.005 -91.487 40.066
|
||||
-91.504 40.134 -91.516 40.201 -91.506 40.251 -91.498 40.309
|
||||
-91.486 40.371 -91.448 40.386 -91.418 40.392 -91.385 40.402
|
||||
-91.372 40.447 -91.385 40.503 -91.374 40.528 -91.382 40.547
|
||||
-91.412 40.572 -91.411 40.603 -91.375 40.639 -91.262 40.643
|
||||
-91.214 40.656 -91.162 40.682 -91.129 40.705 -91.119 40.761
|
||||
-91.092 40.833 -91.088 40.879 -91.049 40.923 -90.983 40.951
|
||||
-90.961 41.071 -90.954 41.104 -90.957 41.144 -90.991 41.165
|
||||
-91.018 41.176 -91.056 41.231 -91.101 41.267 -91.102 41.334
|
||||
-91.073 41.401 -91.055 41.423 -91.027 41.431 -91.001 41.421
|
||||
-90.949 41.444 -90.844 41.449 -90.779 41.451 -90.708 41.462
|
||||
-90.658 41.509 -90.601 41.525 -90.541 41.527 -90.454 41.543
|
||||
-90.434 41.567 -90.423 41.586 -90.348 41.602 -90.339 41.649
|
||||
-90.341 41.722 -90.326 41.756 -90.304 41.781 -90.255 41.806
|
||||
-90.195 41.931 -90.154 41.983 -90.142 42.033 -90.151 42.061
|
||||
-90.168 42.103 -90.166 42.121 -90.176 42.122 -90.191 42.159
|
||||
-90.231 42.197 -90.323 42.211 -90.367 42.242 -90.407 42.263
|
||||
-90.417 42.341 -90.427 42.361 -90.441 42.388 -90.491 42.421
|
||||
-90.563 42.461 -90.605 42.475 -90.648 42.494 -90.651 42.509
|
||||
-90.638 42.508 -90.419 42.504 -89.923 42.503 -89.834 42.497
|
||||
-89.401 42.497 -89.359 42.491 -88.939 42.491 -88.764 42.489
|
||||
-88.706 42.491 -88.297 42.489 -88.194 42.489 -87.797 42.314
|
||||
-87.836 42.156 -87.761 42.059 -87.671 41.847 -87.612 41.723
|
||||
-87.529 41.469 -87.532 41.301 -87.532 41.173 -87.531 41.009
|
||||
-87.532 40.745 -87.532 40.494 -87.537 40.483 -87.535 40.166
|
||||
-87.535 39.887 -87.535 39.609 -87.535 39.477 -87.538 39.351
|
||||
-87.541 39.338 -87.597 39.307 -87.625 39.297 -87.611 39.281
|
||||
-87.615 39.258 -87.606 39.248 -87.584 39.208 -87.588 39.198
|
||||
-87.594 39.196 -87.607 39.168 -87.644 39.146 -87.671 39.131
|
||||
-87.659 39.113 -87.662 39.103 -87.631 39.088 -87.631 39.084
|
||||
-87.612 39.062 -87.585 38.995 -87.581 38.994 -87.591 38.977
|
||||
-87.547 38.963 -87.533 38.931 -87.531 38.904 -87.539 38.869
|
||||
-87.559 38.857 -87.551 38.795 -87.507 38.776 -87.519 38.769
|
||||
-87.508 38.736 -87.508 38.685 -87.543 38.672 -87.588 38.642
|
||||
-87.625 38.622 -87.628 38.599 -87.619 38.593 -87.641 38.573
|
||||
-87.652 38.547 -87.672 38.515 -87.651 38.501 -87.653 38.504
|
||||
-87.679 38.481 -87.692 38.466 -87.756 38.457 -87.758 38.445
|
||||
-87.738 38.417 -87.748 38.378 -87.784 38.352 -87.834 38.286
|
||||
-87.851 38.285 -87.863 38.316 -87.874 38.315 -87.883 38.301
|
||||
-87.888 38.281 -87.914 38.302 -87.913 38.304 -87.925 38.241
|
||||
-87.981 38.234 -87.986 38.201 -87.977 38.171 -87.932 38.157
|
||||
-87.931 38.136 -87.951 38.131 -87.973 38.103 -88.018 38.092
|
||||
-88.012 38.096 -87.964 38.073 -87.975 38.054 -88.034 38.045
|
||||
-88.043 38.038 -88.041 38.033 -88.021 38.008 -88.029 37.975
|
||||
-88.021 37.956 -88.042 37.934 -88.041 37.929 -88.064 37.944
|
||||
-88.078 37.923 -88.084 37.917 -88.031 37.905 -88.026 37.896
|
||||
-88.044 37.906 -88.101 37.895 -88.101 37.867 -88.075 37.843
|
||||
-88.034 37.827 -88.042 37.831 -88.089 37.817 -88.086 37.805
|
||||
-88.035 37.735 -88.072 37.701 -88.133 37.661 -88.159 37.628
|
||||
-88.157 37.583 -88.134 37.511 -88.071</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Illinois</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>17</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>E N Cen</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>IL</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>143986.61</topp:LAND_KM>
|
||||
<topp:WATER_KM>1993.335</topp:WATER_KM>
|
||||
<topp:PERSONS>1.143E7</topp:PERSONS>
|
||||
<topp:FAMILIES>2924880.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>4202240.0</topp:HOUSHOLD>
|
||||
<topp:MALE>5552233.0</topp:MALE>
|
||||
<topp:FEMALE>5878369.0</topp:FEMALE>
|
||||
<topp:WORKERS>4199206.0</topp:WORKERS>
|
||||
<topp:DRVALONE>3741715.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>652603.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>538071.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>5417967.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>385040.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>1360159.0</topp:SERVICE>
|
||||
<topp:MANUAL>828906.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.486</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.514</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>1747776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<topp:states gml:id="states.2">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>38.788 -77.122</gml:lowerCorner>
|
||||
<gml:upperCorner>38.993 -76.911</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>38.966 -77.008 38.889 -76.911 38.788 -77.045 38.813
|
||||
-77.035 38.829 -77.045 38.838 -77.041 38.862 -77.039 38.886
|
||||
-77.067 38.915 -77.078 38.932 -77.122 38.993 -77.042 38.966
|
||||
-77.008</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>District of Columbia</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>11</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>S Atl</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>DC</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>159.055</topp:LAND_KM>
|
||||
<topp:WATER_KM>17.991</topp:WATER_KM>
|
||||
<topp:PERSONS>606900.0</topp:PERSONS>
|
||||
<topp:FAMILIES>122087.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>249634.0</topp:HOUSHOLD>
|
||||
<topp:MALE>282970.0</topp:MALE>
|
||||
<topp:FEMALE>323930.0</topp:FEMALE>
|
||||
<topp:WORKERS>229975.0</topp:WORKERS>
|
||||
<topp:DRVALONE>106694.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>36621.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>111422.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>303994.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>23442.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>65498.0</topp:SERVICE>
|
||||
<topp:MANUAL>22407.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.466</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.534</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>72696.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<topp:states gml:id="states.3">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>38.449 -75.791</gml:lowerCorner>
|
||||
<gml:upperCorner>39.841 -75.045</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>38.557 -75.707 38.649 -75.711 38.831 -75.724 39.141
|
||||
-75.752 39.247 -75.761 39.295 -75.764 39.383 -75.772 39.723
|
||||
-75.791 39.724 -75.775 39.774 -75.745 39.821 -75.695 39.838
|
||||
-75.644 39.841 -75.583 39.826 -75.471 39.798 -75.421 39.789
|
||||
-75.412 39.778 -75.428 39.763 -75.461 39.741 -75.475 39.719
|
||||
-75.476 39.714 -75.489 39.612 -75.611 39.566 -75.562 39.463
|
||||
-75.591 39.366 -75.515 39.257 -75.402 39.073 -75.397 39.012
|
||||
-75.324 38.945 -75.307 38.808 -75.191 38.799 -75.083 38.449
|
||||
-75.045 38.449 -75.068 38.451 -75.093 38.455 -75.351 38.463
|
||||
-75.699 38.557 -75.707</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Delaware</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>10</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>S Atl</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>DE</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>5062.456</topp:LAND_KM>
|
||||
<topp:WATER_KM>1385.022</topp:WATER_KM>
|
||||
<topp:PERSONS>666168.0</topp:PERSONS>
|
||||
<topp:FAMILIES>175867.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>247497.0</topp:HOUSHOLD>
|
||||
<topp:MALE>322968.0</topp:MALE>
|
||||
<topp:FEMALE>343200.0</topp:FEMALE>
|
||||
<topp:WORKERS>247566.0</topp:WORKERS>
|
||||
<topp:DRVALONE>258087.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>42968.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>8069.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>335147.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>13945.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>87973.0</topp:SERVICE>
|
||||
<topp:MANUAL>44140.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.485</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.515</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>102776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
</gml:featureMember>
|
||||
</gml:FeatureCollection>
|
||||
1097
test/browser/spec/ol/format/gml/topp-states-gml.xml
Normal file
1097
test/browser/spec/ol/format/gml/topp-states-gml.xml
Normal file
File diff suppressed because it is too large
Load Diff
233
test/browser/spec/ol/format/gml/topp-states-wfs.xml
Normal file
233
test/browser/spec/ol/format/gml/topp-states-wfs.xml
Normal file
@@ -0,0 +1,233 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="3" timeStamp="2008-09-12T00:24:21.013-04:00"
|
||||
xsi:schemaLocation="http://www.openplans.org/topp http://sigma.openplans.org:80/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=topp:states http://www.opengis.net/wfs http://sigma.openplans.org:80/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc" xmlns:opengeo="http://open-geo.com"
|
||||
xmlns:tiger="http://www.census.gov" xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:topp="http://www.openplans.org/topp" xmlns:seb="http://seb.com"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<topp:states gml:id="states.1">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>36.986 -91.516</gml:lowerCorner>
|
||||
<gml:upperCorner>42.509 -87.507</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>37.511 -88.071 37.476 -88.087 37.442 -88.311 37.409
|
||||
-88.359 37.421 -88.419 37.401 -88.467 37.296 -88.511 37.257
|
||||
-88.501 37.205 -88.451 37.156 -88.422 37.098 -88.451 37.072
|
||||
-88.476 37.068 -88.491 37.064 -88.517 37.072 -88.559 37.109
|
||||
-88.614 37.135 -88.688 37.141 -88.739 37.152 -88.746 37.202
|
||||
-88.863 37.218 -88.932 37.221 -88.993 37.185 -89.065 37.112
|
||||
-89.116 37.093 -89.146 37.064 -89.169 37.025 -89.174 36.998
|
||||
-89.151 36.988 -89.129 36.986 -89.193 37.028 -89.211 37.041
|
||||
-89.237 37.087 -89.264 37.091 -89.284 37.085 -89.303 37.061
|
||||
-89.309 37.027 -89.264 37.008 -89.262 36.999 -89.282 37.009
|
||||
-89.311 37.049 -89.382 37.099 -89.379 37.137 -89.423 37.165
|
||||
-89.441 37.224 -89.468 37.253 -89.465 37.256 -89.489 37.276
|
||||
-89.513 37.304 -89.513 37.329 -89.501 37.339 -89.468 37.355
|
||||
-89.435 37.411 -89.427 37.453 -89.453 37.491 -89.494 37.571
|
||||
-89.524 37.615 -89.513 37.651 -89.519 37.679 -89.513 37.694
|
||||
-89.521 37.706 -89.581 37.745 -89.666 37.783 -89.675 37.804
|
||||
-89.691 37.841 -89.728 37.905 -89.851 37.905 -89.861 37.891
|
||||
-89.866 37.875 -89.901 37.878 -89.937 37.911 -89.978 37.963
|
||||
-89.958 37.969 -90.011 37.993 -90.041 38.032 -90.119 38.053
|
||||
-90.134 38.088 -90.207 38.122 -90.254 38.166 -90.289 38.188
|
||||
-90.336 38.234 -90.364 38.323 -90.369 38.365 -90.358 38.391
|
||||
-90.339 38.427 -90.301 38.518 -90.265 38.532 -90.261 38.562
|
||||
-90.241 38.611 -90.183 38.658 -90.183 38.701 -90.202 38.723
|
||||
-90.196 38.773 -90.163 38.785 -90.135 38.801 -90.121 38.831
|
||||
-90.113 38.853 -90.132 38.914 -90.243 38.924 -90.278 38.924
|
||||
-90.319 38.962 -90.413 38.959 -90.469 38.891 -90.531 38.871
|
||||
-90.571 38.881 -90.627 38.935 -90.668 39.037 -90.706 39.058
|
||||
-90.707 39.093 -90.691 39.144 -90.716 39.195 -90.718 39.224
|
||||
-90.732 39.247 -90.738 39.296 -90.779 39.351 -90.851 39.401
|
||||
-90.947 39.444 -91.036 39.473 -91.064 39.528 -91.093 39.552
|
||||
-91.156 39.601 -91.203 39.685 -91.317 39.724 -91.367 39.761
|
||||
-91.373 39.803 -91.381 39.863 -91.449 39.885 -91.451 39.901
|
||||
-91.434 39.921 -91.431 39.946 -91.447 40.005 -91.487 40.066
|
||||
-91.504 40.134 -91.516 40.201 -91.506 40.251 -91.498 40.309
|
||||
-91.486 40.371 -91.448 40.386 -91.418 40.392 -91.385 40.402
|
||||
-91.372 40.447 -91.385 40.503 -91.374 40.528 -91.382 40.547
|
||||
-91.412 40.572 -91.411 40.603 -91.375 40.639 -91.262 40.643
|
||||
-91.214 40.656 -91.162 40.682 -91.129 40.705 -91.119 40.761
|
||||
-91.092 40.833 -91.088 40.879 -91.049 40.923 -90.983 40.951
|
||||
-90.961 41.071 -90.954 41.104 -90.957 41.144 -90.991 41.165
|
||||
-91.018 41.176 -91.056 41.231 -91.101 41.267 -91.102 41.334
|
||||
-91.073 41.401 -91.055 41.423 -91.027 41.431 -91.001 41.421
|
||||
-90.949 41.444 -90.844 41.449 -90.779 41.451 -90.708 41.462
|
||||
-90.658 41.509 -90.601 41.525 -90.541 41.527 -90.454 41.543
|
||||
-90.434 41.567 -90.423 41.586 -90.348 41.602 -90.339 41.649
|
||||
-90.341 41.722 -90.326 41.756 -90.304 41.781 -90.255 41.806
|
||||
-90.195 41.931 -90.154 41.983 -90.142 42.033 -90.151 42.061
|
||||
-90.168 42.103 -90.166 42.121 -90.176 42.122 -90.191 42.159
|
||||
-90.231 42.197 -90.323 42.211 -90.367 42.242 -90.407 42.263
|
||||
-90.417 42.341 -90.427 42.361 -90.441 42.388 -90.491 42.421
|
||||
-90.563 42.461 -90.605 42.475 -90.648 42.494 -90.651 42.509
|
||||
-90.638 42.508 -90.419 42.504 -89.923 42.503 -89.834 42.497
|
||||
-89.401 42.497 -89.359 42.491 -88.939 42.491 -88.764 42.489
|
||||
-88.706 42.491 -88.297 42.489 -88.194 42.489 -87.797 42.314
|
||||
-87.836 42.156 -87.761 42.059 -87.671 41.847 -87.612 41.723
|
||||
-87.529 41.469 -87.532 41.301 -87.532 41.173 -87.531 41.009
|
||||
-87.532 40.745 -87.532 40.494 -87.537 40.483 -87.535 40.166
|
||||
-87.535 39.887 -87.535 39.609 -87.535 39.477 -87.538 39.351
|
||||
-87.541 39.338 -87.597 39.307 -87.625 39.297 -87.611 39.281
|
||||
-87.615 39.258 -87.606 39.248 -87.584 39.208 -87.588 39.198
|
||||
-87.594 39.196 -87.607 39.168 -87.644 39.146 -87.671 39.131
|
||||
-87.659 39.113 -87.662 39.103 -87.631 39.088 -87.631 39.084
|
||||
-87.612 39.062 -87.585 38.995 -87.581 38.994 -87.591 38.977
|
||||
-87.547 38.963 -87.533 38.931 -87.531 38.904 -87.539 38.869
|
||||
-87.559 38.857 -87.551 38.795 -87.507 38.776 -87.519 38.769
|
||||
-87.508 38.736 -87.508 38.685 -87.543 38.672 -87.588 38.642
|
||||
-87.625 38.622 -87.628 38.599 -87.619 38.593 -87.641 38.573
|
||||
-87.652 38.547 -87.672 38.515 -87.651 38.501 -87.653 38.504
|
||||
-87.679 38.481 -87.692 38.466 -87.756 38.457 -87.758 38.445
|
||||
-87.738 38.417 -87.748 38.378 -87.784 38.352 -87.834 38.286
|
||||
-87.851 38.285 -87.863 38.316 -87.874 38.315 -87.883 38.301
|
||||
-87.888 38.281 -87.914 38.302 -87.913 38.304 -87.925 38.241
|
||||
-87.981 38.234 -87.986 38.201 -87.977 38.171 -87.932 38.157
|
||||
-87.931 38.136 -87.951 38.131 -87.973 38.103 -88.018 38.092
|
||||
-88.012 38.096 -87.964 38.073 -87.975 38.054 -88.034 38.045
|
||||
-88.043 38.038 -88.041 38.033 -88.021 38.008 -88.029 37.975
|
||||
-88.021 37.956 -88.042 37.934 -88.041 37.929 -88.064 37.944
|
||||
-88.078 37.923 -88.084 37.917 -88.031 37.905 -88.026 37.896
|
||||
-88.044 37.906 -88.101 37.895 -88.101 37.867 -88.075 37.843
|
||||
-88.034 37.827 -88.042 37.831 -88.089 37.817 -88.086 37.805
|
||||
-88.035 37.735 -88.072 37.701 -88.133 37.661 -88.159 37.628
|
||||
-88.157 37.583 -88.134 37.511 -88.071</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Illinois</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>17</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>E N Cen</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>IL</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>143986.61</topp:LAND_KM>
|
||||
<topp:WATER_KM>1993.335</topp:WATER_KM>
|
||||
<topp:PERSONS>1.143E7</topp:PERSONS>
|
||||
<topp:FAMILIES>2924880.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>4202240.0</topp:HOUSHOLD>
|
||||
<topp:MALE>5552233.0</topp:MALE>
|
||||
<topp:FEMALE>5878369.0</topp:FEMALE>
|
||||
<topp:WORKERS>4199206.0</topp:WORKERS>
|
||||
<topp:DRVALONE>3741715.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>652603.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>538071.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>5417967.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>385040.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>1360159.0</topp:SERVICE>
|
||||
<topp:MANUAL>828906.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.486</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.514</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>1747776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
<topp:states gml:id="states.2">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>38.788 -77.122</gml:lowerCorner>
|
||||
<gml:upperCorner>38.993 -76.911</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>38.966 -77.008 38.889 -76.911 38.788 -77.045 38.813
|
||||
-77.035 38.829 -77.045 38.838 -77.041 38.862 -77.039 38.886
|
||||
-77.067 38.915 -77.078 38.932 -77.122 38.993 -77.042 38.966
|
||||
-77.008</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>District of Columbia</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>11</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>S Atl</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>DC</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>159.055</topp:LAND_KM>
|
||||
<topp:WATER_KM>17.991</topp:WATER_KM>
|
||||
<topp:PERSONS>606900.0</topp:PERSONS>
|
||||
<topp:FAMILIES>122087.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>249634.0</topp:HOUSHOLD>
|
||||
<topp:MALE>282970.0</topp:MALE>
|
||||
<topp:FEMALE>323930.0</topp:FEMALE>
|
||||
<topp:WORKERS>229975.0</topp:WORKERS>
|
||||
<topp:DRVALONE>106694.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>36621.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>111422.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>303994.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>23442.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>65498.0</topp:SERVICE>
|
||||
<topp:MANUAL>22407.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.466</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.534</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>72696.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
<topp:states gml:id="states.3">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>38.449 -75.791</gml:lowerCorner>
|
||||
<gml:upperCorner>39.841 -75.045</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>38.557 -75.707 38.649 -75.711 38.831 -75.724 39.141
|
||||
-75.752 39.247 -75.761 39.295 -75.764 39.383 -75.772 39.723
|
||||
-75.791 39.724 -75.775 39.774 -75.745 39.821 -75.695 39.838
|
||||
-75.644 39.841 -75.583 39.826 -75.471 39.798 -75.421 39.789
|
||||
-75.412 39.778 -75.428 39.763 -75.461 39.741 -75.475 39.719
|
||||
-75.476 39.714 -75.489 39.612 -75.611 39.566 -75.562 39.463
|
||||
-75.591 39.366 -75.515 39.257 -75.402 39.073 -75.397 39.012
|
||||
-75.324 38.945 -75.307 38.808 -75.191 38.799 -75.083 38.449
|
||||
-75.045 38.449 -75.068 38.451 -75.093 38.455 -75.351 38.463
|
||||
-75.699 38.557 -75.707</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Delaware</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>10</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>S Atl</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>DE</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>5062.456</topp:LAND_KM>
|
||||
<topp:WATER_KM>1385.022</topp:WATER_KM>
|
||||
<topp:PERSONS>666168.0</topp:PERSONS>
|
||||
<topp:FAMILIES>175867.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>247497.0</topp:HOUSHOLD>
|
||||
<topp:MALE>322968.0</topp:MALE>
|
||||
<topp:FEMALE>343200.0</topp:FEMALE>
|
||||
<topp:WORKERS>247566.0</topp:WORKERS>
|
||||
<topp:DRVALONE>258087.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>42968.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>8069.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>335147.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>13945.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>87973.0</topp:SERVICE>
|
||||
<topp:MANUAL>44140.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.485</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.515</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>102776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
680
test/browser/spec/ol/format/gpx.test.js
Normal file
680
test/browser/spec/ol/format/gpx.test.js
Normal file
@@ -0,0 +1,680 @@
|
||||
import Feature from '../../../../../src/ol/Feature.js';
|
||||
import GPX from '../../../../../src/ol/format/GPX.js';
|
||||
import LineString from '../../../../../src/ol/geom/LineString.js';
|
||||
import MultiLineString from '../../../../../src/ol/geom/MultiLineString.js';
|
||||
import Point from '../../../../../src/ol/geom/Point.js';
|
||||
import Polygon from '../../../../../src/ol/geom/Polygon.js';
|
||||
import {get as getProjection, transform} from '../../../../../src/ol/proj.js';
|
||||
import {parse} from '../../../../../src/ol/xml.js';
|
||||
|
||||
describe('ol.format.GPX', function () {
|
||||
let format;
|
||||
beforeEach(function () {
|
||||
format = new GPX();
|
||||
});
|
||||
|
||||
describe('#readProjection', function () {
|
||||
it('returns the default projection from document', function () {
|
||||
const projection = format.readProjectionFromDocument();
|
||||
expect(projection).to.eql(getProjection('EPSG:4326'));
|
||||
});
|
||||
|
||||
it('returns the default projection from node', function () {
|
||||
const projection = format.readProjectionFromNode();
|
||||
expect(projection).to.eql(getProjection('EPSG:4326'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('rte', function () {
|
||||
it('can read an empty rte', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1">' +
|
||||
' <rte/>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(LineString);
|
||||
expect(g.getCoordinates()).to.eql([]);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
});
|
||||
|
||||
it('can read and write various rte attributes', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <rte>' +
|
||||
' <name>Name</name>' +
|
||||
' <cmt>Comment</cmt>' +
|
||||
' <desc>Description</desc>' +
|
||||
' <src>Source</src>' +
|
||||
' <link href="http://example.com/">' +
|
||||
' <text>Link text</text>' +
|
||||
' <type>Link type</type>' +
|
||||
' </link>' +
|
||||
' <number>1</number>' +
|
||||
' <type>Type</type>' +
|
||||
' </rte>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
expect(f.get('name')).to.be('Name');
|
||||
expect(f.get('cmt')).to.be('Comment');
|
||||
expect(f.get('desc')).to.be('Description');
|
||||
expect(f.get('src')).to.be('Source');
|
||||
expect(f.get('link')).to.be('http://example.com/');
|
||||
expect(f.get('linkText')).to.be('Link text');
|
||||
expect(f.get('linkType')).to.be('Link type');
|
||||
expect(f.get('number')).to.be(1);
|
||||
expect(f.get('type')).to.be('Type');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write a rte with multiple rtepts', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <rte>' +
|
||||
' <rtept lat="1" lon="2"/>' +
|
||||
' <rtept lat="3" lon="4"/>' +
|
||||
' </rte>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(LineString);
|
||||
expect(g.getCoordinates()).to.eql([
|
||||
[2, 1],
|
||||
[4, 3],
|
||||
]);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can transform, read and write a rte', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <rte>' +
|
||||
' <rtept lat="1" lon="2"/>' +
|
||||
' <rtept lat="5" lon="6"/>' +
|
||||
' </rte>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(LineString);
|
||||
const p1 = transform([2, 1], 'EPSG:4326', 'EPSG:3857');
|
||||
const p2 = transform([6, 5], 'EPSG:4326', 'EPSG:3857');
|
||||
expect(g.getCoordinates()).to.eql([p1, p2]);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
const serialized = format.writeFeaturesNode(fs, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('does not write rte attributes in rtepts', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <rte>' +
|
||||
' <name>Name</name>' +
|
||||
' <rtept lat="1" lon="2"/>' +
|
||||
' <rtept lat="3" lon="4"/>' +
|
||||
' </rte>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
});
|
||||
|
||||
describe('trk', function () {
|
||||
it('can read an empty trk', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1">' +
|
||||
' <trk/>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(MultiLineString);
|
||||
expect(g.getCoordinates()).to.eql([]);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
});
|
||||
|
||||
it('can read and write various trk attributes', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <trk>' +
|
||||
' <name>Name</name>' +
|
||||
' <cmt>Comment</cmt>' +
|
||||
' <desc>Description</desc>' +
|
||||
' <src>Source</src>' +
|
||||
' <link href="http://example.com/">' +
|
||||
' <text>Link text</text>' +
|
||||
' <type>Link type</type>' +
|
||||
' </link>' +
|
||||
' <number>1</number>' +
|
||||
' <type>Type</type>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
expect(f.get('name')).to.be('Name');
|
||||
expect(f.get('cmt')).to.be('Comment');
|
||||
expect(f.get('desc')).to.be('Description');
|
||||
expect(f.get('src')).to.be('Source');
|
||||
expect(f.get('link')).to.be('http://example.com/');
|
||||
expect(f.get('linkText')).to.be('Link text');
|
||||
expect(f.get('linkType')).to.be('Link type');
|
||||
expect(f.get('number')).to.be(1);
|
||||
expect(f.get('type')).to.be('Type');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write a trk with an empty trkseg', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <trk>' +
|
||||
' <trkseg/>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(MultiLineString);
|
||||
expect(g.getCoordinates()).to.eql([[]]);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read/write a trk with a trkseg with multiple trkpts', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <trk>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt lat="1" lon="2">' +
|
||||
' <ele>3</ele>' +
|
||||
' <time>2010-01-10T09:29:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' <trkpt lat="5" lon="6">' +
|
||||
' <ele>7</ele>' +
|
||||
' <time>2010-01-10T09:30:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(MultiLineString);
|
||||
expect(g.getCoordinates()).to.eql([
|
||||
[
|
||||
[2, 1, 3, 1263115752],
|
||||
[6, 5, 7, 1263115812],
|
||||
],
|
||||
]);
|
||||
expect(g.getLayout()).to.be('XYZM');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can transform, read and write a trk with a trkseg', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <trk>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt lat="1" lon="2">' +
|
||||
' <ele>3</ele>' +
|
||||
' <time>2010-01-10T09:29:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' <trkpt lat="5" lon="6">' +
|
||||
' <ele>7</ele>' +
|
||||
' <time>2010-01-10T09:30:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(MultiLineString);
|
||||
const p1 = transform([2, 1], 'EPSG:4326', 'EPSG:3857');
|
||||
p1.push(3, 1263115752);
|
||||
const p2 = transform([6, 5], 'EPSG:4326', 'EPSG:3857');
|
||||
p2.push(7, 1263115812);
|
||||
expect(g.getCoordinates()).to.eql([[p1, p2]]);
|
||||
expect(g.getLayout()).to.be('XYZM');
|
||||
const serialized = format.writeFeaturesNode(fs, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write a trk with multiple trksegs', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <trk>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt lat="1" lon="2">' +
|
||||
' <ele>3</ele>' +
|
||||
' <time>2010-01-10T09:29:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' <trkpt lat="5" lon="6">' +
|
||||
' <ele>7</ele>' +
|
||||
' <time>2010-01-10T09:30:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt lat="8" lon="9">' +
|
||||
' <ele>10</ele>' +
|
||||
' <time>2010-01-10T09:31:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' <trkpt lat="11" lon="12">' +
|
||||
' <ele>13</ele>' +
|
||||
' <time>2010-01-10T09:32:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(MultiLineString);
|
||||
expect(g.getCoordinates()).to.eql([
|
||||
[
|
||||
[2, 1, 3, 1263115752],
|
||||
[6, 5, 7, 1263115812],
|
||||
],
|
||||
[
|
||||
[9, 8, 10, 1263115872],
|
||||
[12, 11, 13, 1263115932],
|
||||
],
|
||||
]);
|
||||
expect(g.getLayout()).to.be('XYZM');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('does not write trk attributes in trkpts', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <trk>' +
|
||||
' <name>Name</name>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt lat="1" lon="2">' +
|
||||
' <ele>3</ele>' +
|
||||
' <time>2010-01-10T09:29:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' <trkpt lat="5" lon="6">' +
|
||||
' <ele>7</ele>' +
|
||||
' <time>2010-01-10T09:30:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt lat="8" lon="9">' +
|
||||
' <ele>10</ele>' +
|
||||
' <time>2010-01-10T09:31:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' <trkpt lat="11" lon="12">' +
|
||||
' <ele>13</ele>' +
|
||||
' <time>2010-01-10T09:32:12Z</time>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
});
|
||||
|
||||
describe('wpt', function () {
|
||||
it('can read and write a wpt', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <wpt lat="1" lon="2"/>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql([2, 1]);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can transform, read and write a wpt', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <wpt lat="1" lon="2"/>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
const expectedPoint = transform([2, 1], 'EPSG:4326', 'EPSG:3857');
|
||||
expect(g.getCoordinates()).to.eql(expectedPoint);
|
||||
expect(g.getLayout()).to.be('XY');
|
||||
const serialized = format.writeFeaturesNode(fs, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write a wpt with ele', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <wpt lat="1" lon="2">' +
|
||||
' <ele>3</ele>' +
|
||||
' </wpt>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql([2, 1, 3]);
|
||||
expect(g.getLayout()).to.be('XYZ');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write a wpt with time', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <wpt lat="1" lon="2">' +
|
||||
' <time>2010-01-10T09:29:12Z</time>' +
|
||||
' </wpt>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql([2, 1, 1263115752]);
|
||||
expect(g.getLayout()).to.be('XYM');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write a wpt with ele and time', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <wpt lat="1" lon="2">' +
|
||||
' <ele>3</ele>' +
|
||||
' <time>2010-01-10T09:29:12Z</time>' +
|
||||
' </wpt>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql([2, 1, 3, 1263115752]);
|
||||
expect(g.getLayout()).to.be('XYZM');
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
|
||||
it('can read and write various wpt attributes', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers">' +
|
||||
' <wpt lat="1" lon="2">' +
|
||||
' <magvar>11</magvar>' +
|
||||
' <geoidheight>4</geoidheight>' +
|
||||
' <name>Name</name>' +
|
||||
' <cmt>Comment</cmt>' +
|
||||
' <desc>Description</desc>' +
|
||||
' <src>Source</src>' +
|
||||
' <link href="http://example.com/">' +
|
||||
' <text>Link text</text>' +
|
||||
' <type>Link type</type>' +
|
||||
' </link>' +
|
||||
' <sym>Symbol</sym>' +
|
||||
' <type>Type</type>' +
|
||||
' <fix>2d</fix>' +
|
||||
' <sat>5</sat>' +
|
||||
' <hdop>6</hdop>' +
|
||||
' <vdop>7</vdop>' +
|
||||
' <pdop>8</pdop>' +
|
||||
' <ageofdgpsdata>9</ageofdgpsdata>' +
|
||||
' <dgpsid>10</dgpsid>' +
|
||||
' </wpt>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
expect(f.get('magvar')).to.be(11);
|
||||
expect(f.get('geoidheight')).to.be(4);
|
||||
expect(f.get('name')).to.be('Name');
|
||||
expect(f.get('cmt')).to.be('Comment');
|
||||
expect(f.get('desc')).to.be('Description');
|
||||
expect(f.get('src')).to.be('Source');
|
||||
expect(f.get('link')).to.be('http://example.com/');
|
||||
expect(f.get('linkText')).to.be('Link text');
|
||||
expect(f.get('linkType')).to.be('Link type');
|
||||
expect(f.get('sym')).to.be('Symbol');
|
||||
expect(f.get('type')).to.be('Type');
|
||||
expect(f.get('fix')).to.be('2d');
|
||||
expect(f.get('hdop')).to.be(6);
|
||||
expect(f.get('vdop')).to.be(7);
|
||||
expect(f.get('pdop')).to.be(8);
|
||||
expect(f.get('ageofdgpsdata')).to.be(9);
|
||||
expect(f.get('dgpsid')).to.be(10);
|
||||
const serialized = format.writeFeaturesNode(fs);
|
||||
expect(serialized).to.xmleql(parse(text));
|
||||
});
|
||||
});
|
||||
|
||||
describe('XML namespace support', function () {
|
||||
beforeEach(function () {
|
||||
format = new GPX();
|
||||
});
|
||||
|
||||
it('can read features with a version 1.0 namespace', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/0">' +
|
||||
' <wpt/>' +
|
||||
' <rte/>' +
|
||||
' <trk/>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(3);
|
||||
});
|
||||
|
||||
it('can read features with a version 1.1 namespace', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1">' +
|
||||
' <wpt/>' +
|
||||
' <rte/>' +
|
||||
' <trk/>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(3);
|
||||
});
|
||||
|
||||
it('can read features with no namespace', function () {
|
||||
const text = '<gpx>' + ' <wpt/>' + ' <rte/>' + ' <trk/>' + '</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(3);
|
||||
});
|
||||
});
|
||||
|
||||
describe('extensions support', function () {
|
||||
beforeEach(function () {
|
||||
format = new GPX({
|
||||
readExtensions: function (feature, extensionsNode) {
|
||||
const nodes = extensionsNode.getElementsByTagName('id');
|
||||
const id = nodes.item(0).textContent;
|
||||
feature.setId(id);
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('can process extensions from wpt', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1">' +
|
||||
' <wpt>' +
|
||||
' <extensions>' +
|
||||
' <id>feature-id</id>' +
|
||||
' </extensions>' +
|
||||
' </wpt>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const feature = fs[0];
|
||||
expect(feature.getId()).to.be('feature-id');
|
||||
});
|
||||
|
||||
it('can process extensions from rte', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1">' +
|
||||
' <rte>' +
|
||||
' <extensions>' +
|
||||
' <foo>bar</foo>' +
|
||||
' <id>feature-id</id>' +
|
||||
' </extensions>' +
|
||||
' </rte>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const feature = fs[0];
|
||||
expect(feature.getId()).to.be('feature-id');
|
||||
});
|
||||
|
||||
it('can process extensions from trk, not trkpt', function () {
|
||||
const text =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1">' +
|
||||
' <trk>' +
|
||||
' <extensions>' +
|
||||
' <id>feature-id</id>' +
|
||||
' </extensions>' +
|
||||
' <trkseg>' +
|
||||
' <trkpt>' +
|
||||
' <extensions>' +
|
||||
' <id>another-feature-id</id>' +
|
||||
' </extensions>' +
|
||||
' </trkpt>' +
|
||||
' </trkseg>' +
|
||||
' </trk>' +
|
||||
'</gpx>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(1);
|
||||
const feature = fs[0];
|
||||
expect(feature.getId()).to.be('feature-id');
|
||||
});
|
||||
});
|
||||
|
||||
describe('write unsupported geometries', function () {
|
||||
beforeEach(function () {
|
||||
format = new GPX();
|
||||
});
|
||||
|
||||
it('does not fail', function () {
|
||||
const polygon = new Polygon([
|
||||
[
|
||||
[0, 0],
|
||||
[2, 2],
|
||||
[4, 0],
|
||||
[0, 0],
|
||||
],
|
||||
]);
|
||||
const feature = new Feature(polygon);
|
||||
const features = [feature];
|
||||
const gpx = format.writeFeaturesNode(features);
|
||||
const expected =
|
||||
'<gpx xmlns="http://www.topografix.com/GPX/1/1" ' +
|
||||
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
|
||||
'xsi:schemaLocation="http://www.topografix.com/GPX/1/1 ' +
|
||||
'http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" ' +
|
||||
'creator="OpenLayers"></gpx>';
|
||||
expect(gpx).to.xmleql(parse(expected));
|
||||
});
|
||||
});
|
||||
});
|
||||
163
test/browser/spec/ol/format/igc.test.js
Normal file
163
test/browser/spec/ol/format/igc.test.js
Normal file
@@ -0,0 +1,163 @@
|
||||
import Feature from '../../../../../src/ol/Feature.js';
|
||||
import IGC from '../../../../../src/ol/format/IGC.js';
|
||||
import {get as getProjection, transform} from '../../../../../src/ol/proj.js';
|
||||
|
||||
describe('ol.format.IGC', function () {
|
||||
let format;
|
||||
const igc =
|
||||
'AFLY05094\n' +
|
||||
'HFDTE190411\n' +
|
||||
'HFFXA100\n' +
|
||||
'HFPLTPILOT:Tom Payne\n' +
|
||||
'HFGTYGLIDERTYPE:Axis Mercury\n' +
|
||||
'HFGIDGLIDERID:\n' +
|
||||
'HFDTM100GPSDATUM:WGS84\n' +
|
||||
'HFGPSGPS:FURUNO GH-80\n' +
|
||||
'HFRFWFIRMWAREVERSION:1.22\n' +
|
||||
'HFRHWHARDWAREVERSION:1.00\n' +
|
||||
'HFFTYFRTYPE:FLYTEC,5020\n' +
|
||||
'I013638TAS\n' +
|
||||
'B0848484556256N00651095EA0205102039000\n' +
|
||||
'B0855534556037N00651011EA0259302513000\n' +
|
||||
'B0903354554964N00648049EA0272402758000\n' +
|
||||
'B0848484556256N00651095EA0205102039000\n' +
|
||||
'GAB890A77AFE5CE63979AF6B1BED7F07D\n' +
|
||||
'G62BB282E44D63A1149EF2F5E8AF6F2F1\n' +
|
||||
'GEC14381987B15F81003EDE1E01A47843\n' +
|
||||
'G60189641B00B00800019000000000000';
|
||||
|
||||
beforeEach(function () {
|
||||
format = new IGC();
|
||||
});
|
||||
|
||||
describe('#readProjectionFromText', function () {
|
||||
it('returns the default projection', function () {
|
||||
const projection = format.readProjectionFromText(igc);
|
||||
expect(projection).to.eql(getProjection('EPSG:4326'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeature', function () {
|
||||
it('does not read invalid features', function () {
|
||||
expect(format.readFeature('invalid')).to.be(null);
|
||||
});
|
||||
|
||||
it('does read a feature', function () {
|
||||
const feature = format.readFeature(igc);
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geom = feature.getGeometry();
|
||||
expect(geom.getType()).to.eql('LineString');
|
||||
expect(geom.getCoordinates()).to.eql([
|
||||
[6.851583333333333, 45.9376, 1303202928],
|
||||
[6.850183333333334, 45.93395, 1303203353],
|
||||
[6.800816666666667, 45.916066666666666, 1303203815],
|
||||
[6.851583333333333, 45.9376, 1303289328],
|
||||
]);
|
||||
});
|
||||
|
||||
it('does transform and read a feature', function () {
|
||||
const feature = format.readFeature(igc, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geom = feature.getGeometry();
|
||||
expect(geom.getType()).to.eql('LineString');
|
||||
|
||||
const expectedPoint1 = transform(
|
||||
[6.851583333333333, 45.9376],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint1.push(1303202928);
|
||||
const expectedPoint2 = transform(
|
||||
[6.850183333333334, 45.93395],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint2.push(1303203353);
|
||||
const expectedPoint3 = transform(
|
||||
[6.800816666666667, 45.916066666666666],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint3.push(1303203815);
|
||||
const expectedPoint4 = transform(
|
||||
[6.851583333333333, 45.9376],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint4.push(1303289328);
|
||||
|
||||
expect(geom.getCoordinates()).to.eql([
|
||||
expectedPoint1,
|
||||
expectedPoint2,
|
||||
expectedPoint3,
|
||||
expectedPoint4,
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeatures', function () {
|
||||
it('does not read invalid features', function () {
|
||||
expect(format.readFeatures('invalid')).to.be.empty();
|
||||
});
|
||||
|
||||
it('does read features', function () {
|
||||
const features = format.readFeatures(igc);
|
||||
expect(features.length).to.eql(1);
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geom = feature.getGeometry();
|
||||
expect(geom.getType()).to.eql('LineString');
|
||||
expect(geom.getCoordinates()).to.eql([
|
||||
[6.851583333333333, 45.9376, 1303202928],
|
||||
[6.850183333333334, 45.93395, 1303203353],
|
||||
[6.800816666666667, 45.916066666666666, 1303203815],
|
||||
[6.851583333333333, 45.9376, 1303289328],
|
||||
]);
|
||||
});
|
||||
|
||||
it('does transform and read features', function () {
|
||||
const features = format.readFeatures(igc, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(features.length).to.eql(1);
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geom = feature.getGeometry();
|
||||
expect(geom.getType()).to.eql('LineString');
|
||||
|
||||
const expectedPoint1 = transform(
|
||||
[6.851583333333333, 45.9376],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint1.push(1303202928);
|
||||
const expectedPoint2 = transform(
|
||||
[6.850183333333334, 45.93395],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint2.push(1303203353);
|
||||
const expectedPoint3 = transform(
|
||||
[6.800816666666667, 45.916066666666666],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint3.push(1303203815);
|
||||
const expectedPoint4 = transform(
|
||||
[6.851583333333333, 45.9376],
|
||||
'EPSG:4326',
|
||||
'EPSG:3857'
|
||||
);
|
||||
expectedPoint4.push(1303289328);
|
||||
|
||||
expect(geom.getCoordinates()).to.eql([
|
||||
expectedPoint1,
|
||||
expectedPoint2,
|
||||
expectedPoint3,
|
||||
expectedPoint4,
|
||||
]);
|
||||
});
|
||||
});
|
||||
});
|
||||
623
test/browser/spec/ol/format/iiif.test.js
Normal file
623
test/browser/spec/ol/format/iiif.test.js
Normal file
@@ -0,0 +1,623 @@
|
||||
import IIIFInfo from '../../../../../src/ol/format/IIIFInfo.js';
|
||||
import {Versions} from '../../../../../src/ol/format/IIIFInfo.js';
|
||||
|
||||
describe('ol.format.IIIFInfo', function () {
|
||||
const iiifInfo = new IIIFInfo();
|
||||
|
||||
describe('setImageInfo', function () {
|
||||
it('can handle image info JSON as object or as string serialization', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
});
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION3);
|
||||
|
||||
iiifInfo.setImageInfo(
|
||||
'{"@context": "http://iiif.io/api/image/2/context.json","@id":"http://iiif.test/id"}'
|
||||
);
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getImageApiVersion', function () {
|
||||
it('provides the correct Image API version', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@id': 'http://iiif.test/id',
|
||||
});
|
||||
expect(function () {
|
||||
iiifInfo.getImageApiVersion();
|
||||
}).to.throwException();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
identifier: 'http://iiif.test/id',
|
||||
profile: 'this is no valid profile',
|
||||
});
|
||||
expect(function () {
|
||||
iiifInfo.getImageApiVersion();
|
||||
}).to.throwException();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'this is no valid context',
|
||||
'@id': 'http://iiif.test/id',
|
||||
});
|
||||
expect(function () {
|
||||
iiifInfo.getImageApiVersion();
|
||||
}).to.throwException();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
identifier: 'http://iiif.test/id',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
});
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION1);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
});
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION1);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/1/context.json',
|
||||
identifier: 'http://iiif.test/id',
|
||||
});
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION1);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
});
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION2);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
id: 'http://iiif.test/id',
|
||||
});
|
||||
expect(iiifInfo.getImageApiVersion()).to.be(Versions.VERSION3);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getComplianceLevelFromProfile', function () {
|
||||
it('detects the correct compliance level', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'level0',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'http://iiif.io/api/image/level3.json',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'level1',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'http://iiif.io/api/image/2/level2.json',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be('level2');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: ['http://iiif.io/api/image/2/level1.json'],
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be('level1');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'level4',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'http://iiif.io/api/image/3/level3.json',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'http://iiif.io/api/image/2/level1.json',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'level2',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be('level2');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'http://iiif.io/api/image/3/level1.json',
|
||||
});
|
||||
expect(iiifInfo.getComplianceLevelFromProfile()).to.be('level1');
|
||||
});
|
||||
});
|
||||
|
||||
describe('getComplianceLevelSupportedFeatures', function () {
|
||||
it('provides the correct features for given versions and compliance levels', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
});
|
||||
let level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.be.empty();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level1',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.have.length(4);
|
||||
expect(level.supports).to.contain('regionByPx');
|
||||
expect(level.supports).to.contain('sizeByW');
|
||||
expect(level.supports).to.contain('sizeByH');
|
||||
expect(level.supports).to.contain('sizeByPct');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level2',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.have.length(7);
|
||||
expect(level.supports).to.contain('regionByPx');
|
||||
expect(level.supports).to.contain('regionByPct');
|
||||
expect(level.supports).to.contain('sizeByW');
|
||||
expect(level.supports).to.contain('sizeByH');
|
||||
expect(level.supports).to.contain('sizeByPct');
|
||||
expect(level.supports).to.contain('sizeByConfinedWh');
|
||||
expect(level.supports).to.contain('sizeByWh');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'http://iiif.io/api/image/2/level0.json',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.be.empty();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'http://iiif.io/api/image/2/level1.json',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.have.length(4);
|
||||
expect(level.supports).to.contain('regionByPx');
|
||||
expect(level.supports).to.contain('sizeByW');
|
||||
expect(level.supports).to.contain('sizeByH');
|
||||
expect(level.supports).to.contain('sizeByPct');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
profile: 'http://iiif.io/api/image/2/level2.json',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.have.length(8);
|
||||
expect(level.supports).to.contain('regionByPx');
|
||||
expect(level.supports).to.contain('regionByPct');
|
||||
expect(level.supports).to.contain('sizeByW');
|
||||
expect(level.supports).to.contain('sizeByH');
|
||||
expect(level.supports).to.contain('sizeByPct');
|
||||
expect(level.supports).to.contain('sizeByConfinedWh');
|
||||
expect(level.supports).to.contain('sizeByDistortedWh');
|
||||
expect(level.supports).to.contain('sizeByWh');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'level0',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.be.empty();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'level1',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.have.length(5);
|
||||
expect(level.supports).to.contain('regionByPx');
|
||||
expect(level.supports).to.contain('regionSquare');
|
||||
expect(level.supports).to.contain('sizeByW');
|
||||
expect(level.supports).to.contain('sizeByH');
|
||||
expect(level.supports).to.contain('sizeByWh');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
profile: 'level2',
|
||||
});
|
||||
level = iiifInfo.getComplianceLevelSupportedFeatures();
|
||||
expect(level.supports).to.have.length(8);
|
||||
expect(level.supports).to.contain('regionByPx');
|
||||
expect(level.supports).to.contain('regionByPct');
|
||||
expect(level.supports).to.contain('regionSquare');
|
||||
expect(level.supports).to.contain('sizeByW');
|
||||
expect(level.supports).to.contain('sizeByH');
|
||||
expect(level.supports).to.contain('sizeByWh');
|
||||
expect(level.supports).to.contain('sizeByConfinedWh');
|
||||
expect(level.supports).to.contain('sizeByPct');
|
||||
});
|
||||
});
|
||||
|
||||
describe('getTileSourceOptions', function () {
|
||||
it('produces options from minimal information responses', function () {
|
||||
expect(function () {
|
||||
iiifInfo.setImageInfo({
|
||||
width: 2000,
|
||||
height: 1500,
|
||||
});
|
||||
iiifInfo.getTileSourceOptions();
|
||||
}).to.throwException();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
identifier: 'id',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
});
|
||||
let options = iiifInfo.getTileSourceOptions();
|
||||
|
||||
expect(options).to.be.an('object');
|
||||
expect(options).to.have.property('version', Versions.VERSION1);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
identifier: 'identifier-version-1.0',
|
||||
width: 2000,
|
||||
height: 1500,
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
|
||||
expect(options).to.not.be(undefined);
|
||||
expect(options).to.not.be(null);
|
||||
expect(options).to.have.property('version', Versions.VERSION1);
|
||||
expect(options).to.have.property('size');
|
||||
expect(options.size).to.be.an('array');
|
||||
expect(options.size.length).to.be(2);
|
||||
expect(options.size[0]).to.be(2000);
|
||||
expect(options.size[1]).to.be(1500);
|
||||
expect(options.quality).to.be('native');
|
||||
expect(options.url).to.be(undefined);
|
||||
expect(options.sizes).to.be(undefined);
|
||||
expect(options.tileSize).to.be(undefined);
|
||||
expect(options.format).to.be('jpg');
|
||||
expect(options.supports).to.be.empty();
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/version2/id',
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
|
||||
expect(options).to.be.an('object');
|
||||
expect(options).to.have.property('version', Versions.VERSION2);
|
||||
expect(options).to.have.property('url', 'http://iiif.test/version2/id');
|
||||
expect(options).to.have.property('format', 'jpg');
|
||||
});
|
||||
|
||||
it('uses preferred options if applicable', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/version2/id',
|
||||
width: 2000,
|
||||
height: 1500,
|
||||
profile: ['http://iiif.io/api/image/2/level2.json'],
|
||||
});
|
||||
let options = iiifInfo.getTileSourceOptions({
|
||||
quality: 'bitonal',
|
||||
format: 'png',
|
||||
});
|
||||
expect(options).to.have.property('quality', 'bitonal');
|
||||
expect(options).to.have.property('format', 'png');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'@id': 'http://iiif.test/version3/id',
|
||||
width: 2000,
|
||||
height: 1500,
|
||||
profile: 'level2',
|
||||
extraQualities: ['gray', 'bitonal'],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions({
|
||||
quality: 'bitonal',
|
||||
format: 'png',
|
||||
});
|
||||
expect(options).to.have.property('quality', 'bitonal');
|
||||
expect(options).to.have.property('format', 'png');
|
||||
});
|
||||
|
||||
it('ignores preferred options that are not supported', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/version2/id',
|
||||
width: 2000,
|
||||
height: 1500,
|
||||
profile: ['http://iiif.io/api/image/2/level1.json'],
|
||||
});
|
||||
let options = iiifInfo.getTileSourceOptions({
|
||||
quality: 'bitonal',
|
||||
format: 'png',
|
||||
});
|
||||
expect(options).to.have.property('quality', 'default');
|
||||
expect(options).to.have.property('format', 'jpg');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'@id': 'http://iiif.test/version3/id',
|
||||
width: 2000,
|
||||
height: 1500,
|
||||
profile: 'level1',
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions({
|
||||
quality: 'bitonal',
|
||||
format: 'png',
|
||||
});
|
||||
expect(options).to.have.property('quality', 'default');
|
||||
expect(options).to.have.property('format', 'jpg');
|
||||
});
|
||||
|
||||
it('combines supported features indicated by compliance level and explicitly stated in image info', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile: [
|
||||
'http://iiif.io/api/image/2/level1.json',
|
||||
{
|
||||
supports: ['regionByPct', 'sizeByWh'],
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
let options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.supports).to.contain('regionByPct');
|
||||
expect(options.supports).to.contain('sizeByWh');
|
||||
expect(options.supports).to.contain('regionByPx');
|
||||
expect(options.supports).to.contain('sizeByW');
|
||||
expect(options.supports).to.contain('sizeByH');
|
||||
expect(options.supports).to.contain('sizeByPct');
|
||||
expect(options.supports).to.have.length(6);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
id: 'http://iiif.test/id',
|
||||
profile: 'level1',
|
||||
extraFeatures: ['regionByPct', 'sizeByPct'],
|
||||
});
|
||||
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.supports).to.contain('regionByPct');
|
||||
expect(options.supports).to.contain('sizeByPct');
|
||||
expect(options.supports).to.contain('regionByPx');
|
||||
expect(options.supports).to.contain('regionSquare');
|
||||
expect(options.supports).to.contain('sizeByW');
|
||||
expect(options.supports).to.contain('sizeByH');
|
||||
expect(options.supports).to.contain('sizeByWh');
|
||||
expect(options.supports).to.have.length(7);
|
||||
});
|
||||
|
||||
it('uses the first available scale factors and tile sizes', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
});
|
||||
let options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.be(undefined);
|
||||
expect(options.tileSize).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
scale_factors: [1, 2, 4],
|
||||
tile_width: 512,
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.have.length(3);
|
||||
expect(options.resolutions).to.contain(1);
|
||||
expect(options.resolutions).to.contain(2);
|
||||
expect(options.resolutions).to.contain(4);
|
||||
expect(options.tileSize).to.have.length(2);
|
||||
expect(options.tileSize[0]).to.be(512);
|
||||
expect(options.tileSize[1]).to.be(512);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context':
|
||||
'http://library.stanford.edu/iiif/image-api/1.1/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile:
|
||||
'http://library.stanford.edu/iiif/image-api/compliance.html#level0',
|
||||
scale_factors: [1, 2, 4],
|
||||
tile_width: 512,
|
||||
tile_height: 1024,
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.have.length(3);
|
||||
expect(options.resolutions).to.contain(1);
|
||||
expect(options.resolutions).to.contain(2);
|
||||
expect(options.resolutions).to.contain(4);
|
||||
expect(options.tileSize).to.have.length(2);
|
||||
expect(options.tileSize[0]).to.be(512);
|
||||
expect(options.tileSize[1]).to.be(1024);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile: 'http://iiif.io/api/image/2/level0.json',
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.be(undefined);
|
||||
expect(options.tileSize).to.be(undefined);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile: 'http://iiif.io/api/image/2/level0.json',
|
||||
tiles: [
|
||||
{
|
||||
scaleFactors: [1, 2, 4],
|
||||
width: 512,
|
||||
},
|
||||
{
|
||||
scaleFactors: [1, 2, 4, 8, 16],
|
||||
width: 256,
|
||||
},
|
||||
],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.have.length(3);
|
||||
expect(options.resolutions).to.contain(1);
|
||||
expect(options.resolutions).to.contain(2);
|
||||
expect(options.resolutions).to.contain(4);
|
||||
expect(options.tileSize).to.have.length(2);
|
||||
expect(options.tileSize[0]).to.be(512);
|
||||
expect(options.tileSize[1]).to.be(512);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile: 'http://iiif.io/api/image/2/level0.json',
|
||||
tiles: [
|
||||
{
|
||||
scaleFactors: [1, 2, 4],
|
||||
width: 512,
|
||||
height: 1024,
|
||||
},
|
||||
],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.have.length(3);
|
||||
expect(options.resolutions).to.contain(1);
|
||||
expect(options.resolutions).to.contain(2);
|
||||
expect(options.resolutions).to.contain(4);
|
||||
expect(options.tileSize).to.have.length(2);
|
||||
expect(options.tileSize[0]).to.be(512);
|
||||
expect(options.tileSize[1]).to.be(1024);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
profile: 'level0',
|
||||
tiles: [
|
||||
{
|
||||
scaleFactors: [1, 2, 4, 8],
|
||||
width: 512,
|
||||
height: 256,
|
||||
},
|
||||
],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.resolutions).to.have.length(4);
|
||||
expect(options.resolutions).to.contain(1);
|
||||
expect(options.resolutions).to.contain(2);
|
||||
expect(options.resolutions).to.contain(4);
|
||||
expect(options.resolutions).to.contain(8);
|
||||
expect(options.tileSize).to.have.length(2);
|
||||
expect(options.tileSize[0]).to.be(512);
|
||||
expect(options.tileSize[1]).to.be(256);
|
||||
});
|
||||
});
|
||||
|
||||
it('provides each given size in sizes as OpenLayers Size', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/2/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
'sizes': [
|
||||
{
|
||||
width: 2000,
|
||||
height: 1000,
|
||||
},
|
||||
{
|
||||
width: 1000,
|
||||
height: 500,
|
||||
},
|
||||
{
|
||||
width: 500,
|
||||
height: 250,
|
||||
},
|
||||
],
|
||||
});
|
||||
let options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.sizes).to.have.length(3);
|
||||
expect(options.sizes[0]).to.have.length(2);
|
||||
expect(options.sizes[0][0]).to.be(2000);
|
||||
expect(options.sizes[0][1]).to.be(1000);
|
||||
expect(options.sizes[1]).to.have.length(2);
|
||||
expect(options.sizes[1][0]).to.be(1000);
|
||||
expect(options.sizes[1][1]).to.be(500);
|
||||
expect(options.sizes[2]).to.have.length(2);
|
||||
expect(options.sizes[2][0]).to.be(500);
|
||||
expect(options.sizes[2][1]).to.be(250);
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'@id': 'http://iiif.test/id',
|
||||
'sizes': [
|
||||
{
|
||||
width: 1500,
|
||||
height: 800,
|
||||
},
|
||||
],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.sizes).to.have.length(1);
|
||||
expect(options.sizes[0]).to.have.length(2);
|
||||
expect(options.sizes[0][0]).to.be(1500);
|
||||
expect(options.sizes[0][1]).to.be(800);
|
||||
});
|
||||
|
||||
it('respects the preferred image formats', function () {
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'id': 'http://iiif.test/id',
|
||||
'profile': 'level0',
|
||||
'preferredFormats': ['png', 'gif'],
|
||||
});
|
||||
let options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.format).to.be('jpg');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'id': 'http://iiif.test/id',
|
||||
'profile': 'level1',
|
||||
'preferredFormats': ['png', 'gif'],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.format).to.be('jpg');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'id': 'http://iiif.test/id',
|
||||
'profile': 'level1',
|
||||
'extraFormats': ['webp', 'gif'],
|
||||
'preferredFormats': ['webp', 'png', 'gif'],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.format).to.be('gif');
|
||||
|
||||
iiifInfo.setImageInfo({
|
||||
'@context': 'http://iiif.io/api/image/3/context.json',
|
||||
'id': 'http://iiif.test/id',
|
||||
'profile': 'level2',
|
||||
'preferredFormats': ['png', 'gif'],
|
||||
});
|
||||
options = iiifInfo.getTileSourceOptions();
|
||||
expect(options.format).to.be('png');
|
||||
});
|
||||
});
|
||||
4412
test/browser/spec/ol/format/kml.test.js
Normal file
4412
test/browser/spec/ol/format/kml.test.js
Normal file
File diff suppressed because it is too large
Load Diff
17
test/browser/spec/ol/format/kml/networklinks.kml
Normal file
17
test/browser/spec/ol/format/kml/networklinks.kml
Normal file
@@ -0,0 +1,17 @@
|
||||
<kml xmlns="http://www.opengis.net/kml/2.2">
|
||||
<Document>
|
||||
<NetworkLink>
|
||||
<name>bar</name>
|
||||
<Link>
|
||||
<href>/bar/bar.kml</href>
|
||||
</Link>
|
||||
</NetworkLink>
|
||||
</Document>
|
||||
<Folder>
|
||||
<NetworkLink>
|
||||
<Link>
|
||||
<href>http://foo.com/foo.kml</href>
|
||||
</Link>
|
||||
</NetworkLink>
|
||||
</Folder>
|
||||
</kml>
|
||||
4661
test/browser/spec/ol/format/kml/states.kml
Normal file
4661
test/browser/spec/ol/format/kml/states.kml
Normal file
File diff suppressed because one or more lines are too long
37
test/browser/spec/ol/format/kml/style.kml
Normal file
37
test/browser/spec/ol/format/kml/style.kml
Normal file
@@ -0,0 +1,37 @@
|
||||
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd">
|
||||
<Document>
|
||||
<name>Drawing</name>
|
||||
<Placemark id="linepolygon_1436780794279">
|
||||
<Style>
|
||||
<LineStyle>
|
||||
<color>ff0000ff</color>
|
||||
<width>3</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>660000ff</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<LineString>
|
||||
<coordinates>7.282103855735575,47.252335388740185 7.286372432423239,47.23794977574282 7.353199702540651,47.23711986131712 7.287223923345992,47.26352553438413</coordinates>
|
||||
</LineString>
|
||||
</Placemark>
|
||||
<Placemark id="linepolygon_1436780799384">
|
||||
<Style>
|
||||
<LineStyle>
|
||||
<color>ff0000ff</color>
|
||||
<width>3</width>
|
||||
</LineStyle>
|
||||
<PolyStyle>
|
||||
<color>660000ff</color>
|
||||
</PolyStyle>
|
||||
</Style>
|
||||
<Polygon>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>7.227134983319887,47.25587491183515 7.23801833800725,47.242582453518516 7.260803078150167,47.2619584739595 7.239912047946697,47.265971706882716 7.227134983319887,47.25587491183515</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
</Document>
|
||||
</kml>
|
||||
267
test/browser/spec/ol/format/mvt.test.js
Normal file
267
test/browser/spec/ol/format/mvt.test.js
Normal file
@@ -0,0 +1,267 @@
|
||||
import Feature from '../../../../../src/ol/Feature.js';
|
||||
import MVT from '../../../../../src/ol/format/MVT.js';
|
||||
import MultiPolygon from '../../../../../src/ol/geom/MultiPolygon.js';
|
||||
import Point from '../../../../../src/ol/geom/Point.js';
|
||||
import Polygon from '../../../../../src/ol/geom/Polygon.js';
|
||||
import RenderFeature from '../../../../../src/ol/render/Feature.js';
|
||||
|
||||
where('ArrayBuffer.isView').describe('ol.format.MVT', function () {
|
||||
let data;
|
||||
beforeEach(function (done) {
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', 'spec/ol/data/14-8938-5680.vector.pbf');
|
||||
xhr.responseType = 'arraybuffer';
|
||||
xhr.onload = function () {
|
||||
data = xhr.response;
|
||||
done();
|
||||
};
|
||||
xhr.send();
|
||||
});
|
||||
|
||||
describe('#readFeatures', function () {
|
||||
const options = {
|
||||
featureProjection: 'EPSG:3857',
|
||||
extent: [
|
||||
1824704.739223726,
|
||||
6141868.096770482,
|
||||
1827150.7241288517,
|
||||
6144314.081675608,
|
||||
],
|
||||
};
|
||||
|
||||
it('uses ol.render.Feature as feature class by default', function () {
|
||||
const format = new MVT({layers: ['water']});
|
||||
const features = format.readFeatures(data, options);
|
||||
expect(features[0]).to.be.a(RenderFeature);
|
||||
});
|
||||
|
||||
it('parses only specified layers', function () {
|
||||
const format = new MVT({layers: ['water']});
|
||||
const features = format.readFeatures(data, options);
|
||||
expect(features.length).to.be(10);
|
||||
});
|
||||
|
||||
it('parses geometries correctly', function () {
|
||||
const format = new MVT({
|
||||
featureClass: Feature,
|
||||
layers: ['poi_label'],
|
||||
});
|
||||
let geometry;
|
||||
|
||||
geometry = format.readFeatures(data)[0].getGeometry();
|
||||
expect(geometry.getType()).to.be('Point');
|
||||
expect(geometry.getCoordinates()).to.eql([-1210, 2681]);
|
||||
|
||||
format.setLayers(['water']);
|
||||
geometry = format.readFeatures(data)[0].getGeometry();
|
||||
expect(geometry.getType()).to.be('Polygon');
|
||||
expect(geometry.getCoordinates()[0].length).to.be(10);
|
||||
expect(geometry.getCoordinates()[0][0]).to.eql([1007, 2302]);
|
||||
|
||||
format.setLayers(['barrier_line']);
|
||||
geometry = format.readFeatures(data)[0].getGeometry();
|
||||
expect(geometry.getType()).to.be('MultiLineString');
|
||||
expect(geometry.getCoordinates()[1].length).to.be(6);
|
||||
expect(geometry.getCoordinates()[1][0]).to.eql([4160, 3489]);
|
||||
});
|
||||
|
||||
it('avoids unnecessary reprojections of the ol.render.Feature', function () {
|
||||
const format = new MVT({
|
||||
layers: ['poi_label'],
|
||||
});
|
||||
const geometry = format.readFeatures(data)[0].getGeometry();
|
||||
expect(geometry.getType()).to.be('Point');
|
||||
expect(geometry.getFlatCoordinates()).to.eql([-1210, 2681]);
|
||||
});
|
||||
|
||||
it('parses id property', function () {
|
||||
// ol.Feature
|
||||
let format = new MVT({
|
||||
featureClass: Feature,
|
||||
layers: ['building'],
|
||||
});
|
||||
let features = format.readFeatures(data, options);
|
||||
expect(features[0].getId()).to.be(2);
|
||||
// ol.render.Feature
|
||||
format = new MVT({
|
||||
layers: ['building'],
|
||||
});
|
||||
features = format.readFeatures(data, options);
|
||||
expect(features[0].getId()).to.be(2);
|
||||
});
|
||||
|
||||
it('accepts custom idProperty', function () {
|
||||
const format = new MVT({
|
||||
featureClass: Feature,
|
||||
layers: ['poi_label'],
|
||||
idProperty: 'osm_id',
|
||||
});
|
||||
const features = format.readFeatures(data, options);
|
||||
|
||||
const first = features[0];
|
||||
expect(first.getId()).to.be(1000000057590683);
|
||||
expect(first.get('osm_id')).to.be(undefined);
|
||||
});
|
||||
|
||||
it('accepts custom idProperty (render features)', function () {
|
||||
const format = new MVT({
|
||||
layers: ['poi_label'],
|
||||
idProperty: 'osm_id',
|
||||
});
|
||||
|
||||
const features = format.readFeatures(data, options);
|
||||
|
||||
const first = features[0];
|
||||
expect(first.getId()).to.be(1000000057590683);
|
||||
expect(first.get('osm_id')).to.be(undefined);
|
||||
});
|
||||
|
||||
it('works if you provide a bogus idProperty', function () {
|
||||
const format = new MVT({
|
||||
layers: ['poi_label'],
|
||||
idProperty: 'bogus',
|
||||
});
|
||||
|
||||
const features = format.readFeatures(data, options);
|
||||
|
||||
const first = features[0];
|
||||
expect(first.getId()).to.be(undefined);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('ol.format.MVT', function () {
|
||||
const options = {
|
||||
featureProjection: 'EPSG:3857',
|
||||
extent: [
|
||||
1824704.739223726,
|
||||
6141868.096770482,
|
||||
1827150.7241288517,
|
||||
6144314.081675608,
|
||||
],
|
||||
};
|
||||
|
||||
describe('#createFeature_', function () {
|
||||
it('accepts a geometryName', function () {
|
||||
const format = new MVT({
|
||||
featureClass: Feature,
|
||||
geometryName: 'myGeom',
|
||||
});
|
||||
const rawFeature = {
|
||||
id: 1,
|
||||
properties: {
|
||||
geometry: 'foo',
|
||||
},
|
||||
type: 1,
|
||||
layer: {
|
||||
name: 'layer1',
|
||||
},
|
||||
};
|
||||
format.readRawGeometry_ = function (
|
||||
{},
|
||||
rawFeature,
|
||||
flatCoordinates,
|
||||
ends
|
||||
) {
|
||||
flatCoordinates.push(0, 0);
|
||||
ends.push(2);
|
||||
};
|
||||
const feature = format.createFeature_({}, rawFeature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.a(Point);
|
||||
expect(feature.get('myGeom')).to.equal(geometry);
|
||||
expect(feature.get('geometry')).to.be('foo');
|
||||
});
|
||||
|
||||
it('detects a Polygon', function () {
|
||||
const format = new MVT({
|
||||
featureClass: Feature,
|
||||
});
|
||||
const rawFeature = {
|
||||
type: 3,
|
||||
properties: {},
|
||||
layer: {
|
||||
name: 'layer1',
|
||||
},
|
||||
};
|
||||
format.readRawGeometry_ = function (
|
||||
{},
|
||||
rawFeature,
|
||||
flatCoordinates,
|
||||
ends
|
||||
) {
|
||||
flatCoordinates.push(0, 0, 3, 0, 3, 3, 0, 3, 0, 0);
|
||||
flatCoordinates.push(1, 1, 1, 2, 2, 2, 2, 1, 1, 1);
|
||||
ends.push(10, 20);
|
||||
};
|
||||
const feature = format.createFeature_({}, rawFeature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.a(Polygon);
|
||||
});
|
||||
|
||||
it('detects a MultiPolygon', function () {
|
||||
const format = new MVT({
|
||||
featureClass: Feature,
|
||||
});
|
||||
const rawFeature = {
|
||||
type: 3,
|
||||
properties: {},
|
||||
layer: {
|
||||
name: 'layer1',
|
||||
},
|
||||
};
|
||||
format.readRawGeometry_ = function (
|
||||
{},
|
||||
rawFeature,
|
||||
flatCoordinates,
|
||||
ends
|
||||
) {
|
||||
flatCoordinates.push(0, 0, 1, 0, 1, 1, 0, 1, 0, 0);
|
||||
flatCoordinates.push(1, 1, 2, 1, 2, 2, 1, 2, 1, 1);
|
||||
ends.push(10, 20);
|
||||
};
|
||||
const feature = format.createFeature_({}, rawFeature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.a(MultiPolygon);
|
||||
});
|
||||
|
||||
it('creates ol.render.Feature instances', function () {
|
||||
const format = new MVT();
|
||||
const rawFeature = {
|
||||
type: 3,
|
||||
properties: {
|
||||
foo: 'bar',
|
||||
},
|
||||
layer: {
|
||||
name: 'layer1',
|
||||
},
|
||||
};
|
||||
let createdFlatCoordinates;
|
||||
let createdEnds;
|
||||
format.readRawGeometry_ = function (
|
||||
{},
|
||||
rawFeature,
|
||||
flatCoordinates,
|
||||
ends
|
||||
) {
|
||||
flatCoordinates.push(0, 0, 1, 0, 1, 1, 1, 0, 0, 0);
|
||||
flatCoordinates.push(1, 1, 2, 1, 2, 2, 2, 1, 1, 1);
|
||||
createdFlatCoordinates = flatCoordinates;
|
||||
ends.push(10, 20);
|
||||
createdEnds = ends;
|
||||
};
|
||||
format.dataProjection.setExtent([0, 0, 4096, 4096]);
|
||||
format.dataProjection.setWorldExtent(options.extent);
|
||||
const feature = format.createFeature_(
|
||||
{},
|
||||
rawFeature,
|
||||
format.adaptOptions(options)
|
||||
);
|
||||
expect(feature).to.be.a(RenderFeature);
|
||||
expect(feature.getType()).to.be('Polygon');
|
||||
expect(feature.getFlatCoordinates()).to.equal(createdFlatCoordinates);
|
||||
expect(feature.getEnds()).to.equal(createdEnds);
|
||||
expect(feature.get('foo')).to.be('bar');
|
||||
});
|
||||
});
|
||||
});
|
||||
140
test/browser/spec/ol/format/osmxml.test.js
Normal file
140
test/browser/spec/ol/format/osmxml.test.js
Normal file
@@ -0,0 +1,140 @@
|
||||
import Feature from '../../../../../src/ol/Feature.js';
|
||||
import LineString from '../../../../../src/ol/geom/LineString.js';
|
||||
import OSMXML from '../../../../../src/ol/format/OSMXML.js';
|
||||
import Point from '../../../../../src/ol/geom/Point.js';
|
||||
import {get as getProjection, transform} from '../../../../../src/ol/proj.js';
|
||||
|
||||
describe('ol.format.OSMXML', function () {
|
||||
let format;
|
||||
beforeEach(function () {
|
||||
format = new OSMXML();
|
||||
});
|
||||
|
||||
describe('#readProjection', function () {
|
||||
it('returns the default projection from document', function () {
|
||||
const projection = format.readProjectionFromDocument();
|
||||
expect(projection).to.eql(getProjection('EPSG:4326'));
|
||||
});
|
||||
|
||||
it('returns the default projection from node', function () {
|
||||
const projection = format.readProjectionFromNode();
|
||||
expect(projection).to.eql(getProjection('EPSG:4326'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeatures', function () {
|
||||
it('can read an empty document', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<osm version="0.6" generator="my hand">' +
|
||||
'</osm>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(0);
|
||||
});
|
||||
|
||||
it('can read nodes', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<osm version="0.6" generator="my hand">' +
|
||||
' <node id="1" lat="1" lon="2">' +
|
||||
' <tag k="name" v="1"/>' +
|
||||
' </node>' +
|
||||
' <node id="2" lat="3" lon="4">' +
|
||||
' <tag k="name" v="2"/>' +
|
||||
' </node>' +
|
||||
'</osm>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(2);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql([2, 1]);
|
||||
});
|
||||
|
||||
it('can read nodes and ways', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<osm version="0.6" generator="my hand">' +
|
||||
' <node id="1" lat="1" lon="2">' +
|
||||
' <tag k="name" v="1"/>' +
|
||||
' </node>' +
|
||||
' <node id="2" lat="3" lon="4">' +
|
||||
' <tag k="name" v="2"/>' +
|
||||
' </node>' +
|
||||
' <way id="3">' +
|
||||
' <tag k="name" v="3"/>' +
|
||||
' <nd ref="1" />' +
|
||||
' <nd ref="2" />' +
|
||||
' </way>' +
|
||||
'</osm>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(3);
|
||||
const point = fs[0];
|
||||
expect(point).to.be.an(Feature);
|
||||
let g = point.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql([2, 1]);
|
||||
const line = fs[2];
|
||||
expect(line).to.be.an(Feature);
|
||||
g = line.getGeometry();
|
||||
expect(g).to.be.an(LineString);
|
||||
expect(g.getCoordinates()).to.eql([
|
||||
[2, 1],
|
||||
[4, 3],
|
||||
]);
|
||||
});
|
||||
|
||||
it('can read ways before nodes', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<osm version="0.6" generator="my hand">' +
|
||||
' <way id="3">' +
|
||||
' <tag k="name" v="3"/>' +
|
||||
' <nd ref="1" />' +
|
||||
' <nd ref="2" />' +
|
||||
' </way>' +
|
||||
' <node id="1" lat="1" lon="2">' +
|
||||
' <tag k="name" v="1"/>' +
|
||||
' </node>' +
|
||||
' <node id="2" lat="3" lon="4">' +
|
||||
' <tag k="name" v="2"/>' +
|
||||
' </node>' +
|
||||
'</osm>';
|
||||
const fs = format.readFeatures(text);
|
||||
expect(fs).to.have.length(3);
|
||||
const line = fs[2];
|
||||
expect(line).to.be.an(Feature);
|
||||
const g = line.getGeometry();
|
||||
expect(g).to.be.an(LineString);
|
||||
expect(g.getCoordinates()).to.eql([
|
||||
[2, 1],
|
||||
[4, 3],
|
||||
]);
|
||||
});
|
||||
|
||||
it('can transform and read nodes', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<osm version="0.6" generator="my hand">' +
|
||||
' <node id="1" lat="1" lon="2">' +
|
||||
' <tag k="name" v="1"/>' +
|
||||
' </node>' +
|
||||
' <node id="2" lat="3" lon="4">' +
|
||||
' <tag k="name" v="2"/>' +
|
||||
' </node>' +
|
||||
'</osm>';
|
||||
const fs = format.readFeatures(text, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(fs).to.have.length(2);
|
||||
const f = fs[0];
|
||||
expect(f).to.be.an(Feature);
|
||||
const g = f.getGeometry();
|
||||
expect(g).to.be.an(Point);
|
||||
expect(g.getCoordinates()).to.eql(
|
||||
transform([2, 1], 'EPSG:4326', 'EPSG:3857')
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
156
test/browser/spec/ol/format/ows.test.js
Normal file
156
test/browser/spec/ol/format/ows.test.js
Normal file
@@ -0,0 +1,156 @@
|
||||
import OWS from '../../../../../src/ol/format/OWS.js';
|
||||
import {parse} from '../../../../../src/ol/xml.js';
|
||||
|
||||
describe('ol.format.OWS 1.1', function () {
|
||||
const parser = new OWS();
|
||||
|
||||
it('should read ServiceProvider tag properly', function () {
|
||||
const doc = parse(
|
||||
'<ows:GetCapabilities xmlns:ows="http://www.opengis.net/ows/1.1" ' +
|
||||
'xmlns:xlink="http://www.w3.org/1999/xlink" >' +
|
||||
'<ows:ServiceProvider>' +
|
||||
'<ows:ProviderName>MiraMon</ows:ProviderName>' +
|
||||
'<ows:ProviderSite ' +
|
||||
'xlink:href="http://www.creaf.uab.es/miramon"/>' +
|
||||
'<ows:ServiceContact>' +
|
||||
'<ows:IndividualName>Joan Maso Pau' +
|
||||
'</ows:IndividualName>' +
|
||||
'<ows:PositionName>Senior Software Engineer' +
|
||||
'</ows:PositionName>' +
|
||||
'<ows:ContactInfo>' +
|
||||
'<ows:Phone>' +
|
||||
'<ows:Voice>+34 93 581 1312</ows:Voice>' +
|
||||
'<ows:Facsimile>+34 93 581 4151' +
|
||||
'</ows:Facsimile>' +
|
||||
'</ows:Phone>' +
|
||||
'<ows:Address>' +
|
||||
'<ows:DeliveryPoint>Fac Ciencies UAB' +
|
||||
'</ows:DeliveryPoint>' +
|
||||
'<ows:City>Bellaterra</ows:City>' +
|
||||
'<ows:AdministrativeArea>Barcelona' +
|
||||
'</ows:AdministrativeArea>' +
|
||||
'<ows:PostalCode>08193</ows:PostalCode>' +
|
||||
'<ows:Country>Spain</ows:Country>' +
|
||||
'<ows:ElectronicMailAddress>joan.maso@uab.es' +
|
||||
'</ows:ElectronicMailAddress>' +
|
||||
'</ows:Address>' +
|
||||
'</ows:ContactInfo>' +
|
||||
'</ows:ServiceContact>' +
|
||||
'</ows:ServiceProvider>' +
|
||||
'</ows:GetCapabilities>'
|
||||
);
|
||||
|
||||
const obj = parser.read(doc);
|
||||
expect(obj).to.be.ok();
|
||||
const serviceProvider = obj.ServiceProvider;
|
||||
expect(serviceProvider).to.be.ok();
|
||||
expect(serviceProvider.ProviderName).to.eql('MiraMon');
|
||||
const url = 'http://www.creaf.uab.es/miramon';
|
||||
expect(serviceProvider.ProviderSite).to.eql(url);
|
||||
const name = 'Joan Maso Pau';
|
||||
expect(serviceProvider.ServiceContact.IndividualName).to.eql(name);
|
||||
const position = 'Senior Software Engineer';
|
||||
expect(serviceProvider.ServiceContact.PositionName).to.eql(position);
|
||||
});
|
||||
|
||||
it('should read ServiceIdentification tag properly', function () {
|
||||
const doc = parse(
|
||||
'<ows:GetCapabilities xmlns:ows="http://www.opengis.net/ows/1.1" ' +
|
||||
'xmlns:xlink="http://www.w3.org/1999/xlink" >' +
|
||||
'<ows:ServiceIdentification>' +
|
||||
'<ows:Title>Web Map Tile Service</ows:Title>' +
|
||||
'<ows:Abstract>Service that contrains the map access interface ' +
|
||||
'to some TileMatrixSets</ows:Abstract>' +
|
||||
'<ows:Keywords>' +
|
||||
'<ows:Keyword>tile</ows:Keyword>' +
|
||||
'<ows:Keyword>tile matrix set</ows:Keyword>' +
|
||||
'<ows:Keyword>map</ows:Keyword>' +
|
||||
'</ows:Keywords>' +
|
||||
'<ows:ServiceType>OGC WMTS</ows:ServiceType>' +
|
||||
'<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>' +
|
||||
'<ows:Fees>none</ows:Fees>' +
|
||||
'<ows:AccessConstraints>none</ows:AccessConstraints>' +
|
||||
'</ows:ServiceIdentification>' +
|
||||
'</ows:GetCapabilities>'
|
||||
);
|
||||
const obj = parser.readFromNode(doc.firstChild);
|
||||
expect(obj).to.be.ok();
|
||||
|
||||
const serviceIdentification = obj.ServiceIdentification;
|
||||
expect(serviceIdentification).to.be.ok();
|
||||
expect(serviceIdentification.Abstract).to.eql(
|
||||
'Service that contrains the map access interface to some TileMatrixSets'
|
||||
);
|
||||
expect(serviceIdentification.AccessConstraints).to.eql('none');
|
||||
expect(serviceIdentification.Fees).to.eql('none');
|
||||
expect(serviceIdentification.Title).to.eql('Web Map Tile Service');
|
||||
expect(serviceIdentification.ServiceTypeVersion).to.eql('1.0.0');
|
||||
expect(serviceIdentification.ServiceType).to.eql('OGC WMTS');
|
||||
});
|
||||
|
||||
it('should read OperationsMetadata tag properly', function () {
|
||||
const doc = parse(
|
||||
'<ows:GetCapabilities xmlns:ows="http://www.opengis.net/ows/1.1" ' +
|
||||
'xmlns:xlink="http://www.w3.org/1999/xlink" >' +
|
||||
'<ows:OperationsMetadata>' +
|
||||
'<ows:Operation name="GetCapabilities">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Get xlink:href=' +
|
||||
'"http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?">' +
|
||||
'<ows:Constraint name="GetEncoding">' +
|
||||
'<ows:AllowedValues>' +
|
||||
'<ows:Value>KVP</ows:Value>' +
|
||||
'<ows:Value>SOAP</ows:Value>' +
|
||||
'</ows:AllowedValues>' +
|
||||
'</ows:Constraint>' +
|
||||
'</ows:Get>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'</ows:Operation>' +
|
||||
'<ows:Operation name="GetTile">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Get xlink:href="http://www.miramon.uab.es/cgi-' +
|
||||
'bin/MiraMon5_0.cgi?"/>' +
|
||||
'<ows:Get xlink:href="http://www.miramon.uab.es/cgi-' +
|
||||
'bin/MiraMon6_0.cgi?"/>' +
|
||||
'<ows:Post xlink:href="http://www.miramon.uab.es/cgi-' +
|
||||
'bin/MiraMon7_0.cgi?"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'</ows:Operation>' +
|
||||
'<ows:Operation name="GetFeatureInfo">' +
|
||||
'<ows:DCP>' +
|
||||
'<ows:HTTP>' +
|
||||
'<ows:Get xlink:href="http://www.miramon.uab.es/cgi-' +
|
||||
'bin/MiraMon5_0.cgi?"/>' +
|
||||
'</ows:HTTP>' +
|
||||
'</ows:DCP>' +
|
||||
'</ows:Operation>' +
|
||||
'</ows:OperationsMetadata>' +
|
||||
'</ows:GetCapabilities>'
|
||||
);
|
||||
const obj = parser.readFromNode(doc.firstChild);
|
||||
expect(obj).to.be.ok();
|
||||
|
||||
const operationsMetadata = obj.OperationsMetadata;
|
||||
expect(operationsMetadata).to.be.ok();
|
||||
const getCap = operationsMetadata.GetCapabilities;
|
||||
let dcp = getCap.DCP;
|
||||
let url = 'http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?';
|
||||
expect(dcp.HTTP.Get[0].href).to.eql(url);
|
||||
expect(dcp.HTTP.Get[0].Constraint[0].name).to.eql('GetEncoding');
|
||||
expect(dcp.HTTP.Get[0].Constraint[0].AllowedValues.Value[0]).to.eql('KVP');
|
||||
|
||||
url = 'http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?';
|
||||
dcp = operationsMetadata.GetFeatureInfo.DCP;
|
||||
expect(dcp.HTTP.Get[0].href).to.eql(url);
|
||||
expect(dcp.HTTP.Get[0].Constraint).to.be(undefined);
|
||||
|
||||
url = 'http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?';
|
||||
dcp = operationsMetadata.GetTile.DCP;
|
||||
expect(dcp.HTTP.Get[0].href).to.eql(url);
|
||||
expect(dcp.HTTP.Get[0].Constraint).to.be(undefined);
|
||||
});
|
||||
});
|
||||
387
test/browser/spec/ol/format/polyline.test.js
Normal file
387
test/browser/spec/ol/format/polyline.test.js
Normal file
@@ -0,0 +1,387 @@
|
||||
import Feature from '../../../../../src/ol/Feature.js';
|
||||
import LineString from '../../../../../src/ol/geom/LineString.js';
|
||||
import Polyline, * as polyline from '../../../../../src/ol/format/Polyline.js';
|
||||
import {get as getProjection, transform} from '../../../../../src/ol/proj.js';
|
||||
|
||||
describe('ol.format.Polyline', function () {
|
||||
let format;
|
||||
let points;
|
||||
let flatPoints, encodedFlatPoints, flippedFlatPoints;
|
||||
let floats, smallFloats, encodedFloats;
|
||||
let signedIntegers, encodedSignedIntegers;
|
||||
let unsignedIntegers, encodedUnsignedIntegers;
|
||||
let points3857;
|
||||
|
||||
function resetTestingData() {
|
||||
format = new Polyline();
|
||||
points = [
|
||||
[-120.2, 38.5],
|
||||
[-120.95, 40.7],
|
||||
[-126.453, 43.252],
|
||||
];
|
||||
flatPoints = [-120.2, 38.5, -120.95, 40.7, -126.453, 43.252];
|
||||
flippedFlatPoints = [38.5, -120.2, 40.7, -120.95, 43.252, -126.453];
|
||||
encodedFlatPoints = '_p~iF~ps|U_ulLnnqC_mqNvxq`@';
|
||||
points3857 = [
|
||||
transform([-120.2, 38.5], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([-120.95, 40.7], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([-126.453, 43.252], 'EPSG:4326', 'EPSG:3857'),
|
||||
];
|
||||
|
||||
floats = [0.0, 0.15, -0.01, -0.16, 0.16, 0.01];
|
||||
smallFloats = [0.0, 0.00015, -0.00001, -0.00016, 0.00016, 0.00001];
|
||||
encodedFloats = '?]@^_@A';
|
||||
|
||||
signedIntegers = [0, 15, -1, -16, 16, 1];
|
||||
encodedSignedIntegers = '?]@^_@A';
|
||||
|
||||
unsignedIntegers = [0, 30, 1, 31, 32, 2, 174];
|
||||
encodedUnsignedIntegers = '?]@^_@AmD';
|
||||
}
|
||||
|
||||
// Reset testing data
|
||||
beforeEach(resetTestingData);
|
||||
|
||||
describe('#readProjectionFromText', function () {
|
||||
it('returns the default projection', function () {
|
||||
const projection = format.readProjectionFromText(encodedFlatPoints);
|
||||
expect(projection).to.eql(getProjection('EPSG:4326'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeDeltas', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeDeltas = polyline.encodeDeltas;
|
||||
|
||||
expect(encodeDeltas(flippedFlatPoints, 2)).to.eql(encodedFlatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeDeltas', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeDeltas = polyline.decodeDeltas;
|
||||
|
||||
expect(decodeDeltas(encodedFlatPoints, 2)).to.eql(flippedFlatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeFloats', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeFloats = polyline.encodeFloats;
|
||||
|
||||
expect(encodeFloats(smallFloats)).to.eql(encodedFloats);
|
||||
|
||||
resetTestingData();
|
||||
expect(encodeFloats(smallFloats, 1e5)).to.eql(encodedFloats);
|
||||
|
||||
expect(encodeFloats(floats, 1e2)).to.eql(encodedFloats);
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeFloats', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeFloats = polyline.decodeFloats;
|
||||
|
||||
expect(decodeFloats(encodedFloats)).to.eql(smallFloats);
|
||||
expect(decodeFloats(encodedFloats, 1e5)).to.eql(smallFloats);
|
||||
expect(decodeFloats(encodedFloats, 1e2)).to.eql(floats);
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeSignedIntegers', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeSignedIntegers = polyline.encodeSignedIntegers;
|
||||
|
||||
expect(encodeSignedIntegers(signedIntegers)).to.eql(
|
||||
encodedSignedIntegers
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeSignedIntegers', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeSignedIntegers = polyline.decodeSignedIntegers;
|
||||
|
||||
expect(decodeSignedIntegers(encodedSignedIntegers)).to.eql(
|
||||
signedIntegers
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeUnsignedIntegers', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeUnsignedIntegers = polyline.encodeUnsignedIntegers;
|
||||
|
||||
expect(encodeUnsignedIntegers(unsignedIntegers)).to.eql(
|
||||
encodedUnsignedIntegers
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeUnsignedIntegers', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeUnsignedIntegers = polyline.decodeUnsignedIntegers;
|
||||
|
||||
expect(decodeUnsignedIntegers(encodedUnsignedIntegers)).to.eql(
|
||||
unsignedIntegers
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeFloat', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeFloats = polyline.encodeFloats;
|
||||
|
||||
expect(encodeFloats([0.0])).to.eql('?');
|
||||
expect(encodeFloats([-0.00001])).to.eql('@');
|
||||
expect(encodeFloats([0.00001])).to.eql('A');
|
||||
expect(encodeFloats([-0.00002])).to.eql('B');
|
||||
expect(encodeFloats([0.00002])).to.eql('C');
|
||||
expect(encodeFloats([0.00015])).to.eql(']');
|
||||
expect(encodeFloats([-0.00016])).to.eql('^');
|
||||
|
||||
expect(encodeFloats([-0.1], 10)).to.eql('@');
|
||||
expect(encodeFloats([0.1], 10)).to.eql('A');
|
||||
|
||||
expect(encodeFloats([(16 * 32) / 1e5])).to.eql('__@');
|
||||
expect(encodeFloats([(16 * 32 * 32) / 1e5])).to.eql('___@');
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(encodeFloats([-179.9832104])).to.eql('`~oia@');
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeFloat', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeFloats = polyline.decodeFloats;
|
||||
|
||||
expect(decodeFloats('?')).to.eql([0.0]);
|
||||
expect(decodeFloats('@')).to.eql([-0.00001]);
|
||||
expect(decodeFloats('A')).to.eql([0.00001]);
|
||||
expect(decodeFloats('B')).to.eql([-0.00002]);
|
||||
expect(decodeFloats('C')).to.eql([0.00002]);
|
||||
expect(decodeFloats(']')).to.eql([0.00015]);
|
||||
expect(decodeFloats('^')).to.eql([-0.00016]);
|
||||
|
||||
expect(decodeFloats('@', 10)).to.eql([-0.1]);
|
||||
expect(decodeFloats('A', 10)).to.eql([0.1]);
|
||||
|
||||
expect(decodeFloats('__@')).to.eql([(16 * 32) / 1e5]);
|
||||
expect(decodeFloats('___@')).to.eql([(16 * 32 * 32) / 1e5]);
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(decodeFloats('`~oia@')).to.eql([-179.98321]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeSignedInteger', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeSignedIntegers = polyline.encodeSignedIntegers;
|
||||
|
||||
expect(encodeSignedIntegers([0])).to.eql('?');
|
||||
expect(encodeSignedIntegers([-1])).to.eql('@');
|
||||
expect(encodeSignedIntegers([1])).to.eql('A');
|
||||
expect(encodeSignedIntegers([-2])).to.eql('B');
|
||||
expect(encodeSignedIntegers([2])).to.eql('C');
|
||||
expect(encodeSignedIntegers([15])).to.eql(']');
|
||||
expect(encodeSignedIntegers([-16])).to.eql('^');
|
||||
|
||||
expect(encodeSignedIntegers([16])).to.eql('_@');
|
||||
expect(encodeSignedIntegers([16 * 32])).to.eql('__@');
|
||||
expect(encodeSignedIntegers([16 * 32 * 32])).to.eql('___@');
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeSignedInteger', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeSignedIntegers = polyline.decodeSignedIntegers;
|
||||
|
||||
expect(decodeSignedIntegers('?')).to.eql([0]);
|
||||
expect(decodeSignedIntegers('@')).to.eql([-1]);
|
||||
expect(decodeSignedIntegers('A')).to.eql([1]);
|
||||
expect(decodeSignedIntegers('B')).to.eql([-2]);
|
||||
expect(decodeSignedIntegers('C')).to.eql([2]);
|
||||
expect(decodeSignedIntegers(']')).to.eql([15]);
|
||||
expect(decodeSignedIntegers('^')).to.eql([-16]);
|
||||
|
||||
expect(decodeSignedIntegers('_@')).to.eql([16]);
|
||||
expect(decodeSignedIntegers('__@')).to.eql([16 * 32]);
|
||||
expect(decodeSignedIntegers('___@')).to.eql([16 * 32 * 32]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('encodeUnsignedInteger', function () {
|
||||
it('returns expected value', function () {
|
||||
const encodeUnsignedInteger = polyline.encodeUnsignedInteger;
|
||||
|
||||
expect(encodeUnsignedInteger(0)).to.eql('?');
|
||||
expect(encodeUnsignedInteger(1)).to.eql('@');
|
||||
expect(encodeUnsignedInteger(2)).to.eql('A');
|
||||
expect(encodeUnsignedInteger(30)).to.eql(']');
|
||||
expect(encodeUnsignedInteger(31)).to.eql('^');
|
||||
expect(encodeUnsignedInteger(32)).to.eql('_@');
|
||||
|
||||
expect(encodeUnsignedInteger(32 * 32)).to.eql('__@');
|
||||
expect(encodeUnsignedInteger(5 * 32 * 32)).to.eql('__D');
|
||||
expect(encodeUnsignedInteger(32 * 32 * 32)).to.eql('___@');
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(encodeUnsignedInteger(174)).to.eql('mD');
|
||||
});
|
||||
});
|
||||
|
||||
describe('decodeUnsignedInteger', function () {
|
||||
it('returns expected value', function () {
|
||||
const decodeUnsignedIntegers = polyline.decodeUnsignedIntegers;
|
||||
|
||||
expect(decodeUnsignedIntegers('?')).to.eql([0]);
|
||||
expect(decodeUnsignedIntegers('@')).to.eql([1]);
|
||||
expect(decodeUnsignedIntegers('A')).to.eql([2]);
|
||||
expect(decodeUnsignedIntegers(']')).to.eql([30]);
|
||||
expect(decodeUnsignedIntegers('^')).to.eql([31]);
|
||||
expect(decodeUnsignedIntegers('_@')).to.eql([32]);
|
||||
|
||||
expect(decodeUnsignedIntegers('__@')).to.eql([32 * 32]);
|
||||
expect(decodeUnsignedIntegers('__D')).to.eql([5 * 32 * 32]);
|
||||
expect(decodeUnsignedIntegers('___@')).to.eql([32 * 32 * 32]);
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(decodeUnsignedIntegers('mD')).to.eql([174]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeature', function () {
|
||||
it('returns the expected feature', function () {
|
||||
const feature = format.readFeature(encodedFlatPoints);
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.an(LineString);
|
||||
expect(geometry.getFlatCoordinates()).to.eql(flatPoints);
|
||||
});
|
||||
|
||||
it('transforms and returns the expected feature', function () {
|
||||
const feature = format.readFeature(encodedFlatPoints, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.an(LineString);
|
||||
expect(geometry.getCoordinates()).to.eql(points3857);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeatures', function () {
|
||||
it('returns the expected feature', function () {
|
||||
const features = format.readFeatures(encodedFlatPoints);
|
||||
expect(features).to.be.an(Array);
|
||||
expect(features).to.have.length(1);
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.an(LineString);
|
||||
expect(geometry.getFlatCoordinates()).to.eql(flatPoints);
|
||||
});
|
||||
|
||||
it('transforms and returns the expected features', function () {
|
||||
const features = format.readFeatures(encodedFlatPoints, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(features).to.be.an(Array);
|
||||
expect(features).to.have.length(1);
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.an(Feature);
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.an(LineString);
|
||||
expect(geometry.getCoordinates()).to.eql(points3857);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readGeometry', function () {
|
||||
it('returns the expected geometry', function () {
|
||||
const geometry = format.readGeometry(encodedFlatPoints);
|
||||
expect(geometry).to.be.an(LineString);
|
||||
expect(geometry.getFlatCoordinates()).to.eql(flatPoints);
|
||||
});
|
||||
|
||||
it('parses XYZ linestring', function () {
|
||||
const xyz = polyline.encodeDeltas(
|
||||
[38.5, -120.2, 100, 40.7, -120.95, 200, 43.252, -126.453, 20],
|
||||
3
|
||||
);
|
||||
const format = new Polyline({
|
||||
geometryLayout: 'XYZ',
|
||||
});
|
||||
|
||||
const geometry = format.readGeometry(xyz);
|
||||
expect(geometry.getLayout()).to.eql('XYZ');
|
||||
expect(geometry.getCoordinates()).to.eql([
|
||||
[-120.2, 38.5, 100],
|
||||
[-120.95, 40.7, 200],
|
||||
[-126.453, 43.252, 20],
|
||||
]);
|
||||
});
|
||||
|
||||
it('transforms and returns the expected geometry', function () {
|
||||
const geometry = format.readGeometry(encodedFlatPoints, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(geometry).to.be.an(LineString);
|
||||
expect(geometry.getCoordinates()).to.eql(points3857);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readProjection', function () {
|
||||
it('returns the expected projection', function () {
|
||||
const projection = format.readProjection(encodedFlatPoints);
|
||||
expect(projection).to.be(getProjection('EPSG:4326'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('#writeFeature', function () {
|
||||
it('returns the expected text', function () {
|
||||
const feature = new Feature(new LineString(points));
|
||||
expect(format.writeFeature(feature)).to.be(encodedFlatPoints);
|
||||
});
|
||||
|
||||
it('transforms and returns the expected text', function () {
|
||||
const feature = new Feature(new LineString(points3857));
|
||||
expect(
|
||||
format.writeFeature(feature, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
})
|
||||
).to.be(encodedFlatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#writeFeature', function () {
|
||||
it('returns the expected text', function () {
|
||||
const features = [new Feature(new LineString(points))];
|
||||
expect(format.writeFeatures(features)).to.be(encodedFlatPoints);
|
||||
});
|
||||
|
||||
it('transforms and returns the expected text', function () {
|
||||
const features = [new Feature(new LineString(points3857))];
|
||||
expect(
|
||||
format.writeFeatures(features, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
})
|
||||
).to.be(encodedFlatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#writeGeometry', function () {
|
||||
it('returns the expected text', function () {
|
||||
const geometry = new LineString(points);
|
||||
expect(format.writeGeometry(geometry)).to.be(encodedFlatPoints);
|
||||
});
|
||||
|
||||
it('transforms and returns the expected text', function () {
|
||||
const geometry = new LineString(points3857);
|
||||
expect(
|
||||
format.writeGeometry(geometry, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
})
|
||||
).to.be(encodedFlatPoints);
|
||||
});
|
||||
});
|
||||
});
|
||||
256
test/browser/spec/ol/format/topojson.test.js
Normal file
256
test/browser/spec/ol/format/topojson.test.js
Normal file
@@ -0,0 +1,256 @@
|
||||
import Feature from '../../../../../src/ol/Feature.js';
|
||||
import FeatureFormat from '../../../../../src/ol/format/Feature.js';
|
||||
import MultiPolygon from '../../../../../src/ol/geom/MultiPolygon.js';
|
||||
import Polygon from '../../../../../src/ol/geom/Polygon.js';
|
||||
import TopoJSON from '../../../../../src/ol/format/TopoJSON.js';
|
||||
import {transform} from '../../../../../src/ol/proj.js';
|
||||
|
||||
const aruba = {
|
||||
type: 'Topology',
|
||||
transform: {
|
||||
scale: [0.036003600360036005, 0.017361589674592462],
|
||||
translate: [-180, -89.99892578124998],
|
||||
},
|
||||
objects: {
|
||||
aruba: {
|
||||
type: 'Polygon',
|
||||
properties: {
|
||||
prop0: 'value0',
|
||||
},
|
||||
arcs: [[0]],
|
||||
id: 533,
|
||||
},
|
||||
},
|
||||
arcs: [
|
||||
[
|
||||
[3058, 5901],
|
||||
[0, -2],
|
||||
[-2, 1],
|
||||
[-1, 3],
|
||||
[-2, 3],
|
||||
[0, 3],
|
||||
[1, 1],
|
||||
[1, -3],
|
||||
[2, -5],
|
||||
[1, -1],
|
||||
],
|
||||
],
|
||||
};
|
||||
|
||||
const zeroId = {
|
||||
type: 'Topology',
|
||||
objects: {
|
||||
foobar: {
|
||||
type: 'Point',
|
||||
id: 0,
|
||||
coordinates: [0, 42],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const nullGeometry = {
|
||||
type: 'Topology',
|
||||
objects: {
|
||||
foobar: {
|
||||
type: null,
|
||||
properties: {
|
||||
prop0: 'value0',
|
||||
},
|
||||
id: 533,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
describe('ol.format.TopoJSON', function () {
|
||||
let format;
|
||||
before(function () {
|
||||
format = new TopoJSON();
|
||||
});
|
||||
|
||||
describe('constructor', function () {
|
||||
it('creates a new format', function () {
|
||||
expect(format).to.be.a(FeatureFormat);
|
||||
expect(format).to.be.a(TopoJSON);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeaturesFromTopology_()', function () {
|
||||
it('creates an array of features from a topology', function () {
|
||||
const features = format.readFeaturesFromObject(aruba);
|
||||
expect(features).to.have.length(1);
|
||||
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.a(Feature);
|
||||
|
||||
const geometry = feature.getGeometry();
|
||||
expect(geometry).to.be.a(Polygon);
|
||||
|
||||
// Parses identifier
|
||||
expect(feature.getId()).to.be(533);
|
||||
// Parses properties
|
||||
expect(feature.get('prop0')).to.be('value0');
|
||||
|
||||
expect(geometry.getExtent()).to.eql([
|
||||
-70.08100810081008,
|
||||
12.417091709170947,
|
||||
-69.9009900990099,
|
||||
12.608069195591469,
|
||||
]);
|
||||
});
|
||||
|
||||
it('can read a feature with id equal to 0', function () {
|
||||
const features = format.readFeaturesFromObject(zeroId);
|
||||
expect(features).to.have.length(1);
|
||||
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.a(Feature);
|
||||
expect(feature.getId()).to.be(0);
|
||||
});
|
||||
|
||||
it('can read a feature with null geometry', function () {
|
||||
const features = format.readFeaturesFromObject(nullGeometry);
|
||||
expect(features).to.have.length(1);
|
||||
|
||||
const feature = features[0];
|
||||
expect(feature).to.be.a(Feature);
|
||||
expect(feature.getGeometry()).to.be(null);
|
||||
expect(feature.getId()).to.be(533);
|
||||
expect(feature.get('prop0')).to.be('value0');
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFeatures()', function () {
|
||||
it('parses simple.json', function (done) {
|
||||
afterLoadText('spec/ol/format/topojson/simple.json', function (text) {
|
||||
const features = format.readFeatures(text);
|
||||
expect(features.length).to.be(3);
|
||||
|
||||
const point = features[0].getGeometry();
|
||||
expect(point.getType()).to.be('Point');
|
||||
expect(point.getFlatCoordinates()).to.eql([102, 0.5]);
|
||||
|
||||
const line = features[1].getGeometry();
|
||||
expect(line.getType()).to.be('LineString');
|
||||
expect(line.getFlatCoordinates()).to.eql([
|
||||
102,
|
||||
0,
|
||||
103,
|
||||
1,
|
||||
104,
|
||||
0,
|
||||
105,
|
||||
1,
|
||||
]);
|
||||
|
||||
const polygon = features[2].getGeometry();
|
||||
expect(polygon.getType()).to.be('Polygon');
|
||||
expect(polygon.getFlatCoordinates()).to.eql([
|
||||
100,
|
||||
0,
|
||||
100,
|
||||
1,
|
||||
101,
|
||||
1,
|
||||
101,
|
||||
0,
|
||||
100,
|
||||
0,
|
||||
]);
|
||||
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('parses simple.json and transforms', function (done) {
|
||||
afterLoadText('spec/ol/format/topojson/simple.json', function (text) {
|
||||
const features = format.readFeatures(text, {
|
||||
featureProjection: 'EPSG:3857',
|
||||
});
|
||||
expect(features.length).to.be(3);
|
||||
|
||||
const point = features[0].getGeometry();
|
||||
expect(point.getType()).to.be('Point');
|
||||
expect(features[0].getGeometry().getCoordinates()).to.eql(
|
||||
transform([102.0, 0.5], 'EPSG:4326', 'EPSG:3857')
|
||||
);
|
||||
|
||||
const line = features[1].getGeometry();
|
||||
expect(line.getType()).to.be('LineString');
|
||||
expect(line.getCoordinates()).to.eql([
|
||||
transform([102.0, 0.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([103.0, 1.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([104.0, 0.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([105.0, 1.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
]);
|
||||
|
||||
const polygon = features[2].getGeometry();
|
||||
expect(polygon.getType()).to.be('Polygon');
|
||||
expect(polygon.getCoordinates()).to.eql([
|
||||
[
|
||||
transform([100.0, 0.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([100.0, 1.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([101.0, 1.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([101.0, 0.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
transform([100.0, 0.0], 'EPSG:4326', 'EPSG:3857'),
|
||||
],
|
||||
]);
|
||||
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('parses world-110m.json', function (done) {
|
||||
afterLoadText('spec/ol/format/topojson/world-110m.json', function (text) {
|
||||
const features = format.readFeatures(text);
|
||||
expect(features.length).to.be(178);
|
||||
|
||||
const first = features[0];
|
||||
expect(first).to.be.a(Feature);
|
||||
const firstGeom = first.getGeometry();
|
||||
expect(firstGeom).to.be.a(MultiPolygon);
|
||||
expect(firstGeom.getExtent()).to.eql([
|
||||
-180,
|
||||
-85.60903777459777,
|
||||
180,
|
||||
83.64513000000002,
|
||||
]);
|
||||
|
||||
const last = features[177];
|
||||
expect(last).to.be.a(Feature);
|
||||
const lastGeom = last.getGeometry();
|
||||
expect(lastGeom).to.be.a(Polygon);
|
||||
expect(lastGeom.getExtent()).to.eql([
|
||||
25.26325263252633,
|
||||
-22.271802279310577,
|
||||
32.848528485284874,
|
||||
-15.50833810039586,
|
||||
]);
|
||||
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("sets the topology's child names as feature property", function (done) {
|
||||
afterLoadText('spec/ol/format/topojson/world-110m.json', function (text) {
|
||||
const format = new TopoJSON({
|
||||
layerName: 'layer',
|
||||
});
|
||||
const features = format.readFeatures(text);
|
||||
expect(features[0].get('layer')).to.be('land');
|
||||
expect(features[177].get('layer')).to.be('countries');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it("only parses features from specified topology's children", function (done) {
|
||||
afterLoadText('spec/ol/format/topojson/world-110m.json', function (text) {
|
||||
const format = new TopoJSON({
|
||||
layers: ['land'],
|
||||
});
|
||||
const features = format.readFeatures(text);
|
||||
expect(features.length).to.be(1);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
39
test/browser/spec/ol/format/topojson/simple.json
Normal file
39
test/browser/spec/ol/format/topojson/simple.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"type": "Topology",
|
||||
"objects": {
|
||||
"example": {
|
||||
"type": "GeometryCollection",
|
||||
"geometries": [
|
||||
{
|
||||
"type": "Point",
|
||||
"properties": {
|
||||
"prop0": "value0"
|
||||
},
|
||||
"coordinates": [102, 0.5]
|
||||
},
|
||||
{
|
||||
"type": "LineString",
|
||||
"properties": {
|
||||
"prop0": "value0",
|
||||
"prop1": 0
|
||||
},
|
||||
"arcs": [0]
|
||||
},
|
||||
{
|
||||
"type": "Polygon",
|
||||
"properties": {
|
||||
"prop0": "value0",
|
||||
"prop1": {
|
||||
"this": "that"
|
||||
}
|
||||
},
|
||||
"arcs": [[-2]]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"arcs": [
|
||||
[[102, 0], [103, 1], [104, 0], [105, 1]],
|
||||
[[100, 0], [101, 0], [101, 1], [100, 1], [100, 0]]
|
||||
]
|
||||
}
|
||||
1
test/browser/spec/ol/format/topojson/world-110m.json
Normal file
1
test/browser/spec/ol/format/topojson/world-110m.json
Normal file
File diff suppressed because one or more lines are too long
1905
test/browser/spec/ol/format/wfs.test.js
Normal file
1905
test/browser/spec/ol/format/wfs.test.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding="ISO-8859-1" ?>
|
||||
<wfs:FeatureCollection
|
||||
xmlns:rws="http://mapserver.gis.umn.edu/mapserver"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver http://intranet.rijkswaterstaat.nl/services/geoservices/nwb_wegen?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=feature:AAA64&OUTPUTFORMAT=text/xml; subtype=gml/3.1.1 http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" numberOfFeatures="0">
|
||||
</wfs:FeatureCollection>
|
||||
4
test/browser/spec/ol/format/wfs/GetFeatureMultiple.xml
Normal file
4
test/browser/spec/ol/format/wfs/GetFeatureMultiple.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<wfs:Query typeName="topp:states" xmlns:topp="http://www.openplans.org/topp"/>
|
||||
<wfs:Query typeName="topp:cities" xmlns:topp="http://www.openplans.org/topp"/>
|
||||
</wfs:GetFeature>
|
||||
1
test/browser/spec/ol/format/wfs/Native.xml
Normal file
1
test/browser/spec/ol/format/wfs/Native.xml
Normal file
@@ -0,0 +1 @@
|
||||
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><wfs:Native vendorId="ORACLE" safeToIgnore="true">ALTER SESSION ENABLE PARALLEL DML</wfs:Native><wfs:Native vendorId="ORACLE" safeToIgnore="false">Another native line goes here</wfs:Native></wfs:Transaction>
|
||||
9
test/browser/spec/ol/format/wfs/NumberOfFeatures.xml
Normal file
9
test/browser/spec/ol/format/wfs/NumberOfFeatures.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version='1.0' encoding="ISO-8859-1" ?>
|
||||
<wfs:FeatureCollection
|
||||
xmlns:rws="http://mapserver.gis.umn.edu/mapserver"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver http://intranet.rijkswaterstaat.nl/services/geoservices/nwb_wegen?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=feature:AAA64&OUTPUTFORMAT=text/xml; subtype=gml/3.1.1 http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" numberOfFeatures="625">
|
||||
</wfs:FeatureCollection>
|
||||
45
test/browser/spec/ol/format/wfs/TransactionMulti.xml
Normal file
45
test/browser/spec/ol/format/wfs/TransactionMulti.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
|
||||
<wfs:Insert>
|
||||
<feature:states xmlns:feature="http://www.openplans.org/topp">
|
||||
<feature:the_geom>
|
||||
<gml:MultiPoint xmlns:gml="http://www.opengis.net/gml">
|
||||
<gml:pointMember>
|
||||
<gml:Point>
|
||||
<gml:pos srsDimension="2">1 2</gml:pos>
|
||||
</gml:Point>
|
||||
</gml:pointMember>
|
||||
</gml:MultiPoint>
|
||||
</feature:the_geom>
|
||||
<feature:foo>bar</feature:foo>
|
||||
</feature:states>
|
||||
</wfs:Insert>
|
||||
<wfs:Update xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp">
|
||||
<wfs:Property>
|
||||
<wfs:Name>the_geom</wfs:Name>
|
||||
<wfs:Value>
|
||||
<gml:MultiPoint xmlns:gml="http://www.opengis.net/gml">
|
||||
<gml:pointMember>
|
||||
<gml:Point>
|
||||
<gml:pos srsDimension="2">1 2</gml:pos>
|
||||
</gml:Point>
|
||||
</gml:pointMember>
|
||||
</gml:MultiPoint>
|
||||
</wfs:Value>
|
||||
</wfs:Property>
|
||||
<wfs:Property>
|
||||
<wfs:Name>foo</wfs:Name>
|
||||
<wfs:Value>bar</wfs:Value>
|
||||
</wfs:Property>
|
||||
<wfs:Property>
|
||||
<wfs:Name>nul</wfs:Name>
|
||||
</wfs:Property>
|
||||
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
|
||||
<ogc:FeatureId fid="fid.42"/>
|
||||
</ogc:Filter>
|
||||
</wfs:Update>
|
||||
<wfs:Delete xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp">
|
||||
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
|
||||
<ogc:FeatureId fid="fid.37"/>
|
||||
</ogc:Filter>
|
||||
</wfs:Delete>
|
||||
</wfs:Transaction>
|
||||
@@ -0,0 +1,37 @@
|
||||
<Transaction xmlns="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.xsd">
|
||||
<Insert>
|
||||
<states xmlns="http://www.openplans.org/topp">
|
||||
<the_geom>
|
||||
<LineString xmlns="http://www.opengis.net/gml">
|
||||
<coordinates decimal="." cs="," ts=" ">1.1,2 3,4.2</coordinates>
|
||||
</LineString>
|
||||
</the_geom>
|
||||
<foo>bar</foo>
|
||||
</states>
|
||||
</Insert>
|
||||
<Update xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp">
|
||||
<Property>
|
||||
<Name>the_geom</Name>
|
||||
<Value>
|
||||
<LineString xmlns="http://www.opengis.net/gml">
|
||||
<coordinates decimal="." cs="," ts=" ">1.1,2 3,4.2</coordinates>
|
||||
</LineString>
|
||||
</Value>
|
||||
</Property>
|
||||
<Property>
|
||||
<Name>foo</Name>
|
||||
<Value>bar</Value>
|
||||
</Property>
|
||||
<Property>
|
||||
<Name>nul</Name>
|
||||
</Property>
|
||||
<Filter xmlns="http://www.opengis.net/ogc">
|
||||
<FeatureId fid="fid.42"/>
|
||||
</Filter>
|
||||
</Update>
|
||||
<Delete xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp">
|
||||
<Filter xmlns="http://www.opengis.net/ogc">
|
||||
<FeatureId fid="fid.37"/>
|
||||
</Filter>
|
||||
</Delete>
|
||||
</Transaction>
|
||||
@@ -0,0 +1,32 @@
|
||||
<Transaction xmlns="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.xsd">
|
||||
<Insert>
|
||||
<states xmlns="http://www.openplans.org/topp">
|
||||
<the_geom>
|
||||
<LineString xmlns="http://www.opengis.net/gml">
|
||||
<coordinates decimal="." cs="," ts=" ">1.1,2,4 3,4.2,5</coordinates>
|
||||
</LineString>
|
||||
</the_geom>
|
||||
<foo>bar</foo>
|
||||
</states>
|
||||
</Insert>
|
||||
<Update xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp">
|
||||
<Property>
|
||||
<Name>the_geom</Name>
|
||||
<Value>
|
||||
<LineString xmlns="http://www.opengis.net/gml">
|
||||
<coordinates decimal="." cs="," ts=" ">1.1,2,6 3,4.2,7</coordinates>
|
||||
</LineString>
|
||||
</Value>
|
||||
</Property>
|
||||
<Property>
|
||||
<Name>foo</Name>
|
||||
<Value>bar</Value>
|
||||
</Property>
|
||||
<Property>
|
||||
<Name>nul</Name>
|
||||
</Property>
|
||||
<Filter xmlns="http://www.opengis.net/ogc">
|
||||
<FeatureId fid="fid.42"/>
|
||||
</Filter>
|
||||
</Update>
|
||||
</Transaction>
|
||||
40
test/browser/spec/ol/format/wfs/TransactionMulti_3D.xml
Normal file
40
test/browser/spec/ol/format/wfs/TransactionMulti_3D.xml
Normal file
@@ -0,0 +1,40 @@
|
||||
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
|
||||
<wfs:Insert>
|
||||
<feature:states xmlns:feature="http://www.openplans.org/topp">
|
||||
<feature:the_geom>
|
||||
<gml:MultiPoint xmlns:gml="http://www.opengis.net/gml">
|
||||
<gml:pointMember>
|
||||
<gml:Point>
|
||||
<gml:pos srsDimension="3">1 2 3</gml:pos>
|
||||
</gml:Point>
|
||||
</gml:pointMember>
|
||||
</gml:MultiPoint>
|
||||
</feature:the_geom>
|
||||
<feature:foo>bar</feature:foo>
|
||||
</feature:states>
|
||||
</wfs:Insert>
|
||||
<wfs:Update xmlns:wfs="http://www.opengis.net/wfs" typeName="topp:states" xmlns:topp="http://www.openplans.org/topp">
|
||||
<wfs:Property>
|
||||
<wfs:Name>the_geom</wfs:Name>
|
||||
<wfs:Value>
|
||||
<gml:MultiPoint xmlns:gml="http://www.opengis.net/gml">
|
||||
<gml:pointMember>
|
||||
<gml:Point>
|
||||
<gml:pos srsDimension="3">1 2 3</gml:pos>
|
||||
</gml:Point>
|
||||
</gml:pointMember>
|
||||
</gml:MultiPoint>
|
||||
</wfs:Value>
|
||||
</wfs:Property>
|
||||
<wfs:Property>
|
||||
<wfs:Name>foo</wfs:Name>
|
||||
<wfs:Value>bar</wfs:Value>
|
||||
</wfs:Property>
|
||||
<wfs:Property>
|
||||
<wfs:Name>nul</wfs:Name>
|
||||
</wfs:Property>
|
||||
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
|
||||
<ogc:FeatureId fid="fid.42"/>
|
||||
</ogc:Filter>
|
||||
</wfs:Update>
|
||||
</wfs:Transaction>
|
||||
16
test/browser/spec/ol/format/wfs/TransactionResponse.xml
Normal file
16
test/browser/spec/ol/format/wfs/TransactionResponse.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<wfs:TransactionResponse version="1.1.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:tiger="http://www.census.gov" xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:sf="http://www.openplans.org/spearfish" xmlns:ows="http://www.opengis.net/ows" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<wfs:TransactionSummary>
|
||||
<wfs:totalInserted>0</wfs:totalInserted>
|
||||
<wfs:totalUpdated>1</wfs:totalUpdated>
|
||||
<wfs:totalDeleted>0</wfs:totalDeleted>
|
||||
</wfs:TransactionSummary>
|
||||
<wfs:TransactionResults/>
|
||||
<wfs:InsertResults>
|
||||
<wfs:Feature>
|
||||
<ogc:FeatureId fid="parcelle.40"/>
|
||||
</wfs:Feature>
|
||||
<wfs:Feature>
|
||||
<ogc:FeatureId fid="parcelle.41"/>
|
||||
</wfs:Feature>
|
||||
</wfs:InsertResults>
|
||||
</wfs:TransactionResponse>
|
||||
1
test/browser/spec/ol/format/wfs/TransactionSrs.xml
Normal file
1
test/browser/spec/ol/format/wfs/TransactionSrs.xml
Normal file
@@ -0,0 +1 @@
|
||||
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><wfs:Insert><feature:FAULTS xmlns:feature="http://foo"><feature:the_geom><gml:MultiCurve xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:900913"><gml:curveMember><gml:LineString srsName="EPSG:900913"><gml:posList srsDimension="2">-5178372.1885436 1992365.7775042 -4434792.7774889 1601008.1927386 -4043435.1927233 2148908.8114105</gml:posList></gml:LineString></gml:curveMember></gml:MultiCurve></feature:the_geom><feature:TYPE>xyz</feature:TYPE></feature:FAULTS></wfs:Insert></wfs:Transaction>
|
||||
23
test/browser/spec/ol/format/wfs/TransactionUpdate.xml
Normal file
23
test/browser/spec/ol/format/wfs/TransactionUpdate.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Transaction xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0"
|
||||
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Update typeName="foo:FAULTS" xmlns:foo="http://foo">
|
||||
<Property>
|
||||
<Name>the_geom</Name>
|
||||
<Value><MultiLineString xmlns="http://www.opengis.net/gml" srsName="EPSG:900913">
|
||||
<lineStringMember>
|
||||
<LineString srsName="EPSG:900913">
|
||||
<posList srsDimension="2">-12279454 6741885 -12064207
|
||||
6732101 -11941908 6595126
|
||||
-12240318 6507071 -12416429
|
||||
6604910</posList>
|
||||
</LineString>
|
||||
</lineStringMember>
|
||||
</MultiLineString></Value>
|
||||
</Property>
|
||||
<Filter xmlns="http://www.opengis.net/ogc">
|
||||
<FeatureId fid="FAULTS.4455"/>
|
||||
</Filter>
|
||||
</Update>
|
||||
</Transaction>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Transaction xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0"
|
||||
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Insert>
|
||||
<foo:FAULTS xmlns:foo="http://foo">
|
||||
<foo:the_geom>
|
||||
<MultiLineString xmlns="http://www.opengis.net/gml" srsName="EPSG:900913">
|
||||
<lineStringMember>
|
||||
<LineString srsName="EPSG:900913">
|
||||
<posList srsDimension="2">-12279454 6741885 -12064207
|
||||
6732101 -11941908 6595126
|
||||
-12240318 6507071 -12416429
|
||||
6604910</posList>
|
||||
</LineString>
|
||||
</lineStringMember>
|
||||
</MultiLineString>
|
||||
</foo:the_geom>
|
||||
<foo:geom2>
|
||||
<MultiLineString xmlns="http://www.opengis.net/gml" srsName="EPSG:900913">
|
||||
<lineStringMember>
|
||||
<LineString srsName="EPSG:900913">
|
||||
<posList srsDimension="2">-12000000 6700000 -12000001 6700001 -12000002 6700002</posList>
|
||||
</LineString>
|
||||
</lineStringMember>
|
||||
</MultiLineString>
|
||||
</foo:geom2>
|
||||
</foo:FAULTS>
|
||||
</Insert>
|
||||
</Transaction>
|
||||
47
test/browser/spec/ol/format/wfs/boundedBy.xml
Normal file
47
test/browser/spec/ol/format/wfs/boundedBy.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<wfs:FeatureCollection
|
||||
xmlns:rws="http://mapserver.gis.umn.edu/mapserver"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver http://ontwikkel.intranet.rijkswaterstaat.nl/services/geoservices/ov_zonering?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=AAA212&OUTPUTFORMAT=text/xml; subtype=gml/3.1.1 http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:28992">
|
||||
<gml:lowerCorner>3197.880000 306457.313000</gml:lowerCorner>
|
||||
<gml:upperCorner>280339.156000 613850.438000</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<gml:featureMember>
|
||||
|
||||
<rws:AAA212 gml:id="AAA212.791">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:28992">
|
||||
<gml:lowerCorner>196507.469000 502347.938000</gml:lowerCorner>
|
||||
<gml:upperCorner>202430.844000 510383.719000</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<rws:geometry>
|
||||
|
||||
<gml:MultiSurface srsName="EPSG:28992">
|
||||
<gml:surfaceMembers>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">200448.047000 510383.719000 198475.031000 509253.875000 198477.422000 507339.688000 196507.469000 505841.969000 196507.625000 504980.281000 196621.359000 505029.969000 196825.328000 505114.000000 197310.031000 505183.469000 197636.609000 505148.750000 197837.594000 505061.563000 197941.031000 504953.688000 198003.094000 504817.719000 198023.781000 504721.688000 198016.391000 504597.531000 197907.234000 504363.219000 197716.734000 504013.969000 197700.156000 503567.563000 197775.531000 503373.969000 197930.688000 503153.781000 198034.234000 503045.594000 198170.078000 502932.125000 198504.047000 502725.250000 198858.719000 502550.875000 199138.000000 502460.719000 199336.000000 502347.938000 199044.125000 504910.969000 199549.359000 507065.781000 200280.594000 506878.938000 202430.844000 507474.625000 202430.844000 508850.906000 200448.047000 510383.719000 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMembers>
|
||||
</gml:MultiSurface>
|
||||
</rws:geometry>
|
||||
<rws:OBJECTID>791</rws:OBJECTID>
|
||||
<rws:HECTARES>1800.89</rws:HECTARES>
|
||||
<rws:ZONENR>4620</rws:ZONENR>
|
||||
|
||||
<rws:NULZONES> </rws:NULZONES>
|
||||
<rws:AREA>0</rws:AREA>
|
||||
<rws:PERIMETER>24305.1</rws:PERIMETER>
|
||||
</rws:AAA212>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
197
test/browser/spec/ol/format/wfs/mapserver.xml
Normal file
197
test/browser/spec/ol/format/wfs/mapserver.xml
Normal file
@@ -0,0 +1,197 @@
|
||||
<?xml version='1.0' encoding="UTF-8" ?>
|
||||
<wfs:FeatureCollection
|
||||
xmlns:ms="http://mapserver.gis.umn.edu/mapserver"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:ogc="http://www.opengis.net/ogc"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver http://localhost/cgi-bin/mtbows?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TYPENAME=ms:Historische_Messtischblaetter_WFS&OUTPUTFORMAT=text/xml;%20subtype=gml/3.1.1 http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>10.499999 50.599998</gml:lowerCorner>
|
||||
<gml:upperCorner>11.500001 51.000004</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71055885">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1205816.630831 6585772.755548</gml:lowerCorner>
|
||||
<gml:upperCorner>1224367.576331 6603402.922801</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1205816.939380 6585772.755548 1205816.630831 6603402.592694 1224367.261890 6603402.922801 1224367.576331 6585773.084486 1205816.939380 6585772.755548 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71055885</ms:mtbid>
|
||||
<ms:blattnr>51_31</ms:blattnr>
|
||||
<ms:time>1936</ms:time>
|
||||
<ms:titel>Arnstadt</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335959709</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5131.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5131</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71055703">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1224366.733352 6603402.922797</gml:lowerCorner>
|
||||
<gml:upperCorner>1242917.681900 6621070.996395</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1224367.049596 6603402.922797 1224366.733352 6621070.658850 1242917.359733 6621070.996395 1242917.681900 6603403.259147 1224367.049596 6603402.922797 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71055703</ms:mtbid>
|
||||
<ms:blattnr>50_32</ms:blattnr>
|
||||
<ms:time>1878</ms:time>
|
||||
<ms:titel>Erfurt</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335958907</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5032_1878.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5032_1878</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71055704">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1224366.733352 6603402.922797</gml:lowerCorner>
|
||||
<gml:upperCorner>1242917.681900 6621070.996395</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1224367.049596 6603402.922797 1224366.733352 6621070.658850 1242917.359733 6621070.996395 1242917.681900 6603403.259147 1224367.049596 6603402.922797 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71055704</ms:mtbid>
|
||||
<ms:blattnr>50_32</ms:blattnr>
|
||||
<ms:time>1905</ms:time>
|
||||
<ms:titel>Erfurt</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335958915</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5032_1905.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5032_1905</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71055696">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1168715.286189 6603401.951223</gml:lowerCorner>
|
||||
<gml:upperCorner>1187266.213287 6621070.002563</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1168715.584649 6603401.951223 1168715.286189 6621069.683820 1187265.908897 6621070.002563 1187266.213287 6603402.268837 1168715.584649 6603401.951223 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71055696</ms:mtbid>
|
||||
<ms:blattnr>50_29</ms:blattnr>
|
||||
<ms:time>1918</ms:time>
|
||||
<ms:titel>Fröttstädt</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335969488</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5029_1918.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5029_1918</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71055699">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1187265.802750 6603402.268835</gml:lowerCorner>
|
||||
<gml:upperCorner>1205816.736977 6621070.327575</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1187266.107140 6603402.268835 1187265.802750 6621070.002561 1205816.426659 6621070.327575 1205816.736977 6603402.592696 1187266.107140 6603402.268835 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71055699</ms:mtbid>
|
||||
<ms:blattnr>50_30</ms:blattnr>
|
||||
<ms:time>1936</ms:time>
|
||||
<ms:titel>Gotha</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335958877</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5030_1929.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5030_1929</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71056242">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1205817.246161 6550626.582163</gml:lowerCorner>
|
||||
<gml:upperCorner>1224368.199845 6568181.598557</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1205817.551211 6550626.582163 1205817.246161 6568181.270783 1224367.888970 6568181.598557 1224368.199845 6550626.908779 1205817.551211 6550626.582163 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71056242</ms:mtbid>
|
||||
<ms:blattnr>53_31</ms:blattnr>
|
||||
<ms:time>1905</ms:time>
|
||||
<ms:titel>Ilmenau</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335961355</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5331_1905.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5331_1905</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:Historische_Messtischblaetter_WFS gml:id="Historische_Messtischblaetter_WFS.71055889">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="EPSG:900913">
|
||||
<gml:lowerCorner>1242917.575754 6585773.419639</gml:lowerCorner>
|
||||
<gml:upperCorner>1261468.535543 6603403.601734</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:900913">
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList srsDimension="2">1242917.896084 6585773.419639 1242917.575754 6603403.259145 1261468.209327 6603403.601734 1261468.535543 6585773.761014 1242917.896084 6585773.419639 </gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:mtbid>71055889</ms:mtbid>
|
||||
<ms:blattnr>51_33</ms:blattnr>
|
||||
<ms:time>1888</ms:time>
|
||||
<ms:titel>Kranichfeld</ms:titel>
|
||||
<ms:permalink>http://digital.slub-dresden.de/id335959733</ms:permalink>
|
||||
<ms:original>http://fotothek.slub-dresden.de/fotos/df/dk/0010000/df_dk_0010001_5133_1873.jpg</ms:original>
|
||||
<ms:dateiname>df_dk_0010001_5133_1873</ms:dateiname>
|
||||
</ms:Historische_Messtischblaetter_WFS>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
89
test/browser/spec/ol/format/wfs/polygonv2.xml
Normal file
89
test/browser/spec/ol/format/wfs/polygonv2.xml
Normal file
@@ -0,0 +1,89 @@
|
||||
<?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.opengis.net/wfs/1.0.0/WFS-basic.xsd http://mapserver.gis.umn.edu/mapserver http://aneto.oco/cgi-bin/worldwfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=polygon&OUTPUTFORMAT=XMLSCHEMA">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:4326">
|
||||
<gml:coordinates>-0.768746,47.003018 3.002191,47.925567</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<gml:featureMember>
|
||||
<ms:polygon fid="1">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:4326">
|
||||
<gml:coordinates>-0.768746,47.003018 0.532597,47.925567</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:MultiPolygon srsName="EPSG:4326">
|
||||
<gml:polygonMember>
|
||||
<gml:Polygon>
|
||||
<gml:outerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates>-0.318987,47.003018 -0.768746,47.358268 -0.574463,47.684285 -0.347374,47.854602 -0.006740,47.925567 0.135191,47.726864 0.149384,47.599127 0.419052,47.670092 0.532597,47.428810 0.305508,47.443003 0.475824,47.144948 0.064225,47.201721 -0.318987,47.003018 </gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:outerBoundaryIs>
|
||||
<gml:innerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates>-0.035126,47.485582 -0.035126,47.485582 -0.049319,47.641706 -0.233829,47.655899 -0.375760,47.457196 -0.276408,47.286879 -0.035126,47.485582 </gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:innerBoundaryIs>
|
||||
</gml:Polygon>
|
||||
</gml:polygonMember>
|
||||
</gml:MultiPolygon>
|
||||
</ms:msGeometry>
|
||||
<ms:ogc_fid>1</ms:ogc_fid>
|
||||
<ms:name>My Polygon with hole</ms:name>
|
||||
<ms:id>0</ms:id>
|
||||
</ms:polygon>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:polygon fid="2">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:4326">
|
||||
<gml:coordinates>1.511919,47.088176 3.002191,47.882988</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:Polygon srsName="EPSG:4326">
|
||||
<gml:outerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates>1.625463,47.357844 1.511919,47.741057 1.880938,47.882988 2.420275,47.797830 2.789295,47.485582 3.002191,47.457196 2.874453,47.088176 2.178993,47.343651 1.625463,47.357844 </gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:outerBoundaryIs>
|
||||
</gml:Polygon>
|
||||
</ms:msGeometry>
|
||||
<ms:ogc_fid>2</ms:ogc_fid>
|
||||
<ms:name>My simple Polygon</ms:name>
|
||||
<ms:id>0</ms:id>
|
||||
</ms:polygon>
|
||||
</gml:featureMember>
|
||||
<gml:featureMember>
|
||||
<ms:polygon fid="3">
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:4326">
|
||||
<gml:coordinates>0.000000,45.000000 2.000000,47.000000</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<ms:msGeometry>
|
||||
<gml:MultiPolygon srsName="EPSG:4326">
|
||||
<gml:polygonMember>
|
||||
<gml:Polygon>
|
||||
<gml:outerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates>0.000000,45.000000 2.000000,45.000000 2.000000,47.000000 0.000000,47.000000 0.000000,45.000000 </gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:outerBoundaryIs>
|
||||
<gml:innerBoundaryIs>
|
||||
<gml:LinearRing>
|
||||
<gml:coordinates>0.500000,45.500000 1.500000,45.500000 1.500000,46.500000 0.500000,46.500000 0.500000,45.500000 </gml:coordinates>
|
||||
</gml:LinearRing>
|
||||
</gml:innerBoundaryIs>
|
||||
</gml:Polygon>
|
||||
</gml:polygonMember>
|
||||
</gml:MultiPolygon>
|
||||
</ms:msGeometry>
|
||||
<ms:ogc_fid>3</ms:ogc_fid>
|
||||
<ms:name>my polygon with hole</ms:name>
|
||||
<ms:id>3</ms:id>
|
||||
</ms:polygon>
|
||||
</gml:featureMember>
|
||||
</wfs:FeatureCollection>
|
||||
233
test/browser/spec/ol/format/wfs/topp-states-wfs.xml
Normal file
233
test/browser/spec/ol/format/wfs/topp-states-wfs.xml
Normal file
@@ -0,0 +1,233 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wfs:FeatureCollection numberOfFeatures="3" timeStamp="2008-09-12T00:24:21.013-04:00"
|
||||
xsi:schemaLocation="http://www.openplans.org/topp http://sigma.openplans.org:80/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=topp:states http://www.opengis.net/wfs http://sigma.openplans.org:80/geoserver/schemas/wfs/1.1.0/wfs.xsd"
|
||||
xmlns:ogc="http://www.opengis.net/ogc" xmlns:opengeo="http://open-geo.com"
|
||||
xmlns:tiger="http://www.census.gov" xmlns:wfs="http://www.opengis.net/wfs"
|
||||
xmlns:topp="http://www.openplans.org/topp" xmlns:seb="http://seb.com"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"
|
||||
xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<gml:featureMembers>
|
||||
<topp:states gml:id="states.1">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>36.986 -91.516</gml:lowerCorner>
|
||||
<gml:upperCorner>42.509 -87.507</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>37.511 -88.071 37.476 -88.087 37.442 -88.311 37.409
|
||||
-88.359 37.421 -88.419 37.401 -88.467 37.296 -88.511 37.257
|
||||
-88.501 37.205 -88.451 37.156 -88.422 37.098 -88.451 37.072
|
||||
-88.476 37.068 -88.491 37.064 -88.517 37.072 -88.559 37.109
|
||||
-88.614 37.135 -88.688 37.141 -88.739 37.152 -88.746 37.202
|
||||
-88.863 37.218 -88.932 37.221 -88.993 37.185 -89.065 37.112
|
||||
-89.116 37.093 -89.146 37.064 -89.169 37.025 -89.174 36.998
|
||||
-89.151 36.988 -89.129 36.986 -89.193 37.028 -89.211 37.041
|
||||
-89.237 37.087 -89.264 37.091 -89.284 37.085 -89.303 37.061
|
||||
-89.309 37.027 -89.264 37.008 -89.262 36.999 -89.282 37.009
|
||||
-89.311 37.049 -89.382 37.099 -89.379 37.137 -89.423 37.165
|
||||
-89.441 37.224 -89.468 37.253 -89.465 37.256 -89.489 37.276
|
||||
-89.513 37.304 -89.513 37.329 -89.501 37.339 -89.468 37.355
|
||||
-89.435 37.411 -89.427 37.453 -89.453 37.491 -89.494 37.571
|
||||
-89.524 37.615 -89.513 37.651 -89.519 37.679 -89.513 37.694
|
||||
-89.521 37.706 -89.581 37.745 -89.666 37.783 -89.675 37.804
|
||||
-89.691 37.841 -89.728 37.905 -89.851 37.905 -89.861 37.891
|
||||
-89.866 37.875 -89.901 37.878 -89.937 37.911 -89.978 37.963
|
||||
-89.958 37.969 -90.011 37.993 -90.041 38.032 -90.119 38.053
|
||||
-90.134 38.088 -90.207 38.122 -90.254 38.166 -90.289 38.188
|
||||
-90.336 38.234 -90.364 38.323 -90.369 38.365 -90.358 38.391
|
||||
-90.339 38.427 -90.301 38.518 -90.265 38.532 -90.261 38.562
|
||||
-90.241 38.611 -90.183 38.658 -90.183 38.701 -90.202 38.723
|
||||
-90.196 38.773 -90.163 38.785 -90.135 38.801 -90.121 38.831
|
||||
-90.113 38.853 -90.132 38.914 -90.243 38.924 -90.278 38.924
|
||||
-90.319 38.962 -90.413 38.959 -90.469 38.891 -90.531 38.871
|
||||
-90.571 38.881 -90.627 38.935 -90.668 39.037 -90.706 39.058
|
||||
-90.707 39.093 -90.691 39.144 -90.716 39.195 -90.718 39.224
|
||||
-90.732 39.247 -90.738 39.296 -90.779 39.351 -90.851 39.401
|
||||
-90.947 39.444 -91.036 39.473 -91.064 39.528 -91.093 39.552
|
||||
-91.156 39.601 -91.203 39.685 -91.317 39.724 -91.367 39.761
|
||||
-91.373 39.803 -91.381 39.863 -91.449 39.885 -91.451 39.901
|
||||
-91.434 39.921 -91.431 39.946 -91.447 40.005 -91.487 40.066
|
||||
-91.504 40.134 -91.516 40.201 -91.506 40.251 -91.498 40.309
|
||||
-91.486 40.371 -91.448 40.386 -91.418 40.392 -91.385 40.402
|
||||
-91.372 40.447 -91.385 40.503 -91.374 40.528 -91.382 40.547
|
||||
-91.412 40.572 -91.411 40.603 -91.375 40.639 -91.262 40.643
|
||||
-91.214 40.656 -91.162 40.682 -91.129 40.705 -91.119 40.761
|
||||
-91.092 40.833 -91.088 40.879 -91.049 40.923 -90.983 40.951
|
||||
-90.961 41.071 -90.954 41.104 -90.957 41.144 -90.991 41.165
|
||||
-91.018 41.176 -91.056 41.231 -91.101 41.267 -91.102 41.334
|
||||
-91.073 41.401 -91.055 41.423 -91.027 41.431 -91.001 41.421
|
||||
-90.949 41.444 -90.844 41.449 -90.779 41.451 -90.708 41.462
|
||||
-90.658 41.509 -90.601 41.525 -90.541 41.527 -90.454 41.543
|
||||
-90.434 41.567 -90.423 41.586 -90.348 41.602 -90.339 41.649
|
||||
-90.341 41.722 -90.326 41.756 -90.304 41.781 -90.255 41.806
|
||||
-90.195 41.931 -90.154 41.983 -90.142 42.033 -90.151 42.061
|
||||
-90.168 42.103 -90.166 42.121 -90.176 42.122 -90.191 42.159
|
||||
-90.231 42.197 -90.323 42.211 -90.367 42.242 -90.407 42.263
|
||||
-90.417 42.341 -90.427 42.361 -90.441 42.388 -90.491 42.421
|
||||
-90.563 42.461 -90.605 42.475 -90.648 42.494 -90.651 42.509
|
||||
-90.638 42.508 -90.419 42.504 -89.923 42.503 -89.834 42.497
|
||||
-89.401 42.497 -89.359 42.491 -88.939 42.491 -88.764 42.489
|
||||
-88.706 42.491 -88.297 42.489 -88.194 42.489 -87.797 42.314
|
||||
-87.836 42.156 -87.761 42.059 -87.671 41.847 -87.612 41.723
|
||||
-87.529 41.469 -87.532 41.301 -87.532 41.173 -87.531 41.009
|
||||
-87.532 40.745 -87.532 40.494 -87.537 40.483 -87.535 40.166
|
||||
-87.535 39.887 -87.535 39.609 -87.535 39.477 -87.538 39.351
|
||||
-87.541 39.338 -87.597 39.307 -87.625 39.297 -87.611 39.281
|
||||
-87.615 39.258 -87.606 39.248 -87.584 39.208 -87.588 39.198
|
||||
-87.594 39.196 -87.607 39.168 -87.644 39.146 -87.671 39.131
|
||||
-87.659 39.113 -87.662 39.103 -87.631 39.088 -87.631 39.084
|
||||
-87.612 39.062 -87.585 38.995 -87.581 38.994 -87.591 38.977
|
||||
-87.547 38.963 -87.533 38.931 -87.531 38.904 -87.539 38.869
|
||||
-87.559 38.857 -87.551 38.795 -87.507 38.776 -87.519 38.769
|
||||
-87.508 38.736 -87.508 38.685 -87.543 38.672 -87.588 38.642
|
||||
-87.625 38.622 -87.628 38.599 -87.619 38.593 -87.641 38.573
|
||||
-87.652 38.547 -87.672 38.515 -87.651 38.501 -87.653 38.504
|
||||
-87.679 38.481 -87.692 38.466 -87.756 38.457 -87.758 38.445
|
||||
-87.738 38.417 -87.748 38.378 -87.784 38.352 -87.834 38.286
|
||||
-87.851 38.285 -87.863 38.316 -87.874 38.315 -87.883 38.301
|
||||
-87.888 38.281 -87.914 38.302 -87.913 38.304 -87.925 38.241
|
||||
-87.981 38.234 -87.986 38.201 -87.977 38.171 -87.932 38.157
|
||||
-87.931 38.136 -87.951 38.131 -87.973 38.103 -88.018 38.092
|
||||
-88.012 38.096 -87.964 38.073 -87.975 38.054 -88.034 38.045
|
||||
-88.043 38.038 -88.041 38.033 -88.021 38.008 -88.029 37.975
|
||||
-88.021 37.956 -88.042 37.934 -88.041 37.929 -88.064 37.944
|
||||
-88.078 37.923 -88.084 37.917 -88.031 37.905 -88.026 37.896
|
||||
-88.044 37.906 -88.101 37.895 -88.101 37.867 -88.075 37.843
|
||||
-88.034 37.827 -88.042 37.831 -88.089 37.817 -88.086 37.805
|
||||
-88.035 37.735 -88.072 37.701 -88.133 37.661 -88.159 37.628
|
||||
-88.157 37.583 -88.134 37.511 -88.071</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Illinois</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>17</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>E N Cen</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>IL</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>143986.61</topp:LAND_KM>
|
||||
<topp:WATER_KM>1993.335</topp:WATER_KM>
|
||||
<topp:PERSONS>1.143E7</topp:PERSONS>
|
||||
<topp:FAMILIES>2924880.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>4202240.0</topp:HOUSHOLD>
|
||||
<topp:MALE>5552233.0</topp:MALE>
|
||||
<topp:FEMALE>5878369.0</topp:FEMALE>
|
||||
<topp:WORKERS>4199206.0</topp:WORKERS>
|
||||
<topp:DRVALONE>3741715.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>652603.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>538071.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>5417967.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>385040.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>1360159.0</topp:SERVICE>
|
||||
<topp:MANUAL>828906.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.486</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.514</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>1747776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
<topp:states gml:id="states.2">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>38.788 -77.122</gml:lowerCorner>
|
||||
<gml:upperCorner>38.993 -76.911</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>38.966 -77.008 38.889 -76.911 38.788 -77.045 38.813
|
||||
-77.035 38.829 -77.045 38.838 -77.041 38.862 -77.039 38.886
|
||||
-77.067 38.915 -77.078 38.932 -77.122 38.993 -77.042 38.966
|
||||
-77.008</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>District of Columbia</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>11</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>S Atl</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>DC</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>159.055</topp:LAND_KM>
|
||||
<topp:WATER_KM>17.991</topp:WATER_KM>
|
||||
<topp:PERSONS>606900.0</topp:PERSONS>
|
||||
<topp:FAMILIES>122087.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>249634.0</topp:HOUSHOLD>
|
||||
<topp:MALE>282970.0</topp:MALE>
|
||||
<topp:FEMALE>323930.0</topp:FEMALE>
|
||||
<topp:WORKERS>229975.0</topp:WORKERS>
|
||||
<topp:DRVALONE>106694.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>36621.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>111422.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>303994.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>23442.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>65498.0</topp:SERVICE>
|
||||
<topp:MANUAL>22407.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.466</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.534</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>72696.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
<topp:states gml:id="states.3">
|
||||
<gml:boundedBy>
|
||||
<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:lowerCorner>38.449 -75.791</gml:lowerCorner>
|
||||
<gml:upperCorner>39.841 -75.045</gml:upperCorner>
|
||||
</gml:Envelope>
|
||||
</gml:boundedBy>
|
||||
<topp:the_geom>
|
||||
<gml:MultiSurface srsName="urn:x-ogc:def:crs:EPSG:4326">
|
||||
<gml:surfaceMember>
|
||||
<gml:Polygon>
|
||||
<gml:exterior>
|
||||
<gml:LinearRing>
|
||||
<gml:posList>38.557 -75.707 38.649 -75.711 38.831 -75.724 39.141
|
||||
-75.752 39.247 -75.761 39.295 -75.764 39.383 -75.772 39.723
|
||||
-75.791 39.724 -75.775 39.774 -75.745 39.821 -75.695 39.838
|
||||
-75.644 39.841 -75.583 39.826 -75.471 39.798 -75.421 39.789
|
||||
-75.412 39.778 -75.428 39.763 -75.461 39.741 -75.475 39.719
|
||||
-75.476 39.714 -75.489 39.612 -75.611 39.566 -75.562 39.463
|
||||
-75.591 39.366 -75.515 39.257 -75.402 39.073 -75.397 39.012
|
||||
-75.324 38.945 -75.307 38.808 -75.191 38.799 -75.083 38.449
|
||||
-75.045 38.449 -75.068 38.451 -75.093 38.455 -75.351 38.463
|
||||
-75.699 38.557 -75.707</gml:posList>
|
||||
</gml:LinearRing>
|
||||
</gml:exterior>
|
||||
</gml:Polygon>
|
||||
</gml:surfaceMember>
|
||||
</gml:MultiSurface>
|
||||
</topp:the_geom>
|
||||
<topp:STATE_NAME>Delaware</topp:STATE_NAME>
|
||||
<topp:STATE_FIPS>10</topp:STATE_FIPS>
|
||||
<topp:SUB_REGION>S Atl</topp:SUB_REGION>
|
||||
<topp:STATE_ABBR>DE</topp:STATE_ABBR>
|
||||
<topp:LAND_KM>5062.456</topp:LAND_KM>
|
||||
<topp:WATER_KM>1385.022</topp:WATER_KM>
|
||||
<topp:PERSONS>666168.0</topp:PERSONS>
|
||||
<topp:FAMILIES>175867.0</topp:FAMILIES>
|
||||
<topp:HOUSHOLD>247497.0</topp:HOUSHOLD>
|
||||
<topp:MALE>322968.0</topp:MALE>
|
||||
<topp:FEMALE>343200.0</topp:FEMALE>
|
||||
<topp:WORKERS>247566.0</topp:WORKERS>
|
||||
<topp:DRVALONE>258087.0</topp:DRVALONE>
|
||||
<topp:CARPOOL>42968.0</topp:CARPOOL>
|
||||
<topp:PUBTRANS>8069.0</topp:PUBTRANS>
|
||||
<topp:EMPLOYED>335147.0</topp:EMPLOYED>
|
||||
<topp:UNEMPLOY>13945.0</topp:UNEMPLOY>
|
||||
<topp:SERVICE>87973.0</topp:SERVICE>
|
||||
<topp:MANUAL>44140.0</topp:MANUAL>
|
||||
<topp:P_MALE>0.485</topp:P_MALE>
|
||||
<topp:P_FEMALE>0.515</topp:P_FEMALE>
|
||||
<topp:SAMP_POP>102776.0</topp:SAMP_POP>
|
||||
</topp:states>
|
||||
</gml:featureMembers>
|
||||
</wfs:FeatureCollection>
|
||||
1450
test/browser/spec/ol/format/wkb.test.js
Normal file
1450
test/browser/spec/ol/format/wkb.test.js
Normal file
File diff suppressed because it is too large
Load Diff
1146
test/browser/spec/ol/format/wkt.test.js
Normal file
1146
test/browser/spec/ol/format/wkt.test.js
Normal file
File diff suppressed because it is too large
Load Diff
1
test/browser/spec/ol/format/wkt/illinois.wkt
Normal file
1
test/browser/spec/ol/format/wkt/illinois.wkt
Normal file
File diff suppressed because one or more lines are too long
45
test/browser/spec/ol/format/wms/getfeatureinfo.xml
Normal file
45
test/browser/spec/ol/format/wms/getfeatureinfo.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<msGMLOutput xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<ADCP_2001_layer>
|
||||
<gml:name>ADCP de coque 2001</gml:name>
|
||||
<ADCP_2001_feature>
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:3857">
|
||||
<gml:coordinates>-531138.686422,5386348.414671 -117252.819653,6144475.186022</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<FID>1071</FID>
|
||||
<NO_CAMPAGNE>1020050</NO_CAMPAGNE>
|
||||
<NOM_CAMPAGNE>ITSAS II</NOM_CAMPAGNE>
|
||||
<NAUTILUS_CAMPAGNE>http://www.ifremer.fr/sismerData/jsp/visualisationMetadata2.jsp?strPortail=ifremer&langue=FR&pageOrigine=CAM&cle1=FI352001020050</NAUTILUS_CAMPAGNE>
|
||||
<FICHIER>ITSASII_BB150_0_osite.nc</FICHIER>
|
||||
<NAUTILUS_DATA>http://www.ifremer.fr/sismerData/jsp/visualisationMetadata3.jsp?strPortail=ifremer&langue=FR&pageOrigine=CS&cle1=71053_1&cle2=ADCP01</NAUTILUS_DATA>
|
||||
</ADCP_2001_feature>
|
||||
<ADCP_2001_feature>
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:3857">
|
||||
<gml:coordinates>-531138.686422,5386348.414671 -117252.819653,6144475.186022</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<FID>22431</FID>
|
||||
<NO_CAMPAGNE>1020050</NO_CAMPAGNE>
|
||||
<NOM_CAMPAGNE>ITSAS II</NOM_CAMPAGNE>
|
||||
<NAUTILUS_CAMPAGNE>http://www.ifremer.fr/sismerData/jsp/visualisationMetadata2.jsp?strPortail=ifremer&langue=FR&pageOrigine=CAM&cle1=FI352001020050</NAUTILUS_CAMPAGNE>
|
||||
<FICHIER>ITSASII_BB150_figures.tar</FICHIER>
|
||||
<NAUTILUS_DATA>http://www.ifremer.fr/sismerData/jsp/visualisationMetadata3.jsp?strPortail=ifremer&langue=FR&pageOrigine=CS&cle1=108842_2&cle2=ADCP01</NAUTILUS_DATA>
|
||||
</ADCP_2001_feature>
|
||||
<ADCP_2001_feature>
|
||||
<gml:boundedBy>
|
||||
<gml:Box srsName="EPSG:3857">
|
||||
<gml:coordinates>-531138.686422,5386348.414671 -117252.819653,6144475.186022</gml:coordinates>
|
||||
</gml:Box>
|
||||
</gml:boundedBy>
|
||||
<FID>22432</FID>
|
||||
<NO_CAMPAGNE>1020050</NO_CAMPAGNE>
|
||||
<NOM_CAMPAGNE>ITSAS II</NOM_CAMPAGNE>
|
||||
<NAUTILUS_CAMPAGNE>http://www.ifremer.fr/sismerData/jsp/visualisationMetadata2.jsp?strPortail=ifremer&langue=FR&pageOrigine=CAM&cle1=FI352001020050</NAUTILUS_CAMPAGNE>
|
||||
<FICHIER>ITSASII_BB150_0_fhv12.nc</FICHIER>
|
||||
<NAUTILUS_DATA>http://www.ifremer.fr/sismerData/jsp/visualisationMetadata3.jsp?strPortail=ifremer&langue=FR&pageOrigine=CS&cle1=108842_3&cle2=ADCP01</NAUTILUS_DATA>
|
||||
</ADCP_2001_feature>
|
||||
</ADCP_2001_layer>
|
||||
</msGMLOutput>
|
||||
284
test/browser/spec/ol/format/wms/ogcsample.xml
Normal file
284
test/browser/spec/ol/format/wms/ogcsample.xml
Normal file
@@ -0,0 +1,284 @@
|
||||
<?xml version='1.0' encoding="UTF-8"?>
|
||||
<WMS_Capabilities version="1.3.0" xmlns="http://www.opengis.net/wms"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd">
|
||||
<Service>
|
||||
<Name>WMS</Name>
|
||||
<Title>Acme Corp. Map Server</Title>
|
||||
<Abstract>Map Server maintained by Acme Corporation. Contact: webmaster@wmt.acme.com. High-quality maps showing roadrunner nests and possible ambush locations.</Abstract>
|
||||
|
||||
<KeywordList>
|
||||
<Keyword>bird</Keyword>
|
||||
<Keyword>roadrunner</Keyword>
|
||||
<Keyword>ambush</Keyword>
|
||||
</KeywordList>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
||||
xlink:href="http://hostname/" />
|
||||
|
||||
|
||||
<ContactInformation>
|
||||
<ContactPersonPrimary>
|
||||
<ContactPerson>Jeff Smith</ContactPerson>
|
||||
<ContactOrganization>NASA</ContactOrganization>
|
||||
</ContactPersonPrimary>
|
||||
<ContactPosition>Computer Scientist</ContactPosition>
|
||||
|
||||
<ContactAddress>
|
||||
<AddressType>postal</AddressType>
|
||||
<Address>NASA Goddard Space Flight Center</Address>
|
||||
<City>Greenbelt</City>
|
||||
<StateOrProvince>MD</StateOrProvince>
|
||||
<PostCode>20771</PostCode>
|
||||
|
||||
<Country>USA</Country>
|
||||
</ContactAddress>
|
||||
<ContactVoiceTelephone>+1 301 555-1212</ContactVoiceTelephone>
|
||||
<ContactElectronicMailAddress>user@host.com</ContactElectronicMailAddress>
|
||||
</ContactInformation>
|
||||
|
||||
<Fees>none</Fees>
|
||||
|
||||
<AccessConstraints>none</AccessConstraints>
|
||||
<LayerLimit>16</LayerLimit>
|
||||
<MaxWidth>2048</MaxWidth>
|
||||
<MaxHeight>2048</MaxHeight>
|
||||
</Service>
|
||||
<Capability>
|
||||
<Request>
|
||||
<GetCapabilities>
|
||||
|
||||
<Format>text/xml</Format>
|
||||
<DCPType>
|
||||
<HTTP>
|
||||
<Get>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
</Get>
|
||||
<Post>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
|
||||
</Post>
|
||||
</HTTP>
|
||||
</DCPType>
|
||||
</GetCapabilities>
|
||||
<GetMap>
|
||||
<Format>image/gif</Format>
|
||||
<Format>image/png</Format>
|
||||
<Format>image/jpeg</Format>
|
||||
|
||||
<DCPType>
|
||||
<HTTP>
|
||||
<Get>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
</Get>
|
||||
</HTTP>
|
||||
</DCPType>
|
||||
</GetMap>
|
||||
|
||||
<GetFeatureInfo>
|
||||
<Format>text/xml</Format>
|
||||
<Format>text/plain</Format>
|
||||
<Format>text/html</Format>
|
||||
<DCPType>
|
||||
<HTTP>
|
||||
<Get>
|
||||
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
</Get>
|
||||
</HTTP>
|
||||
</DCPType>
|
||||
</GetFeatureInfo>
|
||||
</Request>
|
||||
<Exception>
|
||||
<Format>XML</Format>
|
||||
|
||||
<Format>INIMAGE</Format>
|
||||
<Format>BLANK</Format>
|
||||
</Exception>
|
||||
<Layer>
|
||||
<Title>Acme Corp. Map Server</Title>
|
||||
<CRS>CRS:84</CRS>
|
||||
|
||||
<AuthorityURL name="DIF_ID">
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
||||
xlink:href="http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html" />
|
||||
</AuthorityURL>
|
||||
<BoundingBox CRS="CRS:84"
|
||||
minx="-1" miny="-1" maxx="1" maxy="1" resx="0.0" resy="0.0"/>
|
||||
<Layer>
|
||||
|
||||
<Name>ROADS_RIVERS</Name>
|
||||
<Title>Roads and Rivers</Title>
|
||||
|
||||
<CRS>EPSG:26986</CRS>
|
||||
<EX_GeographicBoundingBox>
|
||||
<westBoundLongitude>-71.63</westBoundLongitude>
|
||||
<eastBoundLongitude>-70.78</eastBoundLongitude>
|
||||
<southBoundLatitude>41.75</southBoundLatitude>
|
||||
<northBoundLatitude>42.90</northBoundLatitude>
|
||||
|
||||
</EX_GeographicBoundingBox>
|
||||
<BoundingBox CRS="CRS:84"
|
||||
minx="-71.63" miny="41.75" maxx="-70.78" maxy="42.90" resx="0.01" resy="0.01"/>
|
||||
<BoundingBox CRS="EPSG:26986"
|
||||
minx="189000" miny="834000" maxx="285000" maxy="962000" resx="1" resy="1" />
|
||||
<Attribution>
|
||||
<Title>State College University</Title>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/" />
|
||||
|
||||
<LogoURL width="100" height="100">
|
||||
<Format>image/gif</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/icons/logo.gif" />
|
||||
</LogoURL>
|
||||
</Attribution>
|
||||
<Identifier authority="DIF_ID">123456</Identifier>
|
||||
<FeatureListURL>
|
||||
|
||||
<Format>XML</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/data/roads_rivers.gml" />
|
||||
</FeatureListURL>
|
||||
<Style>
|
||||
<Name>USGS</Name>
|
||||
<Title>USGS Topo Map Style</Title>
|
||||
<Abstract>Features are shown in a style like that used in USGS topographic maps.</Abstract>
|
||||
|
||||
<LegendURL width="72" height="72">
|
||||
<Format>image/gif</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/legends/usgs.gif" />
|
||||
</LegendURL>
|
||||
<StyleSheetURL>
|
||||
<Format>text/xsl</Format>
|
||||
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/stylesheets/usgs.xsl" />
|
||||
</StyleSheetURL>
|
||||
</Style>
|
||||
<MinScaleDenominator>1000</MinScaleDenominator>
|
||||
<MaxScaleDenominator>250000</MaxScaleDenominator>
|
||||
<Layer queryable="1">
|
||||
<Name>ROADS_1M</Name>
|
||||
<Title>Roads at 1:1M scale</Title>
|
||||
<Abstract>Roads at a scale of 1 to 1 million.</Abstract>
|
||||
|
||||
<KeywordList>
|
||||
<Keyword>road</Keyword>
|
||||
<Keyword>transportation</Keyword>
|
||||
<Keyword>atlas</Keyword>
|
||||
</KeywordList>
|
||||
<Identifier authority="DIF_ID">123456</Identifier>
|
||||
<MetadataURL type="FGDC:1998">
|
||||
|
||||
<Format>text/plain</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/metadata/roads.txt" />
|
||||
</MetadataURL>
|
||||
<MetadataURL type="ISO19115:2003">
|
||||
<Format>text/xml</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/metadata/roads.xml" />
|
||||
</MetadataURL>
|
||||
|
||||
<Style>
|
||||
<Name>ATLAS</Name>
|
||||
<Title>Road atlas style</Title>
|
||||
<Abstract>Roads are shown in a style like that used in a commercial road atlas.</Abstract>
|
||||
<LegendURL width="72" height="72">
|
||||
<Format>image/gif</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/legends/atlas.gif" />
|
||||
|
||||
</LegendURL>
|
||||
</Style>
|
||||
</Layer>
|
||||
<Layer queryable="1">
|
||||
<Name>RIVERS_1M</Name>
|
||||
<Title>Rivers at 1:1M scale</Title>
|
||||
<Abstract>Rivers at a scale of 1 to 1 million.</Abstract>
|
||||
|
||||
<KeywordList>
|
||||
<Keyword>river</Keyword>
|
||||
<Keyword>canal</Keyword>
|
||||
<Keyword>waterway</Keyword>
|
||||
</KeywordList>
|
||||
</Layer>
|
||||
</Layer>
|
||||
|
||||
<Layer queryable="1">
|
||||
<Title>Weather Forecast Data</Title>
|
||||
<CRS>CRS:84</CRS>
|
||||
|
||||
<EX_GeographicBoundingBox>
|
||||
<westBoundLongitude>-180</westBoundLongitude>
|
||||
<eastBoundLongitude>180</eastBoundLongitude>
|
||||
|
||||
<southBoundLatitude>-90</southBoundLatitude>
|
||||
<northBoundLatitude>90</northBoundLatitude>
|
||||
</EX_GeographicBoundingBox>
|
||||
<Dimension name="time" units="ISO8601" default="2000-08-22">1999-01-01/2000-08-22/P1D</Dimension>
|
||||
<Layer>
|
||||
|
||||
<Name>Clouds</Name>
|
||||
<Title>Forecast cloud cover</Title>
|
||||
</Layer>
|
||||
<Layer>
|
||||
<Name>Temperature</Name>
|
||||
<Title>Forecast temperature</Title>
|
||||
</Layer>
|
||||
|
||||
<Layer>
|
||||
<Name>Pressure</Name>
|
||||
<Title>Forecast barometric pressure</Title>
|
||||
<Dimension name="elevation" units="EPSG:5030" />
|
||||
<Dimension name="time" units="ISO8601" default="2000-08-22">
|
||||
1999-01-01/2000-08-22/P1D</Dimension>
|
||||
|
||||
<Dimension name="elevation" units="CRS:88" default="0" nearestValue="1">0,1000,3000,5000,10000</Dimension>
|
||||
</Layer>
|
||||
</Layer>
|
||||
<Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="256">
|
||||
<Name>ozone_image</Name>
|
||||
<Title>Global ozone distribution (1992)</Title>
|
||||
|
||||
<EX_GeographicBoundingBox>
|
||||
<westBoundLongitude>-180</westBoundLongitude>
|
||||
<eastBoundLongitude>180</eastBoundLongitude>
|
||||
<southBoundLatitude>-90</southBoundLatitude>
|
||||
<northBoundLatitude>90</northBoundLatitude>
|
||||
</EX_GeographicBoundingBox>
|
||||
<Dimension name="time" units="ISO8601" default="1992">1992</Dimension>
|
||||
|
||||
</Layer>
|
||||
<Layer cascaded="1">
|
||||
<Name>population</Name>
|
||||
<Title>World population, annual</Title>
|
||||
<EX_GeographicBoundingBox>
|
||||
<westBoundLongitude>-180</westBoundLongitude>
|
||||
|
||||
<eastBoundLongitude>180</eastBoundLongitude>
|
||||
<southBoundLatitude>-90</southBoundLatitude>
|
||||
<northBoundLatitude>90</northBoundLatitude>
|
||||
</EX_GeographicBoundingBox>
|
||||
<Dimension name="time" units="ISO8601" default="2000">1990/2000/P1Y</Dimension>
|
||||
</Layer>
|
||||
</Layer>
|
||||
|
||||
</Capability>
|
||||
</WMS_Capabilities>
|
||||
146
test/browser/spec/ol/format/wms/singlelayer.xml
Normal file
146
test/browser/spec/ol/format/wms/singlelayer.xml
Normal file
@@ -0,0 +1,146 @@
|
||||
<?xml version='1.0' encoding="UTF-8"?>
|
||||
<WMS_Capabilities version="1.3.0" xmlns="http://www.opengis.net/wms"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd">
|
||||
<Service>
|
||||
<Name>WMS</Name>
|
||||
<Title>Acme Corp. Map Server</Title>
|
||||
<Abstract>Map Server maintained by Acme Corporation. Contact: webmaster@wmt.acme.com. High-quality maps showing roadrunner nests and possible ambush locations.</Abstract>
|
||||
|
||||
<KeywordList>
|
||||
<Keyword>bird</Keyword>
|
||||
<Keyword>roadrunner</Keyword>
|
||||
<Keyword>ambush</Keyword>
|
||||
</KeywordList>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
|
||||
xlink:href="http://hostname/" />
|
||||
|
||||
|
||||
<ContactInformation>
|
||||
<ContactPersonPrimary>
|
||||
<ContactPerson>Jeff Smith</ContactPerson>
|
||||
<ContactOrganization>NASA</ContactOrganization>
|
||||
</ContactPersonPrimary>
|
||||
<ContactPosition>Computer Scientist</ContactPosition>
|
||||
|
||||
<ContactAddress>
|
||||
<AddressType>postal</AddressType>
|
||||
<Address>NASA Goddard Space Flight Center</Address>
|
||||
<City>Greenbelt</City>
|
||||
<StateOrProvince>MD</StateOrProvince>
|
||||
<PostCode>20771</PostCode>
|
||||
|
||||
<Country>USA</Country>
|
||||
</ContactAddress>
|
||||
<ContactVoiceTelephone>+1 301 555-1212</ContactVoiceTelephone>
|
||||
<ContactElectronicMailAddress>user@host.com</ContactElectronicMailAddress>
|
||||
</ContactInformation>
|
||||
|
||||
<Fees>none</Fees>
|
||||
|
||||
<AccessConstraints>none</AccessConstraints>
|
||||
<LayerLimit>16</LayerLimit>
|
||||
<MaxWidth>2048</MaxWidth>
|
||||
<MaxHeight>2048</MaxHeight>
|
||||
</Service>
|
||||
<Capability>
|
||||
<Request>
|
||||
<GetCapabilities>
|
||||
|
||||
<Format>text/xml</Format>
|
||||
<DCPType>
|
||||
<HTTP>
|
||||
<Get>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
</Get>
|
||||
<Post>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
|
||||
</Post>
|
||||
</HTTP>
|
||||
</DCPType>
|
||||
</GetCapabilities>
|
||||
<GetMap>
|
||||
<Format>image/gif</Format>
|
||||
<Format>image/png</Format>
|
||||
<Format>image/jpeg</Format>
|
||||
|
||||
<DCPType>
|
||||
<HTTP>
|
||||
<Get>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
</Get>
|
||||
</HTTP>
|
||||
</DCPType>
|
||||
</GetMap>
|
||||
|
||||
<GetFeatureInfo>
|
||||
<Format>text/xml</Format>
|
||||
<Format>text/plain</Format>
|
||||
<Format>text/html</Format>
|
||||
<DCPType>
|
||||
<HTTP>
|
||||
<Get>
|
||||
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://hostname/path?" />
|
||||
</Get>
|
||||
</HTTP>
|
||||
</DCPType>
|
||||
</GetFeatureInfo>
|
||||
</Request>
|
||||
<Exception>
|
||||
<Format>XML</Format>
|
||||
|
||||
<Format>INIMAGE</Format>
|
||||
<Format>BLANK</Format>
|
||||
</Exception>
|
||||
<Layer queryable="1">
|
||||
<Name>ROADS_1M</Name>
|
||||
<Title>Roads at 1:1M scale</Title>
|
||||
<Abstract>Roads at a scale of 1 to 1 million.</Abstract>
|
||||
|
||||
<KeywordList>
|
||||
<Keyword>road</Keyword>
|
||||
<Keyword>transportation</Keyword>
|
||||
<Keyword>atlas</Keyword>
|
||||
</KeywordList>
|
||||
<Identifier authority="DIF_ID">123456</Identifier>
|
||||
<MetadataURL type="FGDC:1998">
|
||||
|
||||
<Format>text/plain</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/metadata/roads.txt" />
|
||||
</MetadataURL>
|
||||
<MetadataURL type="ISO19115:2003">
|
||||
<Format>text/xml</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/metadata/roads.xml" />
|
||||
</MetadataURL>
|
||||
|
||||
<Style>
|
||||
<Name>ATLAS</Name>
|
||||
<Title>Road atlas style</Title>
|
||||
<Abstract>Roads are shown in a style like that used in a commercial road atlas.</Abstract>
|
||||
<LegendURL width="72" height="72">
|
||||
<Format>image/gif</Format>
|
||||
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xlink:type="simple"
|
||||
xlink:href="http://www.university.edu/legends/atlas.gif" />
|
||||
|
||||
</LegendURL>
|
||||
</Style>
|
||||
</Layer>
|
||||
|
||||
</Capability>
|
||||
</WMS_Capabilities>
|
||||
199
test/browser/spec/ol/format/wmscapabilities.test.js
Normal file
199
test/browser/spec/ol/format/wmscapabilities.test.js
Normal file
@@ -0,0 +1,199 @@
|
||||
import WMSCapabilities from '../../../../../src/ol/format/WMSCapabilities.js';
|
||||
|
||||
describe('ol.format.WMSCapabilities', function () {
|
||||
describe('when parsing ogcsample.xml', function () {
|
||||
const parser = new WMSCapabilities();
|
||||
let capabilities;
|
||||
before(function (done) {
|
||||
afterLoadText('spec/ol/format/wms/ogcsample.xml', function (xml) {
|
||||
try {
|
||||
capabilities = parser.read(xml);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('can read version', function () {
|
||||
expect(capabilities.version).to.eql('1.3.0');
|
||||
});
|
||||
|
||||
it('can read Service section', function () {
|
||||
// FIXME not all fields are tested
|
||||
const service = capabilities.Service;
|
||||
const contact = service.ContactInformation;
|
||||
|
||||
expect(service.Name).to.eql('WMS');
|
||||
expect(service.Title).to.eql('Acme Corp. Map Server');
|
||||
expect(service.KeywordList).to.eql(['bird', 'roadrunner', 'ambush']);
|
||||
expect(service.OnlineResource).to.eql('http://hostname/');
|
||||
expect(service.Fees).to.eql('none');
|
||||
expect(service.AccessConstraints).to.eql('none');
|
||||
expect(service.LayerLimit).to.eql(16);
|
||||
expect(service.MaxWidth).to.eql(2048);
|
||||
expect(service.MaxHeight).to.eql(2048);
|
||||
|
||||
expect(contact.ContactPosition).to.eql('Computer Scientist');
|
||||
expect(contact.ContactPersonPrimary).to.eql({
|
||||
ContactPerson: 'Jeff Smith',
|
||||
ContactOrganization: 'NASA',
|
||||
});
|
||||
});
|
||||
|
||||
it('can read Capability.Exception', function () {
|
||||
const exception = capabilities.Capability.Exception;
|
||||
|
||||
expect(exception).to.eql(['XML', 'INIMAGE', 'BLANK']);
|
||||
});
|
||||
|
||||
it('can read Capability.Request.GetCapabilities', function () {
|
||||
const getCapabilities = capabilities.Capability.Request.GetCapabilities;
|
||||
|
||||
expect(getCapabilities.Format).to.eql(['text/xml']);
|
||||
expect(getCapabilities.DCPType.length).to.eql(1);
|
||||
const http = getCapabilities.DCPType[0].HTTP;
|
||||
expect(http.Get.OnlineResource).to.eql('http://hostname/path?');
|
||||
expect(http.Post.OnlineResource).to.eql('http://hostname/path?');
|
||||
});
|
||||
|
||||
it('can read Capability.Request.GetFeatureInfo', function () {
|
||||
const getFeatureInfo = capabilities.Capability.Request.GetFeatureInfo;
|
||||
|
||||
expect(getFeatureInfo.Format).to.eql([
|
||||
'text/xml',
|
||||
'text/plain',
|
||||
'text/html',
|
||||
]);
|
||||
expect(getFeatureInfo.DCPType.length).to.eql(1);
|
||||
const http = getFeatureInfo.DCPType[0].HTTP;
|
||||
expect(http.Get.OnlineResource).to.eql('http://hostname/path?');
|
||||
});
|
||||
|
||||
it('can read Capability.Request.GetMap', function () {
|
||||
const getMap = capabilities.Capability.Request.GetMap;
|
||||
|
||||
expect(getMap.Format).to.eql(['image/gif', 'image/png', 'image/jpeg']);
|
||||
expect(getMap.DCPType.length).to.eql(1);
|
||||
const http = getMap.DCPType[0].HTTP;
|
||||
expect(http.Get.OnlineResource).to.eql('http://hostname/path?');
|
||||
});
|
||||
|
||||
it('can read Capability.Layer', function () {
|
||||
const layer = capabilities.Capability.Layer;
|
||||
|
||||
expect(layer.Title).to.eql('Acme Corp. Map Server');
|
||||
expect(layer.Name).to.be(undefined);
|
||||
expect(layer.CRS).to.eql(['CRS:84']);
|
||||
expect(layer.AuthorityURL).to.eql([
|
||||
{
|
||||
name: 'DIF_ID',
|
||||
OnlineResource: 'http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html',
|
||||
},
|
||||
]);
|
||||
expect(layer.BoundingBox).to.eql([
|
||||
{
|
||||
crs: 'CRS:84',
|
||||
extent: [-1, -1, 1, 1],
|
||||
res: [0, 0],
|
||||
},
|
||||
]);
|
||||
|
||||
expect(layer.Layer.length).to.eql(4);
|
||||
expect(layer.Layer[0].Name).to.eql('ROADS_RIVERS');
|
||||
expect(layer.Layer[0].Title).to.eql('Roads and Rivers');
|
||||
expect(layer.Layer[0].CRS).to.eql(['EPSG:26986', 'CRS:84']);
|
||||
expect(layer.Layer[0].Identifier).to.eql(['123456']);
|
||||
expect(layer.Layer[0].BoundingBox).to.eql([
|
||||
{
|
||||
crs: 'CRS:84',
|
||||
extent: [-71.63, 41.75, -70.78, 42.9],
|
||||
res: [0.01, 0.01],
|
||||
},
|
||||
{
|
||||
crs: 'EPSG:26986',
|
||||
extent: [189000, 834000, 285000, 962000],
|
||||
res: [1, 1],
|
||||
},
|
||||
]);
|
||||
expect(layer.Layer[0].EX_GeographicBoundingBox).to.eql([
|
||||
-71.63,
|
||||
41.75,
|
||||
-70.78,
|
||||
42.9,
|
||||
]);
|
||||
expect(layer.Layer[0].Style).to.eql([
|
||||
{
|
||||
Name: 'USGS',
|
||||
Title: 'USGS Topo Map Style',
|
||||
Abstract:
|
||||
'Features are shown in a style like that used in USGS ' +
|
||||
'topographic maps.',
|
||||
StyleSheetURL: {
|
||||
Format: 'text/xsl',
|
||||
OnlineResource: 'http://www.university.edu/stylesheets/usgs.xsl',
|
||||
},
|
||||
LegendURL: [
|
||||
{
|
||||
Format: 'image/gif',
|
||||
OnlineResource: 'http://www.university.edu/legends/usgs.gif',
|
||||
size: [72, 72],
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
expect(layer.Layer[0].FeatureListURL).to.eql([
|
||||
{
|
||||
Format: 'XML',
|
||||
OnlineResource: 'http://www.university.edu/data/roads_rivers.gml',
|
||||
},
|
||||
]);
|
||||
expect(layer.Layer[0].Attribution).to.eql({
|
||||
Title: 'State College University',
|
||||
OnlineResource: 'http://www.university.edu/',
|
||||
LogoURL: {
|
||||
Format: 'image/gif',
|
||||
OnlineResource: 'http://www.university.edu/icons/logo.gif',
|
||||
size: [100, 100],
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('ol.format.WMSCapabilities', function () {
|
||||
describe('when parsing singlelayer.xml', function () {
|
||||
const parser = new WMSCapabilities();
|
||||
let capabilities;
|
||||
before(function (done) {
|
||||
afterLoadText('spec/ol/format/wms/singlelayer.xml', function (xml) {
|
||||
try {
|
||||
capabilities = parser.read(xml);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('can read version', function () {
|
||||
expect(capabilities.version).to.eql('1.3.0');
|
||||
});
|
||||
|
||||
it('can read Service section', function () {
|
||||
// FIXME not all fields are tested
|
||||
const service = capabilities.Service;
|
||||
|
||||
expect(service.Name).to.eql('WMS');
|
||||
expect(service.Title).to.eql('Acme Corp. Map Server');
|
||||
});
|
||||
|
||||
it('can read Capability.Layer', function () {
|
||||
const layer = capabilities.Capability.Layer;
|
||||
|
||||
expect(layer.Title).to.eql('Roads at 1:1M scale');
|
||||
expect(layer.Name).to.be('ROADS_1M');
|
||||
expect(layer.queryable).to.be(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
233
test/browser/spec/ol/format/wmsgetfeatureinfo.test.js
Normal file
233
test/browser/spec/ol/format/wmsgetfeatureinfo.test.js
Normal file
@@ -0,0 +1,233 @@
|
||||
import WMSGetFeatureInfo from '../../../../../src/ol/format/WMSGetFeatureInfo.js';
|
||||
import {addCommon, clearAllProjections} from '../../../../../src/ol/proj.js';
|
||||
import {register} from '../../../../../src/ol/proj/proj4.js';
|
||||
|
||||
describe('ol.format.WMSGetFeatureInfo', function () {
|
||||
describe('#getLayers', function () {
|
||||
it('returns null if layers is undefined', function () {
|
||||
const format = new WMSGetFeatureInfo();
|
||||
expect(format.getLayers()).to.be(null);
|
||||
});
|
||||
|
||||
it('returns the value provided in the layers option', function () {
|
||||
const format = new WMSGetFeatureInfo({
|
||||
layers: ['a', 'z'],
|
||||
});
|
||||
expect(format.getLayers()).to.eql(['a', 'z']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#readFormat', function () {
|
||||
describe('read Features', function () {
|
||||
let features;
|
||||
|
||||
before(function (done) {
|
||||
proj4.defs('urn:x-ogc:def:crs:EPSG:4326', proj4.defs('EPSG:4326'));
|
||||
register(proj4);
|
||||
afterLoadText('spec/ol/format/wms/getfeatureinfo.xml', function (data) {
|
||||
try {
|
||||
features = new WMSGetFeatureInfo().readFeatures(data);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
after(function () {
|
||||
delete proj4.defs['urn:x-ogc:def:crs:EPSG:4326'];
|
||||
clearAllProjections();
|
||||
addCommon();
|
||||
});
|
||||
|
||||
it('creates 3 features', function () {
|
||||
expect(features).to.have.length(3);
|
||||
});
|
||||
|
||||
it('creates a feature for 1071', function () {
|
||||
const feature = features[0];
|
||||
expect(feature.getId()).to.be(undefined);
|
||||
expect(feature.get('FID')).to.equal('1071');
|
||||
expect(feature.get('NO_CAMPAGNE')).to.equal('1020050');
|
||||
});
|
||||
|
||||
it('read boundedBy but no geometry', function () {
|
||||
const feature = features[0];
|
||||
expect(feature.getGeometry()).to.be(undefined);
|
||||
expect(feature.get('boundedBy')).to.eql([
|
||||
-531138.686422,
|
||||
5386348.414671,
|
||||
-117252.819653,
|
||||
6144475.186022,
|
||||
]);
|
||||
});
|
||||
|
||||
it('read empty response', function () {
|
||||
// read empty response
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="ISO-8859-1"?>' +
|
||||
'<msGMLOutput xmlns:gml="http://www.opengis.net/gml"' +
|
||||
' xmlns:xlink="http://www.w3.org/1999/xlink"' +
|
||||
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' +
|
||||
' <AAA64_layer>' +
|
||||
' </AAA64_layer>' +
|
||||
'</msGMLOutput>';
|
||||
const features = new WMSGetFeatureInfo().readFeatures(text);
|
||||
expect(features.length).to.be(0);
|
||||
});
|
||||
|
||||
it('read empty attributes', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="ISO-8859-1"?>' +
|
||||
'<msGMLOutput ' +
|
||||
' xmlns:gml="http://www.opengis.net/gml"' +
|
||||
' xmlns:xlink="http://www.w3.org/1999/xlink"' +
|
||||
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' +
|
||||
' <AAA64_layer>' +
|
||||
' <AAA64_feature>' +
|
||||
' <gml:boundedBy>' +
|
||||
' <gml:Box srsName="EPSG:4326">' +
|
||||
' <gml:coordinates>' +
|
||||
' 107397.266000,460681.063000 116568.188000,480609.250000' +
|
||||
' </gml:coordinates>' +
|
||||
' </gml:Box>' +
|
||||
' </gml:boundedBy>' +
|
||||
' <FOO>bar</FOO>' +
|
||||
' <EMPTY></EMPTY>' +
|
||||
' </AAA64_feature>' +
|
||||
' </AAA64_layer>' +
|
||||
'</msGMLOutput>';
|
||||
const features = new WMSGetFeatureInfo().readFeatures(text);
|
||||
expect(features.length).to.be(1);
|
||||
expect(features[0].get('FOO')).to.be('bar');
|
||||
// FIXME is that really wanted ?
|
||||
expect(features[0].get('EMPTY')).to.be(undefined);
|
||||
});
|
||||
|
||||
it('read features from multiple layers', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="ISO-8859-1"?>' +
|
||||
'<msGMLOutput ' +
|
||||
' xmlns:gml="http://www.opengis.net/gml"' +
|
||||
' xmlns:xlink="http://www.w3.org/1999/xlink"' +
|
||||
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' +
|
||||
' <AAA64_layer>' +
|
||||
' <AAA64_feature>' +
|
||||
' <gml:boundedBy>' +
|
||||
' <gml:Box srsName="EPSG:4326">' +
|
||||
' <gml:coordinates>' +
|
||||
' 129799.109000,467950.250000 133199.906000,468904.063000' +
|
||||
' </gml:coordinates>' +
|
||||
' </gml:Box>' +
|
||||
' </gml:boundedBy>' +
|
||||
' <OBJECTID>287</OBJECTID>' +
|
||||
' <ROUTE>N403</ROUTE>' +
|
||||
' <ROUTE_CH>#N403</ROUTE_CH>' +
|
||||
' <COUNT>1</COUNT>' +
|
||||
' <BEHEERDER>P</BEHEERDER>' +
|
||||
' <LENGTH>4091.25</LENGTH>' +
|
||||
' <SHAPE><shape></SHAPE>' +
|
||||
' <SE_ANNO_CAD_DATA><null></SE_ANNO_CAD_DATA>' +
|
||||
' </AAA64_feature>' +
|
||||
' </AAA64_layer>' +
|
||||
' <AAA62_layer>' +
|
||||
' <AAA62_feature>' +
|
||||
' <gml:boundedBy>' +
|
||||
' <gml:Box srsName="EPSG:4326">' +
|
||||
' <gml:coordinates>' +
|
||||
' 129936.000000,468362.000000 131686.000000,473119.000000' +
|
||||
' </gml:coordinates>' +
|
||||
' </gml:Box>' +
|
||||
' </gml:boundedBy>' +
|
||||
' <OBJECTID>1251</OBJECTID>' +
|
||||
' <VWK_ID>1515</VWK_ID>' +
|
||||
' <VWK_BEGDTM>00:00:00 01/01/1998</VWK_BEGDTM>' +
|
||||
' <VWJ_ID_BEG>1472</VWJ_ID_BEG>' +
|
||||
' <VWJ_ID_END>1309</VWJ_ID_END>' +
|
||||
' <VAKTYPE>D</VAKTYPE>' +
|
||||
' <VRT_CODE>227</VRT_CODE>' +
|
||||
' <VRT_NAAM>Vecht</VRT_NAAM>' +
|
||||
' <VWG_NR>2</VWG_NR>' +
|
||||
' <VWG_NAAM>Vecht</VWG_NAAM>' +
|
||||
' <BEGKM>18.25</BEGKM>' +
|
||||
' <ENDKM>23.995</ENDKM>' +
|
||||
' <LENGTH>5745.09</LENGTH>' +
|
||||
' <SHAPE><shape></SHAPE>' +
|
||||
' <SE_ANNO_CAD_DATA><null></SE_ANNO_CAD_DATA>' +
|
||||
' </AAA62_feature>' +
|
||||
' </AAA62_layer>' +
|
||||
'</msGMLOutput>';
|
||||
const format = new WMSGetFeatureInfo();
|
||||
const features = format.readFeatures(text);
|
||||
expect(features.length).to.be(2);
|
||||
expect(features[0].get('OBJECTID')).to.be('287');
|
||||
expect(features[1].get('OBJECTID')).to.be('1251');
|
||||
format.setLayers(['AAA64']);
|
||||
const aaa64Features = format.readFeatures(text);
|
||||
expect(aaa64Features.length).to.be(1);
|
||||
format.setLayers(['AAA64', 'AAA62']);
|
||||
const allFeatures = format.readFeatures(text);
|
||||
expect(allFeatures.length).to.be(2);
|
||||
format.setLayers(['foo', 'bar']);
|
||||
const dummyFeatures = format.readFeatures(text);
|
||||
expect(dummyFeatures.length).to.be(0);
|
||||
});
|
||||
|
||||
it('read geoserver’s response', function () {
|
||||
const text =
|
||||
'<?xml version="1.0" encoding="UTF-8"?>' +
|
||||
'<wfs:FeatureCollection xmlns="http://www.opengis.net/wfs"' +
|
||||
' xmlns:wfs="http://www.opengis.net/wfs"' +
|
||||
' xmlns:opengeo="http://opengeo.org"' +
|
||||
' xmlns:gml="http://www.opengis.net/gml"' +
|
||||
' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
|
||||
' xsi:schemaLocation="http://opengeo.org ' +
|
||||
' http://demo.opengeo.org:80/geoserver/wfs?service=WFS&' +
|
||||
'version=1.0.0&request=DescribeFeatureType&' +
|
||||
'typeName=opengeo:roads http://www.opengis.net/wfs ' +
|
||||
' http://demo.opengeo.org:80/geoserver/schemas/wfs/1.0.0/' +
|
||||
'WFS-basic.xsd">' +
|
||||
' <gml:boundedBy>' +
|
||||
' <gml:Box' +
|
||||
' srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">' +
|
||||
' <gml:coordinates xmlns:gml="http://www.opengis.net/gml"' +
|
||||
' decimal="." cs="," ts=" ">' +
|
||||
'591943.9375,4925605 593045.625,4925845' +
|
||||
' </gml:coordinates>' +
|
||||
' </gml:Box>' +
|
||||
' </gml:boundedBy>' +
|
||||
' <gml:featureMember>' +
|
||||
' <opengeo:roads fid="roads.90">' +
|
||||
' <opengeo:cat>3</opengeo:cat>' +
|
||||
' <opengeo:label>secondary highway, hard surface' +
|
||||
' </opengeo:label>' +
|
||||
' <opengeo:the_geom>' +
|
||||
' <gml:MultiLineString' +
|
||||
' srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">' +
|
||||
' <gml:lineStringMember>' +
|
||||
' <gml:LineString>' +
|
||||
' <gml:coordinates xmlns:gml="http://www.opengis.net/gml"' +
|
||||
' decimal="." cs="," ts=" ">' +
|
||||
'593045.60746465,4925605.0059156 593024.32382915,4925606.79305411' +
|
||||
' 592907.54863574,4925624.85647524 592687.35111096,' +
|
||||
'4925670.76834012 592430.76279218,4925678.79393165' +
|
||||
' 592285.97636109,4925715.70811767 592173.39165655,' +
|
||||
'4925761.83511156 592071.1753393,4925793.95523514' +
|
||||
' 591985.96972625,4925831.59842486' +
|
||||
' 591943.98769455,4925844.93220071' +
|
||||
' </gml:coordinates>' +
|
||||
' </gml:LineString>' +
|
||||
' </gml:lineStringMember>' +
|
||||
' </gml:MultiLineString>' +
|
||||
' </opengeo:the_geom>' +
|
||||
' </opengeo:roads>' +
|
||||
' </gml:featureMember>' +
|
||||
'</wfs:FeatureCollection>';
|
||||
const features = new WMSGetFeatureInfo().readFeatures(text);
|
||||
expect(features.length).to.be(1);
|
||||
expect(features[0].get('cat')).to.be('3');
|
||||
expect(features[0].getGeometry().getType()).to.be('MultiLineString');
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
408
test/browser/spec/ol/format/wmts/arcgis.xml
Normal file
408
test/browser/spec/ol/format/wmts/arcgis.xml
Normal file
@@ -0,0 +1,408 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:gml="http://www.opengis.net/gml"
|
||||
xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd"
|
||||
version="1.0.0">
|
||||
<!-- Service Identification -->
|
||||
<ows:ServiceIdentification>
|
||||
<ows:Title>Demographics_USA_Population_Density</ows:Title>
|
||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||
</ows:ServiceIdentification>
|
||||
<!-- Operations Metadata -->
|
||||
<ows:OperationsMetadata>
|
||||
<ows:Operation name="GetCapabilities">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get
|
||||
xlink:href="https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/1.0.0/WMTSCapabilities.xml">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<!-- add KVP binding in 10.1 -->
|
||||
<ows:Get
|
||||
xlink:href="https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS?">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>KVP</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
<ows:Operation name="GetTile">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get
|
||||
xlink:href="https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/tile/1.0.0/">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get
|
||||
xlink:href="https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS?">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>KVP</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
</ows:OperationsMetadata>
|
||||
<Contents>
|
||||
<!--Layer-->
|
||||
<Layer>
|
||||
<ows:Title>Demographics_USA_Population_Density</ows:Title>
|
||||
<ows:Identifier>Demographics_USA_Population_Density</ows:Identifier>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857">
|
||||
<ows:LowerCorner>-1.98402303899E7 2144435.3407000005</ows:LowerCorner>
|
||||
<ows:UpperCorner>-7452840.4651999995 1.1536810662600003E7</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>-178.2278219969978 18.910787002877576</ows:LowerCorner>
|
||||
<ows:UpperCorner>-66.95000499993604 71.38957425051252</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<Style isDefault="true">
|
||||
<ows:Title>Default Style</ows:Title>
|
||||
<ows:Identifier>default</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>default028mm</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<TileMatrixSetLink>
|
||||
<!--Only show this TileMatrixSet if the tiling scheme is compliant to Google Maps (and that happens with tile width = 256 px)-->
|
||||
<TileMatrixSet>GoogleMapsCompatible</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" resourceType="tile"
|
||||
template="https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/tile/1.0.0/Demographics_USA_Population_Density/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"
|
||||
/>
|
||||
</Layer>
|
||||
<!--TileMatrixSet-->
|
||||
<TileMatrixSet>
|
||||
<ows:Title>TileMatrix using 0.28mm</ows:Title>
|
||||
<ows:Abstract>The tile matrix set that has scale values calculated based on the dpi
|
||||
defined by OGC specification (dpi assumes 0.28mm as the physical distance of a
|
||||
pixel).</ows:Abstract>
|
||||
<ows:Identifier>default028mm</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>5.590822640285016E8</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>2.7954113201425034E8</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>1.3977056600712562E8</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>6.988528300356235E7</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>3</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>3.494264150178117E7</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>6</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>1.7471320750890587E7</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>11</MatrixWidth>
|
||||
<MatrixHeight>15</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8735660.375445293</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>21</MatrixWidth>
|
||||
<MatrixHeight>29</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>4367830.187722647</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>41</MatrixWidth>
|
||||
<MatrixHeight>58</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>2183915.0938617955</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>81</MatrixWidth>
|
||||
<MatrixHeight>115</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>1091957.5469304253</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>161</MatrixWidth>
|
||||
<MatrixHeight>229</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>545978.7734656851</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>322</MatrixWidth>
|
||||
<MatrixHeight>458</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>272989.38673237007</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>644</MatrixWidth>
|
||||
<MatrixHeight>915</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>136494.69336618503</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1287</MatrixWidth>
|
||||
<MatrixHeight>1829</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>68247.34668309252</ScaleDenominator>
|
||||
<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2573</MatrixWidth>
|
||||
<MatrixHeight>3658</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<ows:Title>GoogleMapsCompatible</ows:Title>
|
||||
<ows:Abstract>the wellknown 'GoogleMapsCompatible' tile matrix set defined by OGC WMTS
|
||||
specification</ows:Abstract>
|
||||
<ows:Identifier>GoogleMapsCompatible</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18.3:3857</ows:SupportedCRS>
|
||||
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>559082264.0287178</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>279541132.0143589</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>139770566.0071794</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>69885283.00358972</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>34942641.50179486</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>17471320.75089743</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8735660.375448715</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>4367830.187724357</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>2183915.093862179</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>1091957.546931089</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>545978.7734655447</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>272989.3867327723</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>136494.6933663862</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>68247.34668319309</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>8192</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>14</ows:Identifier>
|
||||
<ScaleDenominator>34123.67334159654</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16384</MatrixWidth>
|
||||
<MatrixHeight>16384</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>15</ows:Identifier>
|
||||
<ScaleDenominator>17061.83667079827</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32768</MatrixWidth>
|
||||
<MatrixHeight>32768</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>16</ows:Identifier>
|
||||
<ScaleDenominator>8530.918335399136</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>65536</MatrixWidth>
|
||||
<MatrixHeight>65536</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>17</ows:Identifier>
|
||||
<ScaleDenominator>4265.459167699568</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>131072</MatrixWidth>
|
||||
<MatrixHeight>131072</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>18</ows:Identifier>
|
||||
<ScaleDenominator>2132.729583849784</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>262144</MatrixWidth>
|
||||
<MatrixHeight>262144</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
</Contents>
|
||||
<ServiceMetadataURL
|
||||
xlink:href="https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/1.0.0/WMTSCapabilities.xml"
|
||||
/>
|
||||
</Capabilities>
|
||||
170
test/browser/spec/ol/format/wmts/capabilities_wgs84.xml
Normal file
170
test/browser/spec/ol/format/wmts/capabilities_wgs84.xml
Normal file
@@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0.0">
|
||||
<ows:ServiceIdentification>
|
||||
<ows:Title>Sample WMTS</ows:Title>
|
||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||
<ows:Fees>None</ows:Fees>
|
||||
<ows:AccessConstraints>none</ows:AccessConstraints>
|
||||
</ows:ServiceIdentification>
|
||||
<ows:ServiceProvider>
|
||||
<ows:ProviderName></ows:ProviderName>
|
||||
<ows:ProviderSite/>
|
||||
<ows:ServiceContact>
|
||||
<ows:IndividualName></ows:IndividualName>
|
||||
<ows:ContactInfo>
|
||||
<ows:Address>
|
||||
<ows:City></ows:City>
|
||||
<ows:Country></ows:Country>
|
||||
<ows:ElectronicMailAddress></ows:ElectronicMailAddress>
|
||||
</ows:Address>
|
||||
</ows:ContactInfo>
|
||||
</ows:ServiceContact>
|
||||
</ows:ServiceProvider>
|
||||
<Contents>
|
||||
<Layer>
|
||||
<ows:Title>Baselayer</ows:Title>
|
||||
<ows:Abstract>Baselayer</ows:Abstract>
|
||||
<ows:Identifier>baselayer</ows:Identifier>
|
||||
<ows:WGS84BoundingBox>
|
||||
<ows:LowerCorner>-180.0 -90.0</ows:LowerCorner>
|
||||
<ows:UpperCorner>180.0 90.0</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::4326">
|
||||
<ows:LowerCorner>-90.0 -180.0</ows:LowerCorner>
|
||||
<ows:UpperCorner>90.0 180.0</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<Style>
|
||||
<ows:Identifier>default</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>inspire_quad</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" resourceType="tile" template="https://example.com/wmts/baselayer/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png"/>
|
||||
</Layer>
|
||||
<TileMatrixSet>
|
||||
<ows:Title>InspireCRS84Quad</ows:Title>
|
||||
<ows:Identifier>inspire_quad</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::4326</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>279541132.014357</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>1.3977056600717938E8</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>6.988528300358969E7</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>3.4942641501794845E7</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>1.7471320750897422E7</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>8735660.375448711</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>4367830.187724356</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>2183915.093862178</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>1091957.546931089</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>545978.7734655445</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>272989.3867327722</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>136494.6933663861</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>68247.34668319306</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
</Contents>
|
||||
<ServiceMetadataURL xlink:href="https://example.com/wmts/1.0.0/WMTSCapabilities.xml"/>
|
||||
</Capabilities>
|
||||
@@ -0,0 +1,626 @@
|
||||
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
|
||||
<ows:ServiceIdentification>
|
||||
<ows:Title>basemap.at</ows:Title>
|
||||
<ows:Abstract>basemap.at ist eine Rasterkarte in Form eines vorgenerierten Kachel-Caches, in der Web Mercator Auxiliary Sphere und damit kompatibel zu den gängigen weltweiten Basiskarten wie beispielsweise jenen von OpenStreetMap, Google Maps und Bing Maps.</ows:Abstract>
|
||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||
<ows:Fees>none</ows:Fees>
|
||||
<ows:AccessConstraints>https://www.basemap.at</ows:AccessConstraints>
|
||||
</ows:ServiceIdentification>
|
||||
<ows:ServiceProvider>
|
||||
<ows:ProviderName>City of Vienna</ows:ProviderName>
|
||||
<ows:ProviderSite xlink:href="https://www.wien.gv.at/viennagis" />
|
||||
<ows:ServiceContact>
|
||||
<ows:ContactInfo>
|
||||
<ows:Address>
|
||||
<ows:City>Vienna</ows:City>
|
||||
<ows:Country>Austria</ows:Country>
|
||||
<ows:ElectronicMailAddress>viennagis@post.wien.gv.at</ows:ElectronicMailAddress>
|
||||
</ows:Address>
|
||||
</ows:ContactInfo>
|
||||
</ows:ServiceContact>
|
||||
</ows:ServiceProvider>
|
||||
<ows:OperationsMetadata>
|
||||
<ows:Operation name="GetCapabilities">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get xlink:href="https://maps.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps1.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps2.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps3.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps4.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
<ows:Operation name="GetTile">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get xlink:href="https://maps.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps1.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps2.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps3.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
<ows:Get xlink:href="https://maps4.wien.gv.at/basemap">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>RESTful</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
</ows:OperationsMetadata>
|
||||
<Contents>
|
||||
<Layer>
|
||||
<ows:Title>Geoland Basemap</ows:Title>
|
||||
<ows:Abstract>Basemap von Österreich in Farbe</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>geolandbasemap</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>normal</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" template="https://maps1.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps2.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps3.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps4.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps.wien.gv.at/basemap/geolandbasemap/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Geoland Basemap Overlay</ows:Title>
|
||||
<ows:Abstract>Basemap von Österreich nur Beschriftung als transparenter Layer</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>bmapoverlay</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>normal</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" template="https://maps1.wien.gv.at/basemap/bmapoverlay/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps2.wien.gv.at/basemap/bmapoverlay/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps3.wien.gv.at/basemap/bmapoverlay/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps4.wien.gv.at/basemap/bmapoverlay/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps.wien.gv.at/basemap/bmapoverlay/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Geoland Basemap Grau</ows:Title>
|
||||
<ows:Abstract>Basemap von Österreich in Grau</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>bmapgrau</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>normal</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" template="https://maps1.wien.gv.at/basemap/bmapgrau/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps2.wien.gv.at/basemap/bmapgrau/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps3.wien.gv.at/basemap/bmapgrau/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps4.wien.gv.at/basemap/bmapgrau/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
<ResourceURL format="image/png" template="https://maps.wien.gv.at/basemap/bmapgrau/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile" />
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Basemap High DPI</ows:Title>
|
||||
<ows:Abstract>Basemap mit 512x512px Kacheln für Unterstützung von User Endgeräten mit high dpi Displays (iPad retina, smartphones mit HD Auflösung)</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>bmaphidpi</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>normal</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/jpeg</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/jpeg" template="https://maps1.wien.gv.at/basemap/bmaphidpi/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps2.wien.gv.at/basemap/bmaphidpi/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps3.wien.gv.at/basemap/bmaphidpi/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps4.wien.gv.at/basemap/bmaphidpi/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps.wien.gv.at/basemap/bmaphidpi/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Geoland Basemap Orthofoto</ows:Title>
|
||||
<ows:Abstract>Basemap als farbiges Orthofoto</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>bmaporthofoto30cm</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>normal</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/jpeg</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/jpeg" template="https://maps1.wien.gv.at/basemap/bmaporthofoto30cm/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps2.wien.gv.at/basemap/bmaporthofoto30cm/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps3.wien.gv.at/basemap/bmaporthofoto30cm/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps4.wien.gv.at/basemap/bmaporthofoto30cm/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps.wien.gv.at/basemap/bmaporthofoto30cm/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Geoland Basemap Gelände</ows:Title>
|
||||
<ows:Abstract>Basemap Geländedarstellung von Österreich in Grau</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>bmapgelaende</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>grau</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/jpeg</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857_0-17</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/jpeg" template="https://maps1.wien.gv.at/basemap/bmapgelaende/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps2.wien.gv.at/basemap/bmapgelaende/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps3.wien.gv.at/basemap/bmapgelaende/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps4.wien.gv.at/basemap/bmapgelaende/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps.wien.gv.at/basemap/bmapgelaende/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Geoland Basemap Oberfläche</ows:Title>
|
||||
<ows:Abstract>Basemap Oberflächendarstellung von Österreich in Grau</ows:Abstract>
|
||||
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
|
||||
<ows:LowerCorner>8.782379 46.358770</ows:LowerCorner>
|
||||
<ows:UpperCorner>17.5 49.037872</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>bmapoberflaeche</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Identifier>grau</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/jpeg</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857_0-17</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/jpeg" template="https://maps1.wien.gv.at/basemap/bmapoberflaeche/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps2.wien.gv.at/basemap/bmapoberflaeche/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps3.wien.gv.at/basemap/bmapoberflaeche/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps4.wien.gv.at/basemap/bmapoberflaeche/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
<ResourceURL format="image/jpeg" template="https://maps.wien.gv.at/basemap/bmapoberflaeche/{Style}/google3857/{TileMatrix}/{TileRow}/{TileCol}.jpeg" resourceType="tile" />
|
||||
</Layer>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>google3857</ows:Identifier>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.18.3:3857">
|
||||
<ows:LowerCorner>977650 5838030</ows:LowerCorner>
|
||||
<ows:UpperCorner>1913530 6281290</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18.3:3857</ows:SupportedCRS>
|
||||
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>559082264.029</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>279541132.015</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>139770566.007</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>69885283.0036</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>34942641.5018</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>17471320.7509</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8735660.37545</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>4367830.18773</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>2183915.09386</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>1091957.54693</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>545978.773466</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>272989.386733</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>136494.693366</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>68247.3466832</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>8192</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>14</ows:Identifier>
|
||||
<ScaleDenominator>34123.6733416</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16384</MatrixWidth>
|
||||
<MatrixHeight>16384</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>15</ows:Identifier>
|
||||
<ScaleDenominator>17061.8366708</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32768</MatrixWidth>
|
||||
<MatrixHeight>32768</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>16</ows:Identifier>
|
||||
<ScaleDenominator>8530.91833540</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>65536</MatrixWidth>
|
||||
<MatrixHeight>65536</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>17</ows:Identifier>
|
||||
<ScaleDenominator>4265.45916770</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>131072</MatrixWidth>
|
||||
<MatrixHeight>131072</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>18</ows:Identifier>
|
||||
<ScaleDenominator>2132.72958385</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>262144</MatrixWidth>
|
||||
<MatrixHeight>262144</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>19</ows:Identifier>
|
||||
<ScaleDenominator>1066.36479193</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>524288</MatrixWidth>
|
||||
<MatrixHeight>524288</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>20</ows:Identifier>
|
||||
<ScaleDenominator>533.18239597</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1048576</MatrixWidth>
|
||||
<MatrixHeight>1048576</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>google3857_0-17</ows:Identifier>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.18.3:3857">
|
||||
<ows:LowerCorner>977650 5838030</ows:LowerCorner>
|
||||
<ows:UpperCorner>1913530 6281290</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18.3:3857</ows:SupportedCRS>
|
||||
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>559082264.029</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>279541132.015</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>139770566.007</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>69885283.0036</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>34942641.5018</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>17471320.7509</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8735660.37545</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>4367830.18773</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>2183915.09386</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>1091957.54693</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>545978.773466</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>272989.386733</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>136494.693366</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>68247.3466832</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>8192</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>14</ows:Identifier>
|
||||
<ScaleDenominator>34123.6733416</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16384</MatrixWidth>
|
||||
<MatrixHeight>16384</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>15</ows:Identifier>
|
||||
<ScaleDenominator>17061.8366708</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32768</MatrixWidth>
|
||||
<MatrixHeight>32768</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>16</ows:Identifier>
|
||||
<ScaleDenominator>8530.91833540</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>65536</MatrixWidth>
|
||||
<MatrixHeight>65536</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>17</ows:Identifier>
|
||||
<ScaleDenominator>4265.45916770</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>131072</MatrixWidth>
|
||||
<MatrixHeight>131072</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
</Contents>
|
||||
<ServiceMetadataURL xlink:href="https://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml" />
|
||||
</Capabilities>
|
||||
@@ -0,0 +1,284 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0.0">
|
||||
<ows:ServiceIdentification>
|
||||
<ows:Title>Sample WMTS</ows:Title>
|
||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||
<ows:Fees>None</ows:Fees>
|
||||
<ows:AccessConstraints>none</ows:AccessConstraints>
|
||||
</ows:ServiceIdentification>
|
||||
<ows:ServiceProvider>
|
||||
<ows:ProviderName></ows:ProviderName>
|
||||
<ows:ProviderSite/>
|
||||
<ows:ServiceContact>
|
||||
<ows:IndividualName></ows:IndividualName>
|
||||
<ows:ContactInfo>
|
||||
<ows:Address>
|
||||
<ows:City></ows:City>
|
||||
<ows:Country></ows:Country>
|
||||
<ows:ElectronicMailAddress></ows:ElectronicMailAddress>
|
||||
</ows:Address>
|
||||
</ows:ContactInfo>
|
||||
</ows:ServiceContact>
|
||||
</ows:ServiceProvider>
|
||||
<Contents>
|
||||
<Layer>
|
||||
<ows:Title>Baselayer</ows:Title>
|
||||
<ows:Abstract>Baselayer</ows:Abstract>
|
||||
<ows:Identifier>baselayer</ows:Identifier>
|
||||
<ows:WGS84BoundingBox>
|
||||
<ows:LowerCorner>-180.0 -90.0</ows:LowerCorner>
|
||||
<ows:UpperCorner>180.0 90.0</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::4326">
|
||||
<ows:LowerCorner>-90.0 -180.0</ows:LowerCorner>
|
||||
<ows:UpperCorner>90.0 180.0</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<Style>
|
||||
<ows:Identifier>default</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>inspire_quad</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" resourceType="tile" template="https://example.com/wmts/baselayer/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png"/>
|
||||
</Layer>
|
||||
<Layer>
|
||||
<ows:Title>Mean depth full coverage with land coverage</ows:Title>
|
||||
<ows:Abstract></ows:Abstract>
|
||||
<ows:Identifier>mean_atlas_land</ows:Identifier>
|
||||
<ows:WGS84BoundingBox>
|
||||
<ows:LowerCorner>-36.0 15.0</ows:LowerCorner>
|
||||
<ows:UpperCorner>43.0 90.0</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::4326">
|
||||
<ows:LowerCorner>14.999942759061003 -36.0</ows:LowerCorner>
|
||||
<ows:UpperCorner>90.0 42.999938986416</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<Style>
|
||||
<ows:Identifier>default</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/png</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>inspire_quad</TileMatrixSet>
|
||||
<TileMatrixSetLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>0</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>0</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>1</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>1</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>0</MaxTileRow>
|
||||
<MinTileCol>1</MinTileCol>
|
||||
<MaxTileCol>2</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>2</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>1</MaxTileRow>
|
||||
<MinTileCol>3</MinTileCol>
|
||||
<MaxTileCol>4</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>3</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>3</MaxTileRow>
|
||||
<MinTileCol>6</MinTileCol>
|
||||
<MaxTileCol>9</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>4</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>6</MaxTileRow>
|
||||
<MinTileCol>12</MinTileCol>
|
||||
<MaxTileCol>19</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>5</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>13</MaxTileRow>
|
||||
<MinTileCol>25</MinTileCol>
|
||||
<MaxTileCol>39</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>6</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>26</MaxTileRow>
|
||||
<MinTileCol>51</MinTileCol>
|
||||
<MaxTileCol>79</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>7</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>53</MaxTileRow>
|
||||
<MinTileCol>102</MinTileCol>
|
||||
<MaxTileCol>158</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>8</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>106</MaxTileRow>
|
||||
<MinTileCol>204</MinTileCol>
|
||||
<MaxTileCol>317</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>9</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>213</MaxTileRow>
|
||||
<MinTileCol>409</MinTileCol>
|
||||
<MaxTileCol>634</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>10</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>426</MaxTileRow>
|
||||
<MinTileCol>819</MinTileCol>
|
||||
<MaxTileCol>1268</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>11</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>853</MaxTileRow>
|
||||
<MinTileCol>1638</MinTileCol>
|
||||
<MaxTileCol>2537</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>12</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>1706</MaxTileRow>
|
||||
<MinTileCol>3276</MinTileCol>
|
||||
<MaxTileCol>5074</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
</TileMatrixSetLimits>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" resourceType="tile" template="https://example.com/wmts/mean_atlas_land/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png"/>
|
||||
</Layer>
|
||||
<TileMatrixSet>
|
||||
<ows:Title>InspireCRS84Quad</ows:Title>
|
||||
<ows:Identifier>inspire_quad</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG::4326</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>279541132.014357</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>1.3977056600717938E8</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>6.988528300358969E7</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>3.4942641501794845E7</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>1.7471320750897422E7</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>8735660.375448711</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>4367830.187724356</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>2183915.093862178</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>1091957.546931089</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>545978.7734655445</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>272989.3867327722</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>136494.6933663861</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>68247.34668319306</ScaleDenominator>
|
||||
<TopLeftCorner>90.0 -180.0</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
</Contents>
|
||||
<ServiceMetadataURL xlink:href="https://example.com/wmts/1.0.0/WMTSCapabilities.xml"/>
|
||||
</Capabilities>
|
||||
496
test/browser/spec/ol/format/wmts/ign.xml
Normal file
496
test/browser/spec/ol/format/wmts/ign.xml
Normal file
@@ -0,0 +1,496 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd">
|
||||
<ows:ServiceIdentification>
|
||||
<ows:Title>Service de visualisation WMTS</ows:Title>
|
||||
<ows:Abstract>
|
||||
Ce service permet la visualisation de couches de données raster IGN au travers d'un flux WMTS
|
||||
</ows:Abstract>
|
||||
<ows:Keywords>
|
||||
<ows:Keyword>Unités administratives</ows:Keyword>
|
||||
<ows:Keyword>Limites administratives</ows:Keyword>
|
||||
<ows:Keyword>Surfaces bâties</ows:Keyword>
|
||||
<ows:Keyword>Réseaux de transport</ows:Keyword>
|
||||
<ows:Keyword>Routes</ows:Keyword>
|
||||
<ows:Keyword>Réseaux ferroviaires</ows:Keyword>
|
||||
<ows:Keyword>Aérodromes</ows:Keyword>
|
||||
<ows:Keyword>Réseau hydrographique</ows:Keyword>
|
||||
<ows:Keyword>Parcelles cadastrales</ows:Keyword>
|
||||
<ows:Keyword>Bâtiments</ows:Keyword>
|
||||
<ows:Keyword>Services d'utilité publique et services publics</ows:Keyword>
|
||||
<ows:Keyword>Réseaux de transport</ows:Keyword>
|
||||
<ows:Keyword>Hydrographie</ows:Keyword>
|
||||
<ows:Keyword>Photographies aériennes</ows:Keyword>
|
||||
<ows:Keyword>Cartes</ows:Keyword>
|
||||
<ows:Keyword>Cartes historiques</ows:Keyword>
|
||||
<ows:Keyword>Altitude</ows:Keyword>
|
||||
</ows:Keywords>
|
||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||
<ows:Fees>licences</ows:Fees>
|
||||
<ows:AccessConstraints>
|
||||
Conditions Générales d'Utilisation disponibles ici : http://professionnels.ign.fr/doc/Conditions_d_utilisation_des_licences_et_des_services_en_ligne.pdf
|
||||
</ows:AccessConstraints>
|
||||
</ows:ServiceIdentification>
|
||||
<ows:ServiceProvider>
|
||||
<ows:ProviderName>IGN</ows:ProviderName>
|
||||
<ows:ProviderSite xlink:href=""/>
|
||||
<ows:ServiceContact>
|
||||
<ows:IndividualName>Géoportail SAV</ows:IndividualName>
|
||||
<ows:PositionName>custodian</ows:PositionName>
|
||||
<ows:ContactInfo>
|
||||
<ows:Phone>
|
||||
<ows:Voice/>
|
||||
<ows:Facsimile/>
|
||||
</ows:Phone>
|
||||
<ows:Address>
|
||||
<ows:DeliveryPoint>73 avenue de Paris</ows:DeliveryPoint>
|
||||
<ows:City>Saint Mandé</ows:City>
|
||||
<ows:AdministrativeArea/>
|
||||
<ows:PostalCode>94160</ows:PostalCode>
|
||||
<ows:Country>France</ows:Country>
|
||||
<ows:ElectronicMailAddress>geop_services@geoportail.fr</ows:ElectronicMailAddress>
|
||||
</ows:Address>
|
||||
</ows:ContactInfo>
|
||||
</ows:ServiceContact>
|
||||
</ows:ServiceProvider>
|
||||
<ows:OperationsMetadata>
|
||||
<ows:Operation name="GetCapabilities">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get xlink:href="http://wxs.ign.fr/geoportail/wmts?">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>KVP</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
<ows:Operation name="GetTile">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get xlink:href="http://wxs.ign.fr/geoportail/wmts?">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>KVP</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
</ows:OperationsMetadata>
|
||||
<Contents>
|
||||
<Layer>
|
||||
<ows:Title>Photographies aériennes</ows:Title>
|
||||
<ows:Abstract>Photographies aériennes</ows:Abstract>
|
||||
<ows:Keywords>
|
||||
<ows:Keyword>Photographies</ows:Keyword>
|
||||
</ows:Keywords>
|
||||
<ows:WGS84BoundingBox>
|
||||
<ows:LowerCorner>-180 -86</ows:LowerCorner>
|
||||
<ows:UpperCorner>180 84</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>ORTHOIMAGERY.ORTHOPHOTOS</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Title>Données Brutes</ows:Title>
|
||||
<ows:Abstract>Données brutes sans changement de palette</ows:Abstract>
|
||||
<ows:Keywords>
|
||||
<ows:Keyword>Défaut</ows:Keyword>
|
||||
</ows:Keywords>
|
||||
<ows:Identifier>normal</ows:Identifier>
|
||||
<LegendURL format="image/jpeg" height="200" maxScaleDenominator="100000000" minScaleDenominator="200" width="200" xlink:href="http://www.geoportail.gouv.fr/depot/LEGEND.jpg"/>
|
||||
</Style>
|
||||
<Format>image/jpeg</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>PM</TileMatrixSet>
|
||||
<TileMatrixSetLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>0</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>1</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>1</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>1</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>2</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>2</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>10</TileMatrix>
|
||||
<MinTileRow>31</MinTileRow>
|
||||
<MaxTileRow>1024</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>1024</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>11</TileMatrix>
|
||||
<MinTileRow>62</MinTileRow>
|
||||
<MaxTileRow>2048</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>2048</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>12</TileMatrix>
|
||||
<MinTileRow>125</MinTileRow>
|
||||
<MaxTileRow>4096</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>4096</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>13</TileMatrix>
|
||||
<MinTileRow>2739</MinTileRow>
|
||||
<MaxTileRow>4628</MaxTileRow>
|
||||
<MinTileCol>41</MinTileCol>
|
||||
<MaxTileCol>7917</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>14</TileMatrix>
|
||||
<MinTileRow>5478</MinTileRow>
|
||||
<MaxTileRow>9256</MaxTileRow>
|
||||
<MinTileCol>82</MinTileCol>
|
||||
<MaxTileCol>15835</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>15</TileMatrix>
|
||||
<MinTileRow>10956</MinTileRow>
|
||||
<MaxTileRow>18513</MaxTileRow>
|
||||
<MinTileCol>165</MinTileCol>
|
||||
<MaxTileCol>31670</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>16</TileMatrix>
|
||||
<MinTileRow>21912</MinTileRow>
|
||||
<MaxTileRow>37026</MaxTileRow>
|
||||
<MinTileCol>330</MinTileCol>
|
||||
<MaxTileCol>63341</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>17</TileMatrix>
|
||||
<MinTileRow>43825</MinTileRow>
|
||||
<MaxTileRow>74052</MaxTileRow>
|
||||
<MinTileCol>660</MinTileCol>
|
||||
<MaxTileCol>126683</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>18</TileMatrix>
|
||||
<MinTileRow>87651</MinTileRow>
|
||||
<MaxTileRow>148105</MaxTileRow>
|
||||
<MinTileCol>1320</MinTileCol>
|
||||
<MaxTileCol>253366</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>19</TileMatrix>
|
||||
<MinTileRow>175302</MinTileRow>
|
||||
<MaxTileRow>294060</MaxTileRow>
|
||||
<MinTileCol>170159</MinTileCol>
|
||||
<MaxTileCol>343473</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>2</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>4</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>4</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>3</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>8</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>8</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>4</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>16</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>16</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>5</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>32</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>32</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>6</TileMatrix>
|
||||
<MinTileRow>1</MinTileRow>
|
||||
<MaxTileRow>64</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>64</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>7</TileMatrix>
|
||||
<MinTileRow>3</MinTileRow>
|
||||
<MaxTileRow>128</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>128</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>8</TileMatrix>
|
||||
<MinTileRow>7</MinTileRow>
|
||||
<MaxTileRow>256</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>256</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>9</TileMatrix>
|
||||
<MinTileRow>15</MinTileRow>
|
||||
<MaxTileRow>512</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>512</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
</TileMatrixSetLimits>
|
||||
</TileMatrixSetLink>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>Prefixed</TileMatrixSet>
|
||||
<TileMatrixSetLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>Prefixed:0</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>1</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>1</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
<TileMatrixLimits>
|
||||
<TileMatrix>Prefixed:1</TileMatrix>
|
||||
<MinTileRow>0</MinTileRow>
|
||||
<MaxTileRow>2</MaxTileRow>
|
||||
<MinTileCol>0</MinTileCol>
|
||||
<MaxTileCol>2</MaxTileCol>
|
||||
</TileMatrixLimits>
|
||||
</TileMatrixSetLimits>
|
||||
</TileMatrixSetLink>
|
||||
</Layer>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>PM</ows:Identifier>
|
||||
<ows:SupportedCRS>EPSG:3857</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>559082264.0287178958533332</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>279541132.0143588959472254</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>545978.7734655447186469</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>272989.3867327723085907</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>136494.6933663861796617</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>68247.3466831930771477</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>8192</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>14</ows:Identifier>
|
||||
<ScaleDenominator>34123.6733415965449154</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16384</MatrixWidth>
|
||||
<MatrixHeight>16384</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>15</ows:Identifier>
|
||||
<ScaleDenominator>17061.8366707982724577</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32768</MatrixWidth>
|
||||
<MatrixHeight>32768</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>16</ows:Identifier>
|
||||
<ScaleDenominator>8530.9183353991362289</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>65536</MatrixWidth>
|
||||
<MatrixHeight>65536</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>17</ows:Identifier>
|
||||
<ScaleDenominator>4265.4591676995681144</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>131072</MatrixWidth>
|
||||
<MatrixHeight>131072</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>18</ows:Identifier>
|
||||
<ScaleDenominator>2132.7295838497840572</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>262144</MatrixWidth>
|
||||
<MatrixHeight>262144</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>19</ows:Identifier>
|
||||
<ScaleDenominator>1066.3647919248918304</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>524288</MatrixWidth>
|
||||
<MatrixHeight>524288</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>139770566.0071793960087234</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>20</ows:Identifier>
|
||||
<ScaleDenominator>533.1823959624461134</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1048576</MatrixWidth>
|
||||
<MatrixHeight>1048576</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>21</ows:Identifier>
|
||||
<ScaleDenominator>266.5911979812228585</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2097152</MatrixWidth>
|
||||
<MatrixHeight>2097152</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>69885283.0035897239868063</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>34942641.5017948619934032</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>17471320.7508974309967016</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8735660.3754487154983508</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>4367830.1877243577491754</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>2183915.0938621788745877</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>1091957.5469310886252288</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>Prefixed</ows:Identifier>
|
||||
<ows:SupportedCRS>EPSG:3857</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>559082264.0287178958533332</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>279541132.0143588959472254</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508 20037508</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
</Contents>
|
||||
</Capabilities>
|
||||
403
test/browser/spec/ol/format/wmts/ogcsample.xml
Normal file
403
test/browser/spec/ol/format/wmts/ogcsample.xml
Normal file
@@ -0,0 +1,403 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Capabilities version="1.0.0" xmlns="http://www.opengis.net/wmts/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0.0/wmtsGetCapabilities_response.xsd">
|
||||
<ows:ServiceIdentification>
|
||||
<ows:Title>Web Map Tile Service</ows:Title>
|
||||
<ows:Abstract>Service that contrains the map
|
||||
access interface to some TileMatrixSets</ows:Abstract>
|
||||
<ows:Keywords>
|
||||
<ows:Keyword>tile</ows:Keyword>
|
||||
<ows:Keyword>tile matrix set</ows:Keyword>
|
||||
<ows:Keyword>map</ows:Keyword>
|
||||
</ows:Keywords>
|
||||
<ows:ServiceType>OGC WMTS</ows:ServiceType>
|
||||
<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
|
||||
<ows:Fees>none</ows:Fees>
|
||||
<ows:AccessConstraints>none</ows:AccessConstraints>
|
||||
</ows:ServiceIdentification>
|
||||
<ows:ServiceProvider>
|
||||
<ows:ProviderName>MiraMon</ows:ProviderName>
|
||||
<ows:ProviderSite xlink:href="http://www.creaf.uab.cat/miramon"/>
|
||||
<ows:ServiceContact>
|
||||
<ows:IndividualName>Joan Maso Pau</ows:IndividualName>
|
||||
<ows:PositionName>Senior Software Engineer</ows:PositionName>
|
||||
<ows:ContactInfo>
|
||||
<ows:Phone>
|
||||
<ows:Voice>+34 93 581 1312</ows:Voice>
|
||||
<ows:Facsimile>+34 93 581 4151</ows:Facsimile>
|
||||
</ows:Phone>
|
||||
<ows:Address>
|
||||
<ows:DeliveryPoint>Fac Ciencies UAB</ows:DeliveryPoint>
|
||||
<ows:City>Bellaterra</ows:City>
|
||||
<ows:AdministrativeArea>Barcelona</ows:AdministrativeArea>
|
||||
<ows:PostalCode>08193</ows:PostalCode>
|
||||
<ows:Country>Spain</ows:Country>
|
||||
<ows:ElectronicMailAddress>joan.maso@uab.cat</ows:ElectronicMailAddress>
|
||||
</ows:Address>
|
||||
</ows:ContactInfo>
|
||||
</ows:ServiceContact>
|
||||
</ows:ServiceProvider>
|
||||
<ows:OperationsMetadata>
|
||||
<ows:Operation name="GetCapabilities">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get xlink:href="http://www.maps.bob/cgi-bin/MiraMon5_0.cgi?">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>KVP</ows:Value>
|
||||
<ows:Value>SOAP</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
<ows:Operation name="GetTile">
|
||||
<ows:DCP>
|
||||
<ows:HTTP>
|
||||
<ows:Get xlink:href="http://www.maps.bob/cgi-bin/MiraMon5_0.cgi?">
|
||||
<ows:Constraint name="GetEncoding">
|
||||
<ows:AllowedValues>
|
||||
<ows:Value>KVP</ows:Value>
|
||||
</ows:AllowedValues>
|
||||
</ows:Constraint>
|
||||
</ows:Get>
|
||||
</ows:HTTP>
|
||||
</ows:DCP>
|
||||
</ows:Operation>
|
||||
</ows:OperationsMetadata>
|
||||
<Contents>
|
||||
<Layer>
|
||||
<ows:Title>Blue Marble Next Generation</ows:Title>
|
||||
<ows:Abstract>Blue Marble Next Generation NASA Product</ows:Abstract>
|
||||
<ows:WGS84BoundingBox>
|
||||
<ows:LowerCorner>-180 -90</ows:LowerCorner>
|
||||
<ows:UpperCorner>180 90</ows:UpperCorner>
|
||||
</ows:WGS84BoundingBox>
|
||||
<ows:Identifier>BlueMarbleNextGeneration</ows:Identifier>
|
||||
<Style isDefault="true">
|
||||
<ows:Title>Dark Blue</ows:Title>
|
||||
<ows:Identifier>DarkBlue</ows:Identifier>
|
||||
<LegendURL format="image/png" xlink:href="http://www.miramon.uab.es/wmts/Coastlines/coastlines_darkBlue.png"/>
|
||||
</Style>
|
||||
<Style>
|
||||
<ows:Title>Thick And Red</ows:Title>
|
||||
<ows:Abstract>Specify this style if you want your maps to have thick red coastlines.</ows:Abstract>
|
||||
<ows:Identifier>thickAndRed</ows:Identifier>
|
||||
</Style>
|
||||
<Format>image/jpeg</Format>
|
||||
<Format>image/gif</Format>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>BigWorldPixel</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<TileMatrixSetLink>
|
||||
<TileMatrixSet>google3857subset</TileMatrixSet>
|
||||
</TileMatrixSetLink>
|
||||
<ResourceURL format="image/png" resourceType="tile" template="http://www.example.com/wmts/coastlines/{TileMatrix}/{TileRow}/{TileCol}.png"/>
|
||||
<ResourceURL format="application/gml+xml; version=3.1" resourceType="FeatureInfo" template="http://www.example.com/wmts/coastlines/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}/{J}/{I}.xml"/>
|
||||
<Dimension>
|
||||
<ows:Identifier>Time</ows:Identifier>
|
||||
<Default>20110805</Default>
|
||||
<Value>20110805</Value>
|
||||
<Value>20081024</Value>
|
||||
</Dimension>
|
||||
</Layer>
|
||||
<TileMatrixSet>
|
||||
<!-- -180 85.05112878 -->
|
||||
<ows:Identifier>google3857</ows:Identifier>
|
||||
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.18:3:3857">
|
||||
<ows:LowerCorner>1799448.394855 6124949.747770</ows:LowerCorner>
|
||||
<ows:UpperCorner>1848250.442089 6162571.828177</ows:UpperCorner>
|
||||
</ows:BoundingBox>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18:3:3857</ows:SupportedCRS>
|
||||
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>0</ows:Identifier>
|
||||
<ScaleDenominator>559082264.029</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1</ows:Identifier>
|
||||
<ScaleDenominator>279541132.015</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2</ows:Identifier>
|
||||
<ScaleDenominator>139770566.007</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>4</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>3</ows:Identifier>
|
||||
<ScaleDenominator>69885283.0036</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8</MatrixWidth>
|
||||
<MatrixHeight>8</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>4</ows:Identifier>
|
||||
<ScaleDenominator>34942641.5018</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16</MatrixWidth>
|
||||
<MatrixHeight>16</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>5</ows:Identifier>
|
||||
<ScaleDenominator>17471320.7509</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32</MatrixWidth>
|
||||
<MatrixHeight>32</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>6</ows:Identifier>
|
||||
<ScaleDenominator>8735660.37545</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>64</MatrixWidth>
|
||||
<MatrixHeight>64</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>7</ows:Identifier>
|
||||
<ScaleDenominator>4367830.18773</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>128</MatrixWidth>
|
||||
<MatrixHeight>128</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>8</ows:Identifier>
|
||||
<ScaleDenominator>2183915.09386</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>256</MatrixWidth>
|
||||
<MatrixHeight>256</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>9</ows:Identifier>
|
||||
<ScaleDenominator>1091957.54693</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>512</MatrixWidth>
|
||||
<MatrixHeight>512</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10</ows:Identifier>
|
||||
<ScaleDenominator>545978.773466</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1024</MatrixWidth>
|
||||
<MatrixHeight>1024</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>11</ows:Identifier>
|
||||
<ScaleDenominator>272989.386733</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2048</MatrixWidth>
|
||||
<MatrixHeight>2048</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>12</ows:Identifier>
|
||||
<ScaleDenominator>136494.693366</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>4096</MatrixWidth>
|
||||
<MatrixHeight>4096</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>13</ows:Identifier>
|
||||
<ScaleDenominator>68247.3466832</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>8192</MatrixWidth>
|
||||
<MatrixHeight>8192</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>14</ows:Identifier>
|
||||
<ScaleDenominator>34123.6733416</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>16384</MatrixWidth>
|
||||
<MatrixHeight>16384</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>15</ows:Identifier>
|
||||
<ScaleDenominator>17061.8366708</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>32768</MatrixWidth>
|
||||
<MatrixHeight>32768</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>16</ows:Identifier>
|
||||
<ScaleDenominator>8530.91833540</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>65536</MatrixWidth>
|
||||
<MatrixHeight>65536</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>17</ows:Identifier>
|
||||
<ScaleDenominator>4265.45916770</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>131072</MatrixWidth>
|
||||
<MatrixHeight>131072</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>18</ows:Identifier>
|
||||
<ScaleDenominator>2132.72958385</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>262144</MatrixWidth>
|
||||
<MatrixHeight>262144</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>19</ows:Identifier>
|
||||
<ScaleDenominator>1066.36479193</ScaleDenominator>
|
||||
<TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>524288</MatrixWidth>
|
||||
<MatrixHeight>524288</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>BigWorldPixel</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:OGC:1.3:CRS84</ows:SupportedCRS>
|
||||
<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel</WellKnownScaleSet>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>10000m</ows:Identifier>
|
||||
<ScaleDenominator>33130800.83133142</ScaleDenominator>
|
||||
<TopLeftCorner>-180 90</TopLeftCorner>
|
||||
<TileWidth>640</TileWidth>
|
||||
<TileHeight>480</TileHeight>
|
||||
<MatrixWidth>7</MatrixWidth>
|
||||
<MatrixHeight>5</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>20000m</ows:Identifier>
|
||||
<ScaleDenominator>66261601.66266284</ScaleDenominator>
|
||||
<TopLeftCorner>-180 90</TopLeftCorner>
|
||||
<TileWidth>640</TileWidth>
|
||||
<TileHeight>480</TileHeight>
|
||||
<MatrixWidth>4</MatrixWidth>
|
||||
<MatrixHeight>3</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>40000m</ows:Identifier>
|
||||
<ScaleDenominator>132523203.3253257</ScaleDenominator>
|
||||
<TopLeftCorner>-180 90</TopLeftCorner>
|
||||
<TileWidth>640</TileWidth>
|
||||
<TileHeight>480</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>60000m</ows:Identifier>
|
||||
<ScaleDenominator>198784804.9879885</ScaleDenominator>
|
||||
<TopLeftCorner>-180 90</TopLeftCorner>
|
||||
<TileWidth>640</TileWidth>
|
||||
<TileHeight>480</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>120000m</ows:Identifier>
|
||||
<ScaleDenominator>397569609.9759771</ScaleDenominator>
|
||||
<TopLeftCorner>-180 90</TopLeftCorner>
|
||||
<TileWidth>640</TileWidth>
|
||||
<TileHeight>480</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>240000m</ows:Identifier>
|
||||
<ScaleDenominator>795139219.9519541</ScaleDenominator>
|
||||
<TopLeftCorner>-180 90</TopLeftCorner>
|
||||
<TileWidth>640</TileWidth>
|
||||
<TileHeight>480</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<ows:Identifier>BigWorld</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:OGC:1.3:CRS84</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>1e6</ows:Identifier>
|
||||
<ScaleDenominator>1e6</ScaleDenominator>
|
||||
<TopLeftCorner>-180 84</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>60000</MatrixWidth>
|
||||
<MatrixHeight>50000</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>2.5e6</ows:Identifier>
|
||||
<ScaleDenominator>2.5e6</ScaleDenominator>
|
||||
<TopLeftCorner>-180 84</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>9000</MatrixWidth>
|
||||
<MatrixHeight>7000</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
<TileMatrixSet>
|
||||
<!-- A custom tile matrix set based on google3857 with tiles at each level covering only part of projection space (extent) -->
|
||||
<ows:Identifier>google3857subset</ows:Identifier>
|
||||
<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18:3:3857</ows:SupportedCRS>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>18</ows:Identifier>
|
||||
<ScaleDenominator>2132.72958385</ScaleDenominator>
|
||||
<TopLeftCorner>-10000000 10000000</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>1</MatrixWidth>
|
||||
<MatrixHeight>1</MatrixHeight>
|
||||
</TileMatrix>
|
||||
<TileMatrix>
|
||||
<ows:Identifier>18</ows:Identifier>
|
||||
<ScaleDenominator>1066.36479193</ScaleDenominator>
|
||||
<TopLeftCorner>-10000000 10000000</TopLeftCorner>
|
||||
<TileWidth>256</TileWidth>
|
||||
<TileHeight>256</TileHeight>
|
||||
<MatrixWidth>2</MatrixWidth>
|
||||
<MatrixHeight>2</MatrixHeight>
|
||||
</TileMatrix>
|
||||
</TileMatrixSet>
|
||||
</Contents>
|
||||
<ServiceMetadataURL xlink:href="http://www.maps.bob/wmts/1.0.0/WMTSCapabilities.xml"/>
|
||||
</Capabilities>
|
||||
204
test/browser/spec/ol/format/wmtscapabilities.test.js
Normal file
204
test/browser/spec/ol/format/wmtscapabilities.test.js
Normal file
@@ -0,0 +1,204 @@
|
||||
import WMTSCapabilities from '../../../../../src/ol/format/WMTSCapabilities.js';
|
||||
|
||||
describe('ol.format.WMTSCapabilities', function () {
|
||||
describe('when parsing ogcsample.xml', function () {
|
||||
const parser = new WMTSCapabilities();
|
||||
let capabilities;
|
||||
before(function (done) {
|
||||
afterLoadText('spec/ol/format/wmts/ogcsample.xml', function (xml) {
|
||||
try {
|
||||
capabilities = parser.read(xml);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('can read Capability.Contents.Layer', function () {
|
||||
expect(capabilities.Contents.Layer).to.be.an('array');
|
||||
expect(capabilities.Contents.Layer).to.have.length(1);
|
||||
|
||||
const layer = capabilities.Contents.Layer[0];
|
||||
expect(layer.Abstract).to.be.eql(
|
||||
'Blue Marble Next Generation NASA Product'
|
||||
);
|
||||
expect(layer.Identifier).to.be.eql('BlueMarbleNextGeneration');
|
||||
expect(layer.Title).to.be.eql('Blue Marble Next Generation');
|
||||
|
||||
expect(layer.Dimension).to.be.an('array');
|
||||
expect(layer.Dimension).to.have.length(1);
|
||||
expect(layer.Dimension[0]).to.be.an('object');
|
||||
expect(layer.Dimension[0].Identifier).to.be.eql('Time');
|
||||
expect(layer.Dimension[0].Default).to.be.eql('20110805');
|
||||
expect(layer.Dimension[0].Value).to.be.an('array');
|
||||
expect(layer.Dimension[0].Value).to.have.length(2);
|
||||
expect(layer.Dimension[0].Value[0]).to.be.eql('20110805');
|
||||
|
||||
expect(layer.Format).to.be.an('array');
|
||||
expect(layer.Format).to.have.length(2);
|
||||
expect(layer.Format[0]).to.be.eql('image/jpeg');
|
||||
|
||||
expect(layer.Style).to.be.an('array');
|
||||
expect(layer.Style).to.have.length(2);
|
||||
expect(layer.Style[0].Identifier).to.be.eql('DarkBlue');
|
||||
expect(layer.Style[0].isDefault).to.be(true);
|
||||
expect(layer.Style[0].Title).to.be.eql('Dark Blue');
|
||||
expect(layer.Style[0].LegendURL[0].href).to.be.eql(
|
||||
'http://www.miramon.uab.es/wmts/Coastlines/' + 'coastlines_darkBlue.png'
|
||||
);
|
||||
expect(layer.Style[0].LegendURL[0].format).to.be.eql('image/png');
|
||||
|
||||
expect(layer.TileMatrixSetLink).to.be.an('array');
|
||||
expect(layer.TileMatrixSetLink).to.have.length(3);
|
||||
expect(layer.TileMatrixSetLink[0].TileMatrixSet).to.be.eql(
|
||||
'BigWorldPixel'
|
||||
);
|
||||
expect(layer.TileMatrixSetLink[1].TileMatrixSet).to.be.eql('google3857');
|
||||
expect(layer.TileMatrixSetLink[2].TileMatrixSet).to.be.eql(
|
||||
'google3857subset'
|
||||
);
|
||||
|
||||
const wgs84Bbox = layer.WGS84BoundingBox;
|
||||
expect(wgs84Bbox).to.be.an('array');
|
||||
expect(wgs84Bbox[0]).to.be.eql(-180);
|
||||
expect(wgs84Bbox[2]).to.be.eql(180);
|
||||
expect(wgs84Bbox[1]).to.be.eql(-90);
|
||||
expect(wgs84Bbox[3]).to.be.eql(90.0);
|
||||
|
||||
expect(layer.ResourceURL).to.be.an('array');
|
||||
expect(layer.ResourceURL).to.have.length(2);
|
||||
expect(layer.ResourceURL[0].format).to.be.eql('image/png');
|
||||
expect(layer.ResourceURL[0].template).to.be.eql(
|
||||
'http://www.example.com/wmts/coastlines/{TileMatrix}' +
|
||||
'/{TileRow}/{TileCol}.png'
|
||||
);
|
||||
});
|
||||
|
||||
it('Can read Capabilities.Content.TileMatrixSet', function () {
|
||||
expect(capabilities.Contents.TileMatrixSet).to.be.ok();
|
||||
|
||||
const bigWorld = capabilities.Contents.TileMatrixSet[2];
|
||||
expect(bigWorld).to.be.ok();
|
||||
expect(bigWorld.Identifier).to.be.eql('BigWorld');
|
||||
expect(bigWorld.SupportedCRS).to.be.eql('urn:ogc:def:crs:OGC:1.3:CRS84');
|
||||
expect(bigWorld.TileMatrix).to.have.length(2);
|
||||
expect(bigWorld.TileMatrix[0].Identifier).to.be.eql('1e6');
|
||||
expect(bigWorld.TileMatrix[0].MatrixHeight).to.be.eql(50000);
|
||||
expect(bigWorld.TileMatrix[0].MatrixWidth).to.be.eql(60000);
|
||||
expect(bigWorld.TileMatrix[0].ScaleDenominator).to.be.eql(1000000);
|
||||
expect(bigWorld.TileMatrix[0].TileWidth).to.be.eql(256);
|
||||
expect(bigWorld.TileMatrix[0].TileHeight).to.be.eql(256);
|
||||
expect(bigWorld.TileMatrix[0].TopLeftCorner).to.be.a('array');
|
||||
expect(bigWorld.TileMatrix[0].TopLeftCorner[0]).to.be.eql(-180);
|
||||
expect(bigWorld.TileMatrix[0].TopLeftCorner[1]).to.be.eql(84);
|
||||
expect(bigWorld.TileMatrix[1].Identifier).to.be.eql('2.5e6');
|
||||
expect(bigWorld.TileMatrix[1].MatrixHeight).to.be.eql(7000);
|
||||
expect(bigWorld.TileMatrix[1].MatrixWidth).to.be.eql(9000);
|
||||
expect(bigWorld.TileMatrix[1].ScaleDenominator).to.be.eql(2500000);
|
||||
expect(bigWorld.TileMatrix[1].TileWidth).to.be.eql(256);
|
||||
expect(bigWorld.TileMatrix[1].TileHeight).to.be.eql(256);
|
||||
expect(bigWorld.TileMatrix[1].TopLeftCorner).to.be.a('array');
|
||||
expect(bigWorld.TileMatrix[1].TopLeftCorner[0]).to.be.eql(-180);
|
||||
expect(bigWorld.TileMatrix[1].TopLeftCorner[1]).to.be.eql(84);
|
||||
});
|
||||
|
||||
it('Can read OWS tags', function () {
|
||||
expect(capabilities.ServiceIdentification).to.be.ok();
|
||||
expect(capabilities.OperationsMetadata).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
describe('when parsing ign.xml', function () {
|
||||
const parser = new WMTSCapabilities();
|
||||
let capabilities;
|
||||
before(function (done) {
|
||||
afterLoadText('spec/ol/format/wmts/ign.xml', function (xml) {
|
||||
try {
|
||||
capabilities = parser.read(xml);
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('can read Capability.Contents.Layer', function () {
|
||||
expect(capabilities.Contents.Layer).to.be.an('array');
|
||||
expect(capabilities.Contents.Layer).to.have.length(1);
|
||||
|
||||
const layer = capabilities.Contents.Layer[0];
|
||||
expect(layer.TileMatrixSetLink).to.be.an('array');
|
||||
expect(layer.TileMatrixSetLink).to.have.length(2);
|
||||
expect(layer.TileMatrixSetLink[0].TileMatrixSet).to.be.eql('PM');
|
||||
expect(layer.TileMatrixSetLink[0].TileMatrixSetLimits).to.be.an('array');
|
||||
expect(layer.TileMatrixSetLink[0].TileMatrixSetLimits).to.have.length(20);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[0].TileMatrixSetLimits[0].TileMatrix
|
||||
).to.be.eql('0');
|
||||
expect(
|
||||
layer.TileMatrixSetLink[0].TileMatrixSetLimits[0].MinTileRow
|
||||
).to.be.eql(0);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[0].TileMatrixSetLimits[0].MaxTileRow
|
||||
).to.be.eql(1);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[0].TileMatrixSetLimits[0].MinTileCol
|
||||
).to.be.eql(0);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[0].TileMatrixSetLimits[0].MaxTileCol
|
||||
).to.be.eql(1);
|
||||
|
||||
expect(layer.TileMatrixSetLink[1].TileMatrixSet).to.be.eql('Prefixed');
|
||||
expect(layer.TileMatrixSetLink[1].TileMatrixSetLimits).to.be.an('array');
|
||||
expect(layer.TileMatrixSetLink[1].TileMatrixSetLimits).to.have.length(2);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[1].TileMatrixSetLimits[0].TileMatrix
|
||||
).to.be.eql('Prefixed:0');
|
||||
expect(
|
||||
layer.TileMatrixSetLink[1].TileMatrixSetLimits[0].MinTileRow
|
||||
).to.be.eql(0);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[1].TileMatrixSetLimits[0].MaxTileRow
|
||||
).to.be.eql(1);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[1].TileMatrixSetLimits[0].MinTileCol
|
||||
).to.be.eql(0);
|
||||
expect(
|
||||
layer.TileMatrixSetLink[1].TileMatrixSetLimits[0].MaxTileCol
|
||||
).to.be.eql(1);
|
||||
});
|
||||
|
||||
it('Can read Capabilities.Content.TileMatrixSet', function () {
|
||||
expect(capabilities.Contents.TileMatrixSet).to.be.ok();
|
||||
|
||||
const pm = capabilities.Contents.TileMatrixSet[0];
|
||||
expect(pm).to.be.ok();
|
||||
expect(pm.Identifier).to.be.eql('PM');
|
||||
expect(pm.SupportedCRS).to.be.eql('EPSG:3857');
|
||||
expect(pm.TileMatrix).to.have.length(22);
|
||||
expect(pm.TileMatrix[0].Identifier).to.be.eql('0');
|
||||
expect(pm.TileMatrix[0].MatrixHeight).to.be.eql(1);
|
||||
expect(pm.TileMatrix[0].MatrixWidth).to.be.eql(1);
|
||||
expect(pm.TileMatrix[0].ScaleDenominator).to.be.eql(
|
||||
559082264.0287178958533332
|
||||
);
|
||||
expect(pm.TileMatrix[0].TileWidth).to.be.eql(256);
|
||||
expect(pm.TileMatrix[0].TileHeight).to.be.eql(256);
|
||||
expect(pm.TileMatrix[0].TopLeftCorner).to.be.a('array');
|
||||
expect(pm.TileMatrix[0].TopLeftCorner[0]).to.be.eql(-20037508);
|
||||
expect(pm.TileMatrix[0].TopLeftCorner[1]).to.be.eql(20037508);
|
||||
expect(pm.TileMatrix[1].Identifier).to.be.eql('1');
|
||||
expect(pm.TileMatrix[1].MatrixHeight).to.be.eql(2);
|
||||
expect(pm.TileMatrix[1].MatrixWidth).to.be.eql(2);
|
||||
expect(pm.TileMatrix[1].ScaleDenominator).to.be.eql(
|
||||
279541132.0143588959472254
|
||||
);
|
||||
expect(pm.TileMatrix[1].TileWidth).to.be.eql(256);
|
||||
expect(pm.TileMatrix[1].TileHeight).to.be.eql(256);
|
||||
expect(pm.TileMatrix[1].TopLeftCorner).to.be.a('array');
|
||||
expect(pm.TileMatrix[1].TopLeftCorner[0]).to.be.eql(-20037508);
|
||||
expect(pm.TileMatrix[1].TopLeftCorner[1]).to.be.eql(20037508);
|
||||
});
|
||||
});
|
||||
});
|
||||
13
test/browser/spec/ol/format/xsd.test.js
Normal file
13
test/browser/spec/ol/format/xsd.test.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import {readDateTime} from '../../../../../src/ol/format/xsd.js';
|
||||
|
||||
describe('ol/format/xsd', function () {
|
||||
describe('readDateTime', function () {
|
||||
it('can handle non-Zulu time zones', function () {
|
||||
const node = document.createElement('time');
|
||||
node.textContent = '2016-07-12T15:00:00+03:00';
|
||||
expect(new Date(readDateTime(node) * 1000).toISOString()).to.eql(
|
||||
'2016-07-12T12:00:00.000Z'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user