MapProxy 2.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- MapProxy-2.1.0.dist-info/AUTHORS.txt +33 -0
- MapProxy-2.1.0.dist-info/COPYING.txt +60 -0
- MapProxy-2.1.0.dist-info/LICENSE.txt +202 -0
- MapProxy-2.1.0.dist-info/METADATA +165 -0
- MapProxy-2.1.0.dist-info/RECORD +459 -0
- MapProxy-2.1.0.dist-info/WHEEL +5 -0
- MapProxy-2.1.0.dist-info/entry_points.txt +4 -0
- MapProxy-2.1.0.dist-info/top_level.txt +1 -0
- mapproxy/__init__.py +0 -0
- mapproxy/cache/__init__.py +36 -0
- mapproxy/cache/azureblob.py +145 -0
- mapproxy/cache/base.py +120 -0
- mapproxy/cache/compact.py +665 -0
- mapproxy/cache/couchdb.py +301 -0
- mapproxy/cache/dummy.py +36 -0
- mapproxy/cache/file.py +200 -0
- mapproxy/cache/geopackage.py +647 -0
- mapproxy/cache/legend.py +87 -0
- mapproxy/cache/mbtiles.py +411 -0
- mapproxy/cache/meta.py +80 -0
- mapproxy/cache/path.py +261 -0
- mapproxy/cache/redis.py +152 -0
- mapproxy/cache/renderd.py +100 -0
- mapproxy/cache/riak.py +206 -0
- mapproxy/cache/s3.py +209 -0
- mapproxy/cache/tile.py +736 -0
- mapproxy/client/__init__.py +0 -0
- mapproxy/client/arcgis.py +82 -0
- mapproxy/client/cgi.py +141 -0
- mapproxy/client/http.py +295 -0
- mapproxy/client/log.py +33 -0
- mapproxy/client/tile.py +158 -0
- mapproxy/client/wms.py +255 -0
- mapproxy/compat/__init__.py +0 -0
- mapproxy/compat/image.py +86 -0
- mapproxy/config/__init__.py +22 -0
- mapproxy/config/config-schema.json +813 -0
- mapproxy/config/config.py +213 -0
- mapproxy/config/coverage.py +108 -0
- mapproxy/config/defaults.py +102 -0
- mapproxy/config/loader.py +2399 -0
- mapproxy/config/spec.py +657 -0
- mapproxy/config/validator.py +242 -0
- mapproxy/config_template/__init__.py +0 -0
- mapproxy/config_template/base_config/config.wsgi +10 -0
- mapproxy/config_template/base_config/full_example.yaml +598 -0
- mapproxy/config_template/base_config/full_seed_example.yaml +79 -0
- mapproxy/config_template/base_config/log.ini +35 -0
- mapproxy/config_template/base_config/mapproxy.yaml +60 -0
- mapproxy/config_template/base_config/seed.yaml +27 -0
- mapproxy/exception.py +149 -0
- mapproxy/featureinfo.py +251 -0
- mapproxy/grid.py +1199 -0
- mapproxy/image/__init__.py +549 -0
- mapproxy/image/fonts/DejaVuSans.ttf +0 -0
- mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
- mapproxy/image/fonts/LICENSE +99 -0
- mapproxy/image/fonts/__init__.py +0 -0
- mapproxy/image/mask.py +79 -0
- mapproxy/image/merge.py +323 -0
- mapproxy/image/message.py +357 -0
- mapproxy/image/opts.py +185 -0
- mapproxy/image/tile.py +171 -0
- mapproxy/image/transform.py +350 -0
- mapproxy/layer.py +489 -0
- mapproxy/multiapp.py +230 -0
- mapproxy/proj.py +309 -0
- mapproxy/request/__init__.py +18 -0
- mapproxy/request/arcgis.py +268 -0
- mapproxy/request/base.py +466 -0
- mapproxy/request/tile.py +131 -0
- mapproxy/request/wms/__init__.py +829 -0
- mapproxy/request/wms/exception.py +107 -0
- mapproxy/request/wmts.py +442 -0
- mapproxy/response.py +237 -0
- mapproxy/script/__init__.py +0 -0
- mapproxy/script/conf/__init__.py +0 -0
- mapproxy/script/conf/app.py +222 -0
- mapproxy/script/conf/caches.py +44 -0
- mapproxy/script/conf/geopackage.py +136 -0
- mapproxy/script/conf/layers.py +54 -0
- mapproxy/script/conf/seeds.py +36 -0
- mapproxy/script/conf/sources.py +88 -0
- mapproxy/script/conf/utils.py +148 -0
- mapproxy/script/defrag.py +187 -0
- mapproxy/script/export.py +337 -0
- mapproxy/script/grids.py +198 -0
- mapproxy/script/scales.py +134 -0
- mapproxy/script/util.py +410 -0
- mapproxy/script/wms_capabilities.py +160 -0
- mapproxy/seed/__init__.py +0 -0
- mapproxy/seed/cachelock.py +127 -0
- mapproxy/seed/cleanup.py +191 -0
- mapproxy/seed/config.py +481 -0
- mapproxy/seed/script.py +391 -0
- mapproxy/seed/seeder.py +551 -0
- mapproxy/seed/spec.py +66 -0
- mapproxy/seed/util.py +266 -0
- mapproxy/service/__init__.py +14 -0
- mapproxy/service/base.py +45 -0
- mapproxy/service/demo.py +364 -0
- mapproxy/service/kml.py +333 -0
- mapproxy/service/ows.py +39 -0
- mapproxy/service/template_helper.py +55 -0
- mapproxy/service/templates/demo/capabilities_demo.html +18 -0
- mapproxy/service/templates/demo/demo.html +181 -0
- mapproxy/service/templates/demo/openlayers-demo.cfg +16 -0
- mapproxy/service/templates/demo/static/img/blank.gif +0 -0
- mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
- mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
- mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
- mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
- mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
- mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
- mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
- mapproxy/service/templates/demo/static/logo.png +0 -0
- mapproxy/service/templates/demo/static/ol.css +345 -0
- mapproxy/service/templates/demo/static/ol.js +4 -0
- mapproxy/service/templates/demo/static/proj4.min.js +1 -0
- mapproxy/service/templates/demo/static/proj4defs.js +1 -0
- mapproxy/service/templates/demo/static/site.css +137 -0
- mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
- mapproxy/service/templates/demo/static/theme/default/google.css +17 -0
- mapproxy/service/templates/demo/static/theme/default/ie6-style.css +10 -0
- mapproxy/service/templates/demo/static/theme/default/style.css +482 -0
- mapproxy/service/templates/demo/static.html +34 -0
- mapproxy/service/templates/demo/tms_demo.html +117 -0
- mapproxy/service/templates/demo/wms_demo.html +144 -0
- mapproxy/service/templates/demo/wmts_demo.html +118 -0
- mapproxy/service/templates/tms_capabilities.xml +13 -0
- mapproxy/service/templates/tms_exception.xml +4 -0
- mapproxy/service/templates/tms_root_resource.xml +7 -0
- mapproxy/service/templates/tms_tilemap_capabilities.xml +14 -0
- mapproxy/service/templates/wms100capabilities.xml +112 -0
- mapproxy/service/templates/wms100exception.xml +4 -0
- mapproxy/service/templates/wms110capabilities.xml +152 -0
- mapproxy/service/templates/wms110exception.xml +5 -0
- mapproxy/service/templates/wms111capabilities.xml +183 -0
- mapproxy/service/templates/wms111exception.xml +5 -0
- mapproxy/service/templates/wms130capabilities.xml +326 -0
- mapproxy/service/templates/wms130exception.xml +8 -0
- mapproxy/service/templates/wmts100capabilities.xml +155 -0
- mapproxy/service/templates/wmts100exception.xml +9 -0
- mapproxy/service/tile.py +540 -0
- mapproxy/service/wms.py +868 -0
- mapproxy/service/wmts.py +387 -0
- mapproxy/source/__init__.py +83 -0
- mapproxy/source/arcgis.py +39 -0
- mapproxy/source/error.py +40 -0
- mapproxy/source/mapnik.py +262 -0
- mapproxy/source/tile.py +97 -0
- mapproxy/source/wms.py +273 -0
- mapproxy/srs.py +734 -0
- mapproxy/template.py +54 -0
- mapproxy/test/__init__.py +0 -0
- mapproxy/test/conftest.py +8 -0
- mapproxy/test/helper.py +255 -0
- mapproxy/test/http.py +511 -0
- mapproxy/test/image.py +219 -0
- mapproxy/test/mocker.py +2291 -0
- mapproxy/test/schemas/inspire/common/1.0/common.xsd +1461 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +155 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +109 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +108 -0
- mapproxy/test/schemas/inspire/common/1.0/network.xsd +521 -0
- mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +19 -0
- mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +14 -0
- mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +66 -0
- mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +1646 -0
- mapproxy/test/schemas/kml/2.2.0/xAL.xsd +1680 -0
- mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +87 -0
- mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +235 -0
- mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +23 -0
- mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +157 -0
- mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +86 -0
- mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +127 -0
- mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +279 -0
- mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +76 -0
- mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +112 -0
- mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +51 -0
- mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +59 -0
- mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +125 -0
- mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +140 -0
- mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +60 -0
- mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +47 -0
- mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +27 -0
- mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +353 -0
- mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +188 -0
- mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +524 -0
- mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +260 -0
- mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +273 -0
- mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +303 -0
- mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +6 -0
- mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +33 -0
- mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +68 -0
- mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
- mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +274 -0
- mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +5 -0
- mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +276 -0
- mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +303 -0
- mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +6 -0
- mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +33 -0
- mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +8 -0
- mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +277 -0
- mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +611 -0
- mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +34 -0
- mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +28 -0
- mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +68 -0
- mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
- mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +283 -0
- mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +5 -0
- mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +276 -0
- mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +303 -0
- mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +6 -0
- mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +33 -0
- mapproxy/test/schemas/wmts/1.0/ReadMe.txt +32 -0
- mapproxy/test/schemas/wmts/1.0/wmts.xsd +28 -0
- mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +151 -0
- mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +38 -0
- mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +564 -0
- mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +57 -0
- mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +72 -0
- mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +91 -0
- mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +76 -0
- mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +70 -0
- mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +6 -0
- mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +122 -0
- mapproxy/test/schemas/xml.xsd +287 -0
- mapproxy/test/system/__init__.py +98 -0
- mapproxy/test/system/fixture/arcgis.yaml +57 -0
- mapproxy/test/system/fixture/auth.yaml +70 -0
- mapproxy/test/system/fixture/cache.mbtiles +0 -0
- mapproxy/test/system/fixture/cache_azureblob.yaml +59 -0
- mapproxy/test/system/fixture/cache_band_merge.yaml +73 -0
- mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +24 -0
- mapproxy/test/system/fixture/cache_coverage.yaml +84 -0
- mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
- mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
- mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
- mapproxy/test/system/fixture/cache_geopackage.yaml +56 -0
- mapproxy/test/system/fixture/cache_grid_names.yaml +50 -0
- mapproxy/test/system/fixture/cache_mbtiles.yaml +28 -0
- mapproxy/test/system/fixture/cache_s3.yaml +58 -0
- mapproxy/test/system/fixture/cache_source.yaml +81 -0
- mapproxy/test/system/fixture/combined_sources.yaml +130 -0
- mapproxy/test/system/fixture/coverage.yaml +77 -0
- mapproxy/test/system/fixture/demo.yaml +135 -0
- mapproxy/test/system/fixture/dimension.yaml +59 -0
- mapproxy/test/system/fixture/disable_storage.yaml +25 -0
- mapproxy/test/system/fixture/empty_ogrdata.geojson +1 -0
- mapproxy/test/system/fixture/formats.yaml +72 -0
- mapproxy/test/system/fixture/inspire.yaml +101 -0
- mapproxy/test/system/fixture/inspire_full.yaml +124 -0
- mapproxy/test/system/fixture/kml_layer.yaml +66 -0
- mapproxy/test/system/fixture/layer.yaml +260 -0
- mapproxy/test/system/fixture/layergroups.yaml +57 -0
- mapproxy/test/system/fixture/layergroups_root.yaml +106 -0
- mapproxy/test/system/fixture/legendgraphic.yaml +93 -0
- mapproxy/test/system/fixture/mapnik_source.yaml +66 -0
- mapproxy/test/system/fixture/mapproxy_export.yaml +12 -0
- mapproxy/test/system/fixture/mapserver.yaml +23 -0
- mapproxy/test/system/fixture/minimal_cgi.py +16 -0
- mapproxy/test/system/fixture/mixed_mode.yaml +49 -0
- mapproxy/test/system/fixture/multi_cache_layers.yaml +111 -0
- mapproxy/test/system/fixture/multiapp1.yaml +20 -0
- mapproxy/test/system/fixture/multiapp2.yaml +19 -0
- mapproxy/test/system/fixture/renderd_client.yaml +55 -0
- mapproxy/test/system/fixture/scalehints.yaml +70 -0
- mapproxy/test/system/fixture/seed.yaml +94 -0
- mapproxy/test/system/fixture/seed_mapproxy.yaml +39 -0
- mapproxy/test/system/fixture/seed_old.yaml +12 -0
- mapproxy/test/system/fixture/seed_timeouts.yaml +12 -0
- mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +27 -0
- mapproxy/test/system/fixture/seedonly.yaml +51 -0
- mapproxy/test/system/fixture/sld.yaml +35 -0
- mapproxy/test/system/fixture/source_errors.yaml +84 -0
- mapproxy/test/system/fixture/source_errors_raise.yaml +82 -0
- mapproxy/test/system/fixture/tileservice_origin.yaml +26 -0
- mapproxy/test/system/fixture/tileservice_refresh.yaml +59 -0
- mapproxy/test/system/fixture/tilesource_minmax_res.yaml +22 -0
- mapproxy/test/system/fixture/util-conf-base-grids.yaml +5 -0
- mapproxy/test/system/fixture/util-conf-overwrite.yaml +13 -0
- mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +90 -0
- mapproxy/test/system/fixture/util_grids.yaml +29 -0
- mapproxy/test/system/fixture/util_wms_capabilities111.xml +130 -0
- mapproxy/test/system/fixture/util_wms_capabilities130.xml +100 -0
- mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +5 -0
- mapproxy/test/system/fixture/watermark.yaml +50 -0
- mapproxy/test/system/fixture/wms_srs_extent.yaml +39 -0
- mapproxy/test/system/fixture/wms_versions.yaml +38 -0
- mapproxy/test/system/fixture/wmts.yaml +134 -0
- mapproxy/test/system/fixture/wmts_dimensions.yaml +57 -0
- mapproxy/test/system/fixture/xslt_featureinfo.yaml +54 -0
- mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +51 -0
- mapproxy/test/system/test_arcgis.py +156 -0
- mapproxy/test/system/test_auth.py +1133 -0
- mapproxy/test/system/test_behind_proxy.py +75 -0
- mapproxy/test/system/test_bulk_meta_tiles.py +106 -0
- mapproxy/test/system/test_cache_azureblob.py +127 -0
- mapproxy/test/system/test_cache_band_merge.py +103 -0
- mapproxy/test/system/test_cache_coverage.py +168 -0
- mapproxy/test/system/test_cache_geopackage.py +144 -0
- mapproxy/test/system/test_cache_grid_names.py +89 -0
- mapproxy/test/system/test_cache_mbtiles.py +85 -0
- mapproxy/test/system/test_cache_s3.py +115 -0
- mapproxy/test/system/test_cache_source.py +146 -0
- mapproxy/test/system/test_combined_sources.py +335 -0
- mapproxy/test/system/test_coverage.py +140 -0
- mapproxy/test/system/test_decorate_img.py +214 -0
- mapproxy/test/system/test_demo.py +56 -0
- mapproxy/test/system/test_demo_with_extra_service.py +57 -0
- mapproxy/test/system/test_dimensions.py +279 -0
- mapproxy/test/system/test_disable_storage.py +42 -0
- mapproxy/test/system/test_formats.py +219 -0
- mapproxy/test/system/test_inspire_vs.py +173 -0
- mapproxy/test/system/test_kml.py +264 -0
- mapproxy/test/system/test_layergroups.py +160 -0
- mapproxy/test/system/test_legendgraphic.py +308 -0
- mapproxy/test/system/test_mapnik.py +162 -0
- mapproxy/test/system/test_mapserver.py +83 -0
- mapproxy/test/system/test_mixed_mode_format.py +201 -0
- mapproxy/test/system/test_multi_cache_layers.py +169 -0
- mapproxy/test/system/test_multiapp.py +92 -0
- mapproxy/test/system/test_refresh.py +206 -0
- mapproxy/test/system/test_renderd_client.py +304 -0
- mapproxy/test/system/test_response_headers.py +54 -0
- mapproxy/test/system/test_scalehints.py +140 -0
- mapproxy/test/system/test_seed.py +425 -0
- mapproxy/test/system/test_seed_only.py +93 -0
- mapproxy/test/system/test_sld.py +120 -0
- mapproxy/test/system/test_source_errors.py +377 -0
- mapproxy/test/system/test_tilesource_minmax_res.py +54 -0
- mapproxy/test/system/test_tms.py +277 -0
- mapproxy/test/system/test_tms_origin.py +46 -0
- mapproxy/test/system/test_util_conf.py +434 -0
- mapproxy/test/system/test_util_export.py +210 -0
- mapproxy/test/system/test_util_grids.py +88 -0
- mapproxy/test/system/test_util_wms_capabilities.py +182 -0
- mapproxy/test/system/test_watermark.py +91 -0
- mapproxy/test/system/test_wms.py +1616 -0
- mapproxy/test/system/test_wms_srs_extent.py +165 -0
- mapproxy/test/system/test_wms_version.py +85 -0
- mapproxy/test/system/test_wmsc.py +116 -0
- mapproxy/test/system/test_wmts.py +334 -0
- mapproxy/test/system/test_wmts_dimensions.py +206 -0
- mapproxy/test/system/test_wmts_restful.py +198 -0
- mapproxy/test/system/test_xslt_featureinfo.py +423 -0
- mapproxy/test/test_http_helper.py +217 -0
- mapproxy/test/unit/__init__.py +0 -0
- mapproxy/test/unit/epsg +2 -0
- mapproxy/test/unit/polygons/polygons.dbf +0 -0
- mapproxy/test/unit/polygons/polygons.shp +0 -0
- mapproxy/test/unit/polygons/polygons.shx +0 -0
- mapproxy/test/unit/test_async.py +242 -0
- mapproxy/test/unit/test_auth.py +430 -0
- mapproxy/test/unit/test_cache.py +1356 -0
- mapproxy/test/unit/test_cache_azureblob.py +97 -0
- mapproxy/test/unit/test_cache_compact.py +324 -0
- mapproxy/test/unit/test_cache_couchdb.py +118 -0
- mapproxy/test/unit/test_cache_geopackage.py +256 -0
- mapproxy/test/unit/test_cache_redis.py +123 -0
- mapproxy/test/unit/test_cache_riak.py +80 -0
- mapproxy/test/unit/test_cache_s3.py +93 -0
- mapproxy/test/unit/test_cache_tile.py +477 -0
- mapproxy/test/unit/test_client.py +488 -0
- mapproxy/test/unit/test_client_arcgis.py +74 -0
- mapproxy/test/unit/test_client_cgi.py +140 -0
- mapproxy/test/unit/test_collections.py +116 -0
- mapproxy/test/unit/test_concat_legends.py +37 -0
- mapproxy/test/unit/test_conf_loader.py +1267 -0
- mapproxy/test/unit/test_conf_validator.py +427 -0
- mapproxy/test/unit/test_config.py +118 -0
- mapproxy/test/unit/test_decorate_img.py +185 -0
- mapproxy/test/unit/test_exceptions.py +270 -0
- mapproxy/test/unit/test_featureinfo.py +313 -0
- mapproxy/test/unit/test_file_lock_load.py +49 -0
- mapproxy/test/unit/test_geom.py +512 -0
- mapproxy/test/unit/test_grid.py +1279 -0
- mapproxy/test/unit/test_image.py +1051 -0
- mapproxy/test/unit/test_image_mask.py +181 -0
- mapproxy/test/unit/test_image_messages.py +209 -0
- mapproxy/test/unit/test_image_options.py +160 -0
- mapproxy/test/unit/test_isodate.py +118 -0
- mapproxy/test/unit/test_multiapp.py +163 -0
- mapproxy/test/unit/test_ogr_reader.py +51 -0
- mapproxy/test/unit/test_request.py +745 -0
- mapproxy/test/unit/test_request_wmts.py +178 -0
- mapproxy/test/unit/test_response.py +78 -0
- mapproxy/test/unit/test_seed.py +365 -0
- mapproxy/test/unit/test_seed_cachelock.py +91 -0
- mapproxy/test/unit/test_srs.py +215 -0
- mapproxy/test/unit/test_tiled_source.py +122 -0
- mapproxy/test/unit/test_tilefilter.py +31 -0
- mapproxy/test/unit/test_times.py +25 -0
- mapproxy/test/unit/test_timeutils.py +50 -0
- mapproxy/test/unit/test_util_conf_utils.py +75 -0
- mapproxy/test/unit/test_utils.py +476 -0
- mapproxy/test/unit/test_wms_capabilities.py +44 -0
- mapproxy/test/unit/test_wms_layer.py +113 -0
- mapproxy/test/unit/test_yaml.py +68 -0
- mapproxy/tilefilter.py +61 -0
- mapproxy/util/__init__.py +0 -0
- mapproxy/util/async_.py +229 -0
- mapproxy/util/collections.py +134 -0
- mapproxy/util/coverage.py +337 -0
- mapproxy/util/ext/__init__.py +14 -0
- mapproxy/util/ext/dictspec/__init__.py +1 -0
- mapproxy/util/ext/dictspec/spec.py +131 -0
- mapproxy/util/ext/dictspec/test/__init__.py +0 -0
- mapproxy/util/ext/dictspec/test/test_validator.py +278 -0
- mapproxy/util/ext/dictspec/validator.py +194 -0
- mapproxy/util/ext/local.py +198 -0
- mapproxy/util/ext/lockfile.py +140 -0
- mapproxy/util/ext/odict.py +321 -0
- mapproxy/util/ext/serving.py +491 -0
- mapproxy/util/ext/tempita/__init__.py +1093 -0
- mapproxy/util/ext/tempita/_looper.py +163 -0
- mapproxy/util/ext/tempita/string_utils.py +24 -0
- mapproxy/util/ext/wmsparse/__init__.py +3 -0
- mapproxy/util/ext/wmsparse/duration.py +600 -0
- mapproxy/util/ext/wmsparse/parse.py +307 -0
- mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
- mapproxy/util/ext/wmsparse/test/test_parse.py +111 -0
- mapproxy/util/ext/wmsparse/test/test_util.py +23 -0
- mapproxy/util/ext/wmsparse/test/wms-example-111.xml +90 -0
- mapproxy/util/ext/wmsparse/test/wms-example-130.xml +120 -0
- mapproxy/util/ext/wmsparse/test/wms-large-111.xml +2114 -0
- mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +386 -0
- mapproxy/util/ext/wmsparse/util.py +189 -0
- mapproxy/util/fs.py +164 -0
- mapproxy/util/geom.py +307 -0
- mapproxy/util/lib.py +117 -0
- mapproxy/util/lock.py +171 -0
- mapproxy/util/ogr.py +247 -0
- mapproxy/util/py.py +75 -0
- mapproxy/util/times.py +78 -0
- mapproxy/util/yaml.py +58 -0
- mapproxy/version.py +33 -0
- mapproxy/wsgiapp.py +167 -0
|
@@ -0,0 +1,524 @@
|
|
|
1
|
+
<!-- NOTE: comments in this Document Type Definition impose additional
|
|
2
|
+
constraints beyond those codified in the DTD syntax. A conformant Web Map
|
|
3
|
+
Server must provide Capabilities XML that (1) validates against the DTD and
|
|
4
|
+
(2) does not violate the constraints stated in comments herein. -->
|
|
5
|
+
|
|
6
|
+
<!-- The parent element of the Capabilities document includes as children a
|
|
7
|
+
Service element with general information about the server and a Capability
|
|
8
|
+
element with specific information about the kinds of functionality offered by
|
|
9
|
+
the server. -->
|
|
10
|
+
<!ELEMENT WMT_MS_Capabilities (Service, Capability) >
|
|
11
|
+
|
|
12
|
+
<!-- The version attribute specifies the specification revision to which this
|
|
13
|
+
DTD applies. Its format is one, two or three integers separated by periods:
|
|
14
|
+
"x", or "x.y", or "x.y.z", with the most significant number appearing first.
|
|
15
|
+
Future revisions are guaranteed to be numbered in monotonically increasing
|
|
16
|
+
fashion, though gaps may appear in the sequence. All known versions may
|
|
17
|
+
be found at http://www.digitalearth.gov/wmt/xml/ -->
|
|
18
|
+
<!-- The updateSequence attribute is a sequence number for managing
|
|
19
|
+
propagation of the contents of this document. For example, if a Map Server
|
|
20
|
+
adds some data layers it can increment the update sequence to inform catalog
|
|
21
|
+
servers that their previously cached versions are now stale. The format is a
|
|
22
|
+
positive integer. -->
|
|
23
|
+
<!ATTLIST WMT_MS_Capabilities
|
|
24
|
+
version CDATA #FIXED "1.0.7"
|
|
25
|
+
updateSequence CDATA "0">
|
|
26
|
+
|
|
27
|
+
<!-- This WMT-wide list of possible output formats can be redefined by
|
|
28
|
+
individual servers; see the sample XML. -->
|
|
29
|
+
<!ENTITY % KnownFormats " GIF | JPEG | PNG | WebCGM | SVG | HDF-EOS
|
|
30
|
+
| GML.1 | GML.2 | GML.3 | WBMP
|
|
31
|
+
| WMS_XML | MIME | INIMAGE | TIFF | GeoTIFF | PPM | BLANK " >
|
|
32
|
+
|
|
33
|
+
<!-- The Service element provides metadata for the service as a whole. -->
|
|
34
|
+
<!ELEMENT Service (Name, Title, Abstract?, KeywordList?, OnlineResource,
|
|
35
|
+
ContactInformation, Fees?, AccessConstraints?) >
|
|
36
|
+
|
|
37
|
+
<!-- A service name defined within the Web Mapping Specification namespace.
|
|
38
|
+
Currently only the name "GetMap" is defined. -->
|
|
39
|
+
<!ELEMENT Name (#PCDATA) >
|
|
40
|
+
|
|
41
|
+
<!-- A human-readable title to briefly identify this server in menus. -->
|
|
42
|
+
<!ELEMENT Title (#PCDATA) >
|
|
43
|
+
|
|
44
|
+
<!-- A descriptive narrative for more information about this server. -->
|
|
45
|
+
<!ELEMENT Abstract (#PCDATA) >
|
|
46
|
+
|
|
47
|
+
<!-- List of keywords or keyword phrases to help catalog searching.
|
|
48
|
+
Currently, no controlled vocabulary has been defined. -->
|
|
49
|
+
<!ELEMENT KeywordList (Keyword*) >
|
|
50
|
+
|
|
51
|
+
<!-- A single keyword or phrase. -->
|
|
52
|
+
<!ELEMENT Keyword (#PCDATA) >
|
|
53
|
+
|
|
54
|
+
<!-- An HTTP URL of a service. This may appear in several places:
|
|
55
|
+
- The Service element describing the service as a whole (in which case the
|
|
56
|
+
OnlineResource may be, for example, the top-level "home page" of the service
|
|
57
|
+
provider).
|
|
58
|
+
- The URLs for HTTP GET and POST requests of the specific interfaces offered
|
|
59
|
+
by the service (e.g., the URL to use for a GetMap request).
|
|
60
|
+
- The Attribution information for Layer(s).
|
|
61
|
+
The use of an xlink:href attribute implies the HTTP Distributed Computing Platform;
|
|
62
|
+
currently, no non-HTTP platforms have been specified. -->
|
|
63
|
+
<!ELEMENT OnlineResource EMPTY>
|
|
64
|
+
<!ATTLIST OnlineResource xlink:href CDATA #REQUIRED
|
|
65
|
+
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" >
|
|
66
|
+
|
|
67
|
+
<!ELEMENT ContactInformation (ContactPersonPrimary?, ContactPosition?,
|
|
68
|
+
ContactAddress?, ContactVoiceTelephone?,
|
|
69
|
+
ContactFacsimileTelephone?,
|
|
70
|
+
ContactElectronicMailAddress?) >
|
|
71
|
+
|
|
72
|
+
<!--The primary contact person.-->
|
|
73
|
+
<!ELEMENT ContactPersonPrimary (ContactPerson, ContactOrganization) >
|
|
74
|
+
|
|
75
|
+
<!--The person to contact.-->
|
|
76
|
+
<!ELEMENT ContactPerson (#PCDATA) >
|
|
77
|
+
|
|
78
|
+
<!--The organization supplying the service.-->
|
|
79
|
+
<!ELEMENT ContactOrganization (#PCDATA) >
|
|
80
|
+
|
|
81
|
+
<!ELEMENT ContactPosition (#PCDATA) >
|
|
82
|
+
|
|
83
|
+
<!--The address for the contact supplying the service.-->
|
|
84
|
+
<!ELEMENT ContactAddress (AddressType,Address,City,StateOrProvince,PostCode,
|
|
85
|
+
Country) >
|
|
86
|
+
|
|
87
|
+
<!--The type of address.-->
|
|
88
|
+
<!ELEMENT AddressType (#PCDATA) >
|
|
89
|
+
|
|
90
|
+
<!--The street address.-->
|
|
91
|
+
<!ELEMENT Address (#PCDATA) >
|
|
92
|
+
|
|
93
|
+
<!--The address city.-->
|
|
94
|
+
<!ELEMENT City (#PCDATA) >
|
|
95
|
+
|
|
96
|
+
<!--The state or province.-->
|
|
97
|
+
<!ELEMENT StateOrProvince (#PCDATA) >
|
|
98
|
+
|
|
99
|
+
<!--The zip or postal code.-->
|
|
100
|
+
<!ELEMENT PostCode (#PCDATA) >
|
|
101
|
+
|
|
102
|
+
<!--The address country.-->
|
|
103
|
+
<!ELEMENT Country (#PCDATA) >
|
|
104
|
+
|
|
105
|
+
<!--Contact telephone number.-->
|
|
106
|
+
<!ELEMENT ContactVoiceTelephone (#PCDATA) >
|
|
107
|
+
|
|
108
|
+
<!--The contact fax number.-->
|
|
109
|
+
<!ELEMENT ContactFacsimileTelephone (#PCDATA) >
|
|
110
|
+
|
|
111
|
+
<!--The e-mail address for the contact.-->
|
|
112
|
+
<!ELEMENT ContactElectronicMailAddress (#PCDATA) >
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
<!-- Elements indicating what fees or access constraints are imposed.
|
|
117
|
+
The reserved word "none" indicates no constraint exists. -->
|
|
118
|
+
<!ELEMENT Fees (#PCDATA)>
|
|
119
|
+
<!ELEMENT AccessConstraints (#PCDATA)>
|
|
120
|
+
|
|
121
|
+
<!-- A Capability lists available request types, how exceptions
|
|
122
|
+
may be reported, and whether any vendor-specific capabilities are defined. It
|
|
123
|
+
also includes an optional list of map layers available from this server. -->
|
|
124
|
+
|
|
125
|
+
<!-- The optional VendorSpecificCapabilities element lists any capabilities
|
|
126
|
+
unique to a particular Map Server. Because the information is not known a
|
|
127
|
+
priori, it cannot be constrained by this particular DTD. A vendor-specific
|
|
128
|
+
DTD fragment must be supplied at the start of the XML Capabilities document,
|
|
129
|
+
after the reference to the general WMT_MS_Capabilities DTD. See the sample
|
|
130
|
+
XML for further information. -->
|
|
131
|
+
|
|
132
|
+
<!ELEMENT Capability
|
|
133
|
+
(Request, Exception?, VendorSpecificCapabilities?,
|
|
134
|
+
UserDefinedSymbolization?, Layer?) >
|
|
135
|
+
|
|
136
|
+
<!-- Available WMT-defined request types are listed here.
|
|
137
|
+
At least one of the values is required, but more than one
|
|
138
|
+
may be given. -->
|
|
139
|
+
<!ELEMENT Request (Map | Coverage | Capabilities | FeatureInfo | DescribeLayer)+ >
|
|
140
|
+
|
|
141
|
+
<!-- For each request method offered by the server, list the
|
|
142
|
+
available output formats and the supported distributed
|
|
143
|
+
computing platforms (DCPs). (The xmlns:xlink attribute is a
|
|
144
|
+
required XML namespace declaration; leave it as-is.) Example:
|
|
145
|
+
<Map>
|
|
146
|
+
<Format><PNG /><JPEG /><GML.1 /></Format>
|
|
147
|
+
<DCPType><HTTP><Get>
|
|
148
|
+
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
149
|
+
xlink:href="URL" />
|
|
150
|
+
</Get></HTTP></DCPType>
|
|
151
|
+
</Map>
|
|
152
|
+
-->
|
|
153
|
+
|
|
154
|
+
<!-- GetMap interface: Presence of the Map element means this server can
|
|
155
|
+
generate a map of a specified area, either as a picture or a feature
|
|
156
|
+
collection -->
|
|
157
|
+
<!ELEMENT Map (Format, DCPType+)>
|
|
158
|
+
|
|
159
|
+
<!-- GetCoverage interface: Presence of the Coverage element means this server can
|
|
160
|
+
serve numeric values representing gridded coverage data over a specified area -->
|
|
161
|
+
<!ELEMENT Coverage (Format, DCPType+)>
|
|
162
|
+
|
|
163
|
+
<!-- GetCapabilities interface: Presence of the Capabilities element means
|
|
164
|
+
this server can generate a description of its abilities and holdings formatted
|
|
165
|
+
in XML that complies with this DTD. -->
|
|
166
|
+
<!ELEMENT Capabilities (Format, DCPType+)>
|
|
167
|
+
|
|
168
|
+
<!-- GetFeatureInfo interface: Presence of the FeatureInfo element means this
|
|
169
|
+
server can return information about a specific feature given a valid map
|
|
170
|
+
request and a location on that map. -->
|
|
171
|
+
<!ELEMENT FeatureInfo (Format, DCPType+)>
|
|
172
|
+
|
|
173
|
+
<!-- DescribeLayer interface: Presence of the DescribeLayer
|
|
174
|
+
element means this server can return describe a layer
|
|
175
|
+
according to the SLD spec [help me out with the right
|
|
176
|
+
verbiage here - no chance to plumb SLD just now] -->
|
|
177
|
+
<!ELEMENT DescribeLayer (Format, DCPType+)>
|
|
178
|
+
|
|
179
|
+
<!-- Available Distributed Computing Platforms (DCPs) are
|
|
180
|
+
listed here. At present, only HTTP is defined. -->
|
|
181
|
+
<!ELEMENT DCPType (HTTP) >
|
|
182
|
+
|
|
183
|
+
<!-- Available HTTP request methods. -->
|
|
184
|
+
<!ELEMENT HTTP (Get | Post)+ >
|
|
185
|
+
|
|
186
|
+
<!-- HTTP request methods. The onlineResource attribute indicates the URL
|
|
187
|
+
prefix for HTTP GET requests (everything before the question mark and query
|
|
188
|
+
string: http://hostname[:port]/path/scriptname); for HTTP POST requests,
|
|
189
|
+
onlineResource is the complete URL. The HTTP GET syntax for Map, Capabilities
|
|
190
|
+
and FeatureInfo requests has been well defined and is described in the OGC
|
|
191
|
+
Web Map Server Interface Specification. The POST formalism, wherein GetMap
|
|
192
|
+
arguments are encoded in XML and POSTed to the server, has not yet been fully
|
|
193
|
+
developed. -->
|
|
194
|
+
<!ELEMENT Get (OnlineResource) >
|
|
195
|
+
<!ELEMENT Post (OnlineResource) >
|
|
196
|
+
|
|
197
|
+
<!-- Available formats. Not all formats are relevant to all requests.
|
|
198
|
+
Individual servers MAY add new formats as shown in the sample XML accompanying
|
|
199
|
+
this DTD. -->
|
|
200
|
+
<!ELEMENT Format ( %KnownFormats; )+ >
|
|
201
|
+
<!ELEMENT GIF EMPTY> <!-- Graphics Interchange Format -->
|
|
202
|
+
<!ELEMENT JPEG EMPTY> <!-- Joint Photographics Expert Group -->
|
|
203
|
+
<!ELEMENT PNG EMPTY> <!-- Portable Network Graphics -->
|
|
204
|
+
<!ELEMENT PPM EMPTY> <!-- Portable PixMap -->
|
|
205
|
+
<!ELEMENT TIFF EMPTY> <!-- Tagged Image File Format -->
|
|
206
|
+
<!ELEMENT GeoTIFF EMPTY> <!-- Geographic TIFF -->
|
|
207
|
+
<!ELEMENT HDF-EOS EMPTY> <!-- Hierarchical Data Format for Earth Observing System -->
|
|
208
|
+
<!ELEMENT WebCGM EMPTY> <!-- Web Computer Graphics Metafile -->
|
|
209
|
+
<!ELEMENT SVG EMPTY> <!-- Scalable Vector Graphics -->
|
|
210
|
+
<!ELEMENT WMS_XML EMPTY> <!-- eXtensible Markup Language -->
|
|
211
|
+
<!ELEMENT GML.1 EMPTY> <!-- Geography Markup Language, profile 1 -->
|
|
212
|
+
<!ELEMENT GML.2 EMPTY> <!-- Geography Markup Language, profile 2 -->
|
|
213
|
+
<!ELEMENT GML.3 EMPTY> <!-- Geography Markup Language, profile 3 -->
|
|
214
|
+
<!ELEMENT WBMP EMPTY> <!-- Wireless Access Protocol (WAP) Bitmap -->
|
|
215
|
+
<!ELEMENT MIME EMPTY> <!-- Multipurpose Internet Mail Extensions -->
|
|
216
|
+
<!ELEMENT INIMAGE EMPTY> <!-- display text in the returned image -->
|
|
217
|
+
<!ELEMENT BLANK EMPTY> <!-- return an image with all pixels transparent if
|
|
218
|
+
supported by the image format, otherwise all
|
|
219
|
+
pixels set to the BGCOLOR if present, otherwise
|
|
220
|
+
all pixels set to the same (arbitrary) value -->
|
|
221
|
+
|
|
222
|
+
<!-- An Exception element indicates which output formats are supported
|
|
223
|
+
for reporting problems encountered when executing a request. Available
|
|
224
|
+
Exception formats MUST include one or more of WMS_XML, INIMAGE, or BLANK.
|
|
225
|
+
Example: <Exception><Format><INIMAGE /><WMS_XML /></Format></Exception>. -->
|
|
226
|
+
<!ELEMENT Exception (Format)>
|
|
227
|
+
|
|
228
|
+
<!-- Optional user-defined symbolization -->
|
|
229
|
+
<!ELEMENT UserDefinedSymbolization EMPTY >
|
|
230
|
+
<!ATTLIST UserDefinedSymbolization
|
|
231
|
+
SupportSLD (0 | 1) "1"
|
|
232
|
+
UserLayer (0 | 1) "1"
|
|
233
|
+
UserStyle (0 | 1) "1"
|
|
234
|
+
RemoteWFS (0 | 1) "1" >
|
|
235
|
+
|
|
236
|
+
<!-- Nested list of zero or more map Layers offered by this server. The Layer
|
|
237
|
+
element can be omitted if the server has no layers (for example, if it offers
|
|
238
|
+
only geoprocessing services but no actual data). -->
|
|
239
|
+
|
|
240
|
+
<!-- A Layer element has two functions: it either refers to a map layer which
|
|
241
|
+
can be requested by Name in the LAYERS parameter of a GetMap request, or it is
|
|
242
|
+
a category Title for all the layers nested within. In the latter case, the
|
|
243
|
+
category itself MAY include a Name by which all of the nested layers can be
|
|
244
|
+
requested at once. For example, a parent layer "Roads" may have children
|
|
245
|
+
"Interstates" and "County Roads" and allow the user to request either child
|
|
246
|
+
individually or both together. -->
|
|
247
|
+
|
|
248
|
+
<!-- A Map Server which advertises a Layer containing a Name element MUST be
|
|
249
|
+
able to accept that Name as the value of LAYERS argument in a GetMap request
|
|
250
|
+
and return the corresponding map. A Viewer Client MUST NOT attempt to request
|
|
251
|
+
a Layer that has a Title but no Name. -->
|
|
252
|
+
|
|
253
|
+
<!-- A Map Server MUST include at least one <Layer> element for each map layer
|
|
254
|
+
offered. If desired, data layers MAY be repeated in different categories when
|
|
255
|
+
relevant. A Layer element MAY state the Name by which a map of the layer is
|
|
256
|
+
requested, MUST give a Title to be used in human-readable menus, and MAY
|
|
257
|
+
include: a human-readable Abstract containing further description, available
|
|
258
|
+
Spatial Reference Systems (SRS), bounding boxes in Lat/Lon and SRS-specific
|
|
259
|
+
coordinates indicating the available geographic coverage, styles in which the
|
|
260
|
+
layer is available, a URL for more information about the data, and a hint
|
|
261
|
+
concerning appropriate map scales for displaying this layer. Use of the
|
|
262
|
+
nesting hierarchy is optional. -->
|
|
263
|
+
|
|
264
|
+
<!-- The following table specifies the number and source of the various
|
|
265
|
+
elements (and one attribute) describing a Layer that has a Name. Without a
|
|
266
|
+
Name, the Layer is merely a category title and all other elements are
|
|
267
|
+
optional; if present, some of those elements may be inherited by children as
|
|
268
|
+
described in the table.
|
|
269
|
+
|
|
270
|
+
inherit
|
|
271
|
+
from
|
|
272
|
+
element number parent? comments
|
|
273
|
+
======= ====== ======= ========
|
|
274
|
+
Name 1 - this table only applies to Named Layers
|
|
275
|
+
(those which can be requested in a GetMap call)
|
|
276
|
+
no default
|
|
277
|
+
|
|
278
|
+
Title 1 - required in each Layer; no default
|
|
279
|
+
|
|
280
|
+
Abstract 0/1 - optional; no default
|
|
281
|
+
|
|
282
|
+
KeywordList 0/1 - optional; no default
|
|
283
|
+
|
|
284
|
+
SRS 1 add one list is required; default from parent;
|
|
285
|
+
list may include multiple whitespace-separated
|
|
286
|
+
values
|
|
287
|
+
|
|
288
|
+
LatLonBoundingBox 1 replace exactly one is required; default from parent
|
|
289
|
+
|
|
290
|
+
BoundingBox 0+ replace one is required per SRS other than EPSG:4326;
|
|
291
|
+
default from parent
|
|
292
|
+
|
|
293
|
+
Dimension 0+ add optional; default from parent
|
|
294
|
+
|
|
295
|
+
Extent 0+ replace optional; default from parent; no more than one per
|
|
296
|
+
declared Dimension
|
|
297
|
+
|
|
298
|
+
Attribution 0/1 replace optional; default from parent
|
|
299
|
+
|
|
300
|
+
MetadataURL 0+ - optional; no default
|
|
301
|
+
|
|
302
|
+
DataURL 0/1 - optional; no default
|
|
303
|
+
|
|
304
|
+
FeatureListURL 0/1 - optional; no default
|
|
305
|
+
|
|
306
|
+
Style 0+ add optional; default from parent
|
|
307
|
+
|
|
308
|
+
ScaleHint 0/1 replace optional; default from parent
|
|
309
|
+
|
|
310
|
+
Layer 0+ - optional; no default;
|
|
311
|
+
if present, each is a "child" of the enclosing
|
|
312
|
+
Layer and inherits some default values as
|
|
313
|
+
described in this table
|
|
314
|
+
|
|
315
|
+
queryable 1 replace optional; default is "0" (not queryable)
|
|
316
|
+
(attribute) or parent value if present
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
-->
|
|
320
|
+
|
|
321
|
+
<!ELEMENT Layer ( Name?, Title, Abstract?, KeywordList?, SRS?,
|
|
322
|
+
LatLonBoundingBox?, BoundingBox*, Dimension*, Extent*,
|
|
323
|
+
Attribution?, MetadataURL*, DataURL?, FeatureListURL?,
|
|
324
|
+
Style*, ScaleHint?, Layer* ) >
|
|
325
|
+
|
|
326
|
+
<!-- Layer attributes (default=0):
|
|
327
|
+
* If queryable=1, then WMS implements the GetFeatureInfo
|
|
328
|
+
operation on this Layer.
|
|
329
|
+
* If opaque=1, then this layer is an area-filling coverage
|
|
330
|
+
with significant areas that cannot be made transparent.
|
|
331
|
+
* If noSubsets=1, then this layer cannot be displayed using a
|
|
332
|
+
bounding box values different than the ones declared in this XML.
|
|
333
|
+
* If fixedWidth and fixedHeight are nonzero, then the Layer is
|
|
334
|
+
only available in a single size.
|
|
335
|
+
-->
|
|
336
|
+
<!ATTLIST Layer queryable (0 | 1) "0"
|
|
337
|
+
opaque (0 | 1) "0"
|
|
338
|
+
noSubsets (0 | 1) "0"
|
|
339
|
+
fixedWidth CDATA #IMPLIED
|
|
340
|
+
fixedHeight CDATA #IMPLIED >
|
|
341
|
+
|
|
342
|
+
<!-- Listing of available Spatial Reference Systems (SRS).
|
|
343
|
+
* The root Layer element must include a list of all SRSes which
|
|
344
|
+
are common to *all* subsidiary layers. This allows clients
|
|
345
|
+
to quickly determine that a server cannot possibly satisfy a
|
|
346
|
+
request for a particular SRS. Use an empty element if there
|
|
347
|
+
is no common SRS.
|
|
348
|
+
* Layer-specific SRS: Optionally, layers may add to the global SRS list, or to
|
|
349
|
+
the list inherited from a parent layer as described above.
|
|
350
|
+
Any duplication should be ignored by clients. That is, a particular
|
|
351
|
+
layer may list all of its SRSes, even if it repeats
|
|
352
|
+
information in the top-level SRS.
|
|
353
|
+
|
|
354
|
+
The content of the SRS element is a free-text list of SRS names separated by
|
|
355
|
+
whitespace. A name includes a namespace prefix, a colon, and one or more
|
|
356
|
+
parameter values. Currently defined namespaces are:
|
|
357
|
+
|
|
358
|
+
prefix parameters comment
|
|
359
|
+
====== ========== =======
|
|
360
|
+
EPSG EPSG code European Petroleum Survey Group geodesy parameters
|
|
361
|
+
http://www.petroconsultants.com/products/geodetic.html
|
|
362
|
+
Examples: 'EPSG:4326' is WGS84 lat/lon,
|
|
363
|
+
'EPSG:26986' is NAD83 / Massachusetts Mainland.
|
|
364
|
+
|
|
365
|
+
AUTO WMT code, WMT list of "automatic" projections. WMT code:
|
|
366
|
+
EPSG units, an integer identifier assigned by WMT (see
|
|
367
|
+
Longitude, http://www.digitalearth.gov/wmt/auto.html). EPSG units:
|
|
368
|
+
Latitude one of the EPSG codes for identifying units,
|
|
369
|
+
indicating what units are to be used in Bounding Boxes.
|
|
370
|
+
Longitude: central meridian of the projection (degrees).
|
|
371
|
+
Latitude: central latitude of the projection (degrees).
|
|
372
|
+
Example: 'AUTO:42003,9001,-100,45' is auto orthographic
|
|
373
|
+
projection, bbox units in meters, center at 100W 45N.
|
|
374
|
+
The bounding box is measured in a plane perpendicular to
|
|
375
|
+
the line of sight, *not* directly on the Earth.
|
|
376
|
+
-->
|
|
377
|
+
|
|
378
|
+
<!ELEMENT SRS (#PCDATA) >
|
|
379
|
+
|
|
380
|
+
<!-- The LatLonBoundingBox attributes indicate the edges of the enclosing
|
|
381
|
+
rectangle in latitude/longitude decimal degrees (as in SRS EPSG:4326 [WGS1984
|
|
382
|
+
lat/lon]). LatLonBoundingBox MUST be supplied regardless of what SRS the map
|
|
383
|
+
server may support, but it MAY be approximate if EPSG:4326 is not supported.
|
|
384
|
+
Its purpose is to facilitate geographic searches without requiring coordinate
|
|
385
|
+
transformations by the search engine. -->
|
|
386
|
+
<!ELEMENT LatLonBoundingBox EMPTY>
|
|
387
|
+
<!ATTLIST LatLonBoundingBox
|
|
388
|
+
minx CDATA #REQUIRED
|
|
389
|
+
miny CDATA #REQUIRED
|
|
390
|
+
maxx CDATA #REQUIRED
|
|
391
|
+
maxy CDATA #REQUIRED>
|
|
392
|
+
|
|
393
|
+
<!-- The BoundingBox attributes indicate the edges of the bounding box
|
|
394
|
+
in units of the specified spatial reference system. -->
|
|
395
|
+
<!ELEMENT BoundingBox EMPTY>
|
|
396
|
+
<!ATTLIST BoundingBox
|
|
397
|
+
SRS CDATA #REQUIRED
|
|
398
|
+
minx CDATA #REQUIRED
|
|
399
|
+
miny CDATA #REQUIRED
|
|
400
|
+
maxx CDATA #REQUIRED
|
|
401
|
+
maxy CDATA #REQUIRED>
|
|
402
|
+
|
|
403
|
+
<!-- The Dimension element declares the _existence_ of a dimension in an
|
|
404
|
+
abstract sense for the enclosed Layer(s). See
|
|
405
|
+
http://www.digitalearth.gov/wmt/md/ for details. -->
|
|
406
|
+
<!ELEMENT Dimension EMPTY >
|
|
407
|
+
<!ATTLIST Dimension
|
|
408
|
+
name CDATA #REQUIRED
|
|
409
|
+
units CDATA #REQUIRED
|
|
410
|
+
unitSymbol CDATA #IMPLIED>
|
|
411
|
+
|
|
412
|
+
<!-- The Extent element indicates what _values_ along a dimension are
|
|
413
|
+
appropriate for the enclosed Layer(s). See
|
|
414
|
+
http://www.digitalearth.gov/wmt/md/ for details. The 'name' attribute must
|
|
415
|
+
have been defined within a Dimension element. The 'name' can be used
|
|
416
|
+
case-insensitively in a GetMap request so that Clients can request a specific
|
|
417
|
+
value. The 'default' attribute indicates what value will be used if none is
|
|
418
|
+
specified by the Client. A 'default' is strongly recommended but optional.
|
|
419
|
+
If there is no declared default the Server MUST NOT send a default map;
|
|
420
|
+
instead, the Server MUST raise an Exception to indicate that a value was
|
|
421
|
+
required. -->
|
|
422
|
+
<!ELEMENT Extent (#PCDATA) >
|
|
423
|
+
<!ATTLIST Extent
|
|
424
|
+
name CDATA #REQUIRED
|
|
425
|
+
default CDATA #IMPLIED>
|
|
426
|
+
|
|
427
|
+
<!-- A Map Server MAY use Attribution to indicate and give credit to the
|
|
428
|
+
provider of a Layer or collection of Layers. The provider's URL, descriptive
|
|
429
|
+
title string, and/or logo image URL may be supplied. Client applications may
|
|
430
|
+
choose to display one or more of these items. The LogoURL width and height
|
|
431
|
+
assist client applications in laying out space to display the logo. -->
|
|
432
|
+
<!ELEMENT Attribution ( Title?, OnlineResource?, LogoURL? )>
|
|
433
|
+
<!ELEMENT LogoURL (#PCDATA) >
|
|
434
|
+
<!ATTLIST LogoURL
|
|
435
|
+
width NMTOKEN #REQUIRED
|
|
436
|
+
height NMTOKEN #REQUIRED>
|
|
437
|
+
|
|
438
|
+
<!-- A Map Server MAY use zero or more MetadataURL elements to offer detailed,
|
|
439
|
+
standardized metadata about the data underneath a particular layer. The type
|
|
440
|
+
attribute indicates the standard to which the metadata complies; the format
|
|
441
|
+
attribute indicates how the metadata is structured. Two types are defined at
|
|
442
|
+
present: 'TC211' = ISO TC211 19115; 'FGDC' = FGDC CSDGM. -->
|
|
443
|
+
<!ELEMENT MetadataURL (#PCDATA) >
|
|
444
|
+
<!ATTLIST MetadataURL
|
|
445
|
+
type ( TC211 | FGDC ) #REQUIRED
|
|
446
|
+
format ( XML | SGML | TXT ) #REQUIRED>
|
|
447
|
+
|
|
448
|
+
<!-- A Map Server MAY use DataURL to offer more information about the data
|
|
449
|
+
underneath a particular layer. While the semantics are not well-defined, as
|
|
450
|
+
long as the results of an HTTP GET request against the DataURL are properly
|
|
451
|
+
MIME-typed, Viewer Clients and Cascading Map Servers can make use of this. -->
|
|
452
|
+
<!ELEMENT DataURL (#PCDATA) >
|
|
453
|
+
|
|
454
|
+
<!-- A Map Server MAY use FeatureListURL to point to a GML-encoded enumeration
|
|
455
|
+
of the features represented in a Layer. An attribute indicates the format
|
|
456
|
+
of the feature list. -->
|
|
457
|
+
<!ELEMENT FeatureListURL (#PCDATA) >
|
|
458
|
+
<!ATTLIST FeatureListURL
|
|
459
|
+
format ( %KnownFormats; ) #REQUIRED>
|
|
460
|
+
|
|
461
|
+
<!-- A Style element lists the name by which a style is requested and a
|
|
462
|
+
human-readable title for pick lists, optionally (and ideally) provides a
|
|
463
|
+
human-readable description, and optionally gives a style URL. If a Layer is
|
|
464
|
+
offered in only a single Style, the Map Server MAY choose not to give it a
|
|
465
|
+
name. Nevertheless, when handling a GetMap request a server MUST accept ''
|
|
466
|
+
(null) and 'default' in the STYLES parameter as synonyms for the default (or
|
|
467
|
+
only) style. -->
|
|
468
|
+
<!ELEMENT Style ( Name, Title, Abstract?,
|
|
469
|
+
LegendURL*, StyleSheetURL?, StyleURL? ) >
|
|
470
|
+
|
|
471
|
+
<!-- A Map Server MAY use zero or more LegendURL elements to provide an
|
|
472
|
+
image(s) of a legend, or a legend encoded as GML, relevant to each Style of a
|
|
473
|
+
Layer. An attribute indicates the media type of the legend; optional width
|
|
474
|
+
and height are encouraged for image types to assist client applications in
|
|
475
|
+
laying out space to display the legend. -->
|
|
476
|
+
<!ELEMENT LegendURL (#PCDATA) >
|
|
477
|
+
<!ATTLIST LegendURL
|
|
478
|
+
format ( %KnownFormats; ) #REQUIRED
|
|
479
|
+
width NMTOKEN #IMPLIED
|
|
480
|
+
height NMTOKEN #IMPLIED>
|
|
481
|
+
|
|
482
|
+
<!-- A Map Server MAY use StyleSheeetURL to provide symbology information for
|
|
483
|
+
each Style of a Layer encoded as XML (e.g., in GML format). An attribute
|
|
484
|
+
indicates the type of stylesheet at the specified URL; only XSL is presently
|
|
485
|
+
defined. -->
|
|
486
|
+
<!ELEMENT StyleSheetURL (#PCDATA) >
|
|
487
|
+
<!ATTLIST StyleSheetURL
|
|
488
|
+
format ( XSL ) #REQUIRED>
|
|
489
|
+
|
|
490
|
+
<!-- A Map Server MAY use StyleURL to offer more information about the data or
|
|
491
|
+
symbology underlying a particular Style. While the semantics are not
|
|
492
|
+
well-defined, as long as the results of an HTTP GET request against the
|
|
493
|
+
StyleURL are properly MIME-typed, Viewer Clients and Cascading Map Servers can
|
|
494
|
+
make use of this. A possible use could be to allow a Map Server to provide
|
|
495
|
+
legend information. -->
|
|
496
|
+
<!ELEMENT StyleURL (#PCDATA) >
|
|
497
|
+
|
|
498
|
+
<!-- Minimum and maximum scale hints for which it is appropriate to
|
|
499
|
+
display this layer. It is STRONGLY RECOMMENDED that for Picture Case
|
|
500
|
+
return formats the min and max values be expressed as ground distance
|
|
501
|
+
in meters of a southwest to northeast diagonal of the pixel whose X
|
|
502
|
+
coordinate is floor(width/2) and whose Y coordinate is floor(height/2).
|
|
503
|
+
|
|
504
|
+
In the figure below, the X is in the pixel whose diagonal measurement
|
|
505
|
+
is used.
|
|
506
|
+
|
|
507
|
+
+===+===+===+ +===+===+===+===+
|
|
508
|
+
| | | | | | | | |
|
|
509
|
+
+===+===+===+ +===+===+===+===+
|
|
510
|
+
| | X | | | | X | | |
|
|
511
|
+
+===+===+===+ +===+===+===+===+
|
|
512
|
+
| | | | | | | | |
|
|
513
|
+
+===+===+===+ +===+===+===+===+
|
|
514
|
+
| | | | |
|
|
515
|
+
+===+===+===+===+
|
|
516
|
+
|
|
517
|
+
It is understood that this definition is not geodetically precise, but
|
|
518
|
+
at the same time the hope is that by including it, conventions will
|
|
519
|
+
develop around its use which can be later specified more clearly. -->
|
|
520
|
+
<!ELEMENT ScaleHint EMPTY>
|
|
521
|
+
<!ATTLIST ScaleHint min CDATA #REQUIRED max CDATA #REQUIRED>
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
|