MapProxy 2.1.1__tar.gz → 3.0.0__tar.gz
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.1 → MapProxy-3.0.0}/CHANGES.txt +45 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/PKG-INFO +46 -33
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/SOURCES.txt +1 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/requires.txt +3 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/PKG-INFO +46 -33
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/caches.rst +1 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/configuration.rst +33 -18
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/development.rst +1 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/install.rst +2 -2
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/install_windows.rst +4 -6
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/plugins.rst +27 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/services.rst +1 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/sources.rst +1 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/geopackage.py +4 -4
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/config-schema.json +8 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/loader.py +16 -4
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/spec.py +2 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/exception.py +39 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/message.py +4 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/demo.py +4 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/ows.py +20 -2
- MapProxy-3.0.0/mapproxy/service/templates/ows_exception.xml +10 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wmts100capabilities.xml +7 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/tile.py +2 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/wmts.py +32 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/source/mapnik.py +4 -9
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/template.py +4 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/legendgraphic.yaml +16 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed.yaml +7 -2
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_legendgraphic.py +44 -8
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_mapserver.py +0 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_renderd_client.py +3 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_response_headers.py +1 -1
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_seed.py +16 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_source_errors.py +4 -4
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wms.py +31 -31
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wmsc.py +3 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_client.py +5 -2
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_client_cgi.py +0 -2
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_exceptions.py +86 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_featureinfo.py +0 -3
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/odict.py +2 -2
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/wsgiapp.py +10 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/requirements-tests.txt +15 -15
- {MapProxy-2.1.1 → MapProxy-3.0.0}/setup.py +2 -2
- {MapProxy-2.1.1 → MapProxy-3.0.0}/AUTHORS.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/COPYING.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/LICENSE.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MANIFEST.in +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/dependency_links.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/entry_points.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/not-zip-safe +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/MapProxy.egg-info/top_level.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/README.md +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/GM.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/_static/logo.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/_static/logo_title.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/_static/mapproxy.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/_templates/versions.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/auth.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/caching_layer_dimensions.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/conf.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/configuration_examples.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/coverages.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/decorate_img.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/deployment.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/bicubic.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/bilinear.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-dynamic.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-meta-buffer.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-metatiling-buffer.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-metatiling.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-no-clip.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-no-placement.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-partial-false.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/labeling-repeated.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/mapnik-webmerc-hq.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/mapnik-webmerc.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/mapproxy-demo.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/imgs/nearest.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/index.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/inspire.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/install_docker.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/install_osgeo4w.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/labeling.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/mapproxy_util.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/mapproxy_util_autoconfig.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/seed.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/tutorial.rst +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/tutorial.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/yaml/cache_conf.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/yaml/grid_conf.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/yaml/merged_conf.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/yaml/meta_conf.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/yaml/seed.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/doc/yaml/simple_conf.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/azureblob.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/base.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/compact.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/couchdb.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/dummy.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/file.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/legend.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/mbtiles.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/meta.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/path.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/redis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/renderd.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/riak.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/s3.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/cache/tile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/arcgis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/cgi.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/http.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/log.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/tile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/client/wms.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/compat/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/compat/image.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/config.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/coverage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/defaults.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config/validator.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/base_config/config.wsgi +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/base_config/full_example.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/base_config/log.ini +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/config_template/base_config/seed.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/featureinfo.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/grid.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/fonts/LICENSE +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/fonts/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/mask.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/merge.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/opts.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/tile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/image/transform.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/layer.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/multiapp.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/proj.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/arcgis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/base.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/tile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/wms/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/wms/exception.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/request/wmts.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/response.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/app.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/caches.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/geopackage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/layers.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/seeds.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/sources.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/conf/utils.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/defrag.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/export.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/grids.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/scales.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/util.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/script/wms_capabilities.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/cachelock.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/cleanup.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/config.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/script.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/seeder.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/spec.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/seed/util.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/base.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/kml.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/template_helper.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/demo.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/logo.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/ol.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/ol.js +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/site.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/static.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/tms_demo.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/wms_demo.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/tms_capabilities.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/tms_exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/tms_root_resource.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms100capabilities.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms100exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms110capabilities.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms110exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms111capabilities.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms111exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms130capabilities.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wms130exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/templates/wmts100exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/service/wms.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/source/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/source/arcgis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/source/error.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/source/tile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/source/wms.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/srs.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/conftest.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/helper.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/http.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/image.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/mocker.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/schemas/xml.xsd +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/auth.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/coverage.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/demo.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/dimension.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/formats.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/inspire.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/layer.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/sld.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/watermark.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wmts.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_arcgis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_auth.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_behind_proxy.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_azureblob.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_band_merge.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_coverage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_geopackage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_grid_names.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_s3.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_cache_source.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_combined_sources.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_coverage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_decorate_img.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_demo.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_dimensions.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_disable_storage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_formats.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_inspire_vs.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_kml.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_layergroups.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_mapnik.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_multiapp.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_refresh.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_scalehints.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_seed_only.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_sld.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_tms.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_tms_origin.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_util_conf.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_util_export.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_util_grids.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_watermark.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wms_version.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wmts.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_wmts_restful.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/test_http_helper.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/epsg +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/polygons/polygons.shp +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/polygons/polygons.shx +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_async.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_auth.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_compact.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_redis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_riak.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_s3.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_cache_tile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_client_arcgis.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_collections.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_concat_legends.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_conf_loader.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_conf_validator.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_config.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_decorate_img.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_file_lock_load.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_geom.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_grid.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_image.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_image_mask.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_image_messages.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_image_options.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_isodate.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_multiapp.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_ogr_reader.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_request.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_request_wmts.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_response.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_seed.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_srs.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_tiled_source.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_tilefilter.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_times.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_timeutils.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_utils.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_wms_layer.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/test/unit/test_yaml.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/tilefilter.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/async_.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/collections.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/coverage.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/spec.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/dictspec/validator.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/local.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/lockfile.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/serving.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/tempita/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/tempita/_looper.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/tempita/string_utils.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/duration.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/parse.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ext/wmsparse/util.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/fs.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/geom.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/lib.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/lock.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/ogr.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/py.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/times.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/util/yaml.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/mapproxy/version.py +0 -0
- {MapProxy-2.1.1 → MapProxy-3.0.0}/setup.cfg +0 -0
|
@@ -1,3 +1,48 @@
|
|
|
1
|
+
3.0.0 2024-08-27
|
|
2
|
+
~~~~~~~~~~~~~~~~
|
|
3
|
+
|
|
4
|
+
Breaking:
|
|
5
|
+
|
|
6
|
+
- Add proper XML Exception when service parameter disabled / invalid or missing
|
|
7
|
+
In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
|
|
8
|
+
GetCapabilities requests. With this change, an OGC exception will be returned instead.
|
|
9
|
+
Invalid service types now also return a proper exception instead of an `internal error`.
|
|
10
|
+
Besides, the status code of exception responses now have a 400 or 500 code instead of 200
|
|
11
|
+
for better conformity.
|
|
12
|
+
|
|
13
|
+
Maintenance:
|
|
14
|
+
|
|
15
|
+
- Add test for seeding sqlite cache
|
|
16
|
+
- Documentation updates and clarifications
|
|
17
|
+
- Dependency updates
|
|
18
|
+
|
|
19
|
+
Fixes:
|
|
20
|
+
|
|
21
|
+
- Fix gh-pages workflow
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
2.2.0 2024-07-24
|
|
25
|
+
~~~~~~~~~~~~~~~~
|
|
26
|
+
|
|
27
|
+
Improvements:
|
|
28
|
+
|
|
29
|
+
- Add timeout to SQLite connect for geopackages. This helps against locking exceptions
|
|
30
|
+
- Improvement of documentation, typos, wrong cli commands, old python2 stuff
|
|
31
|
+
- The WMTS capabilites will now advertise the WMS GetLegendGraphic as a LegendURL if both services are active
|
|
32
|
+
- It is possible now to configure LegendURLs that should be shown in the WMTS capabilities
|
|
33
|
+
- A new method for plugins to intercept and modify requests made to MapProxy was added.
|
|
34
|
+
|
|
35
|
+
Maintenance:
|
|
36
|
+
|
|
37
|
+
- Removal of debian package information
|
|
38
|
+
- Fix docs workflow
|
|
39
|
+
|
|
40
|
+
Fixes:
|
|
41
|
+
|
|
42
|
+
- Remove import of the packaging library that does not appear in the `install_requires`
|
|
43
|
+
- Only install and use `importlib_resources` in python 3.8
|
|
44
|
+
|
|
45
|
+
|
|
1
46
|
2.1.1 2024-07-16
|
|
2
47
|
~~~~~~~~~~~~~~~~
|
|
3
48
|
Fixes:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: An accelerating proxy for tile and web map services
|
|
5
5
|
Home-page: https://mapproxy.org
|
|
6
6
|
Author: Oliver Tonnhofer
|
|
@@ -34,6 +34,51 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
34
|
|
|
35
35
|
Changes
|
|
36
36
|
-------
|
|
37
|
+
3.0.0 2024-08-27
|
|
38
|
+
~~~~~~~~~~~~~~~~
|
|
39
|
+
|
|
40
|
+
Breaking:
|
|
41
|
+
|
|
42
|
+
- Add proper XML Exception when service parameter disabled / invalid or missing
|
|
43
|
+
In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
|
|
44
|
+
GetCapabilities requests. With this change, an OGC exception will be returned instead.
|
|
45
|
+
Invalid service types now also return a proper exception instead of an `internal error`.
|
|
46
|
+
Besides, the status code of exception responses now have a 400 or 500 code instead of 200
|
|
47
|
+
for better conformity.
|
|
48
|
+
|
|
49
|
+
Maintenance:
|
|
50
|
+
|
|
51
|
+
- Add test for seeding sqlite cache
|
|
52
|
+
- Documentation updates and clarifications
|
|
53
|
+
- Dependency updates
|
|
54
|
+
|
|
55
|
+
Fixes:
|
|
56
|
+
|
|
57
|
+
- Fix gh-pages workflow
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
2.2.0 2024-07-24
|
|
61
|
+
~~~~~~~~~~~~~~~~
|
|
62
|
+
|
|
63
|
+
Improvements:
|
|
64
|
+
|
|
65
|
+
- Add timeout to SQLite connect for geopackages. This helps against locking exceptions
|
|
66
|
+
- Improvement of documentation, typos, wrong cli commands, old python2 stuff
|
|
67
|
+
- The WMTS capabilites will now advertise the WMS GetLegendGraphic as a LegendURL if both services are active
|
|
68
|
+
- It is possible now to configure LegendURLs that should be shown in the WMTS capabilities
|
|
69
|
+
- A new method for plugins to intercept and modify requests made to MapProxy was added.
|
|
70
|
+
|
|
71
|
+
Maintenance:
|
|
72
|
+
|
|
73
|
+
- Removal of debian package information
|
|
74
|
+
- Fix docs workflow
|
|
75
|
+
|
|
76
|
+
Fixes:
|
|
77
|
+
|
|
78
|
+
- Remove import of the packaging library that does not appear in the `install_requires`
|
|
79
|
+
- Only install and use `importlib_resources` in python 3.8
|
|
80
|
+
|
|
81
|
+
|
|
37
82
|
2.1.1 2024-07-16
|
|
38
83
|
~~~~~~~~~~~~~~~~
|
|
39
84
|
Fixes:
|
|
@@ -114,38 +159,6 @@ Fixes:
|
|
|
114
159
|
- Some more minor fixups
|
|
115
160
|
|
|
116
161
|
|
|
117
|
-
1.16.0 2023-04-13
|
|
118
|
-
~~~~~~~~~~~~~~~~~
|
|
119
|
-
Breaking:
|
|
120
|
-
|
|
121
|
-
- Removal of old unsupported python versions 2.7 and 3.6
|
|
122
|
-
- Tested python version range is now 3.7 to 3.11
|
|
123
|
-
- Lots of dependency updates
|
|
124
|
-
|
|
125
|
-
Improvements:
|
|
126
|
-
|
|
127
|
-
- New cache: Azure Blob storage
|
|
128
|
-
- Lots of dependency updates
|
|
129
|
-
- Support for JSON legends
|
|
130
|
-
- Updated layer preview to use latest openlayers
|
|
131
|
-
- Official docker images released, documentation updated
|
|
132
|
-
|
|
133
|
-
Fixes:
|
|
134
|
-
|
|
135
|
-
- Fixed issues with sqlite cache (#629 and #625)
|
|
136
|
-
- Dependency correction
|
|
137
|
-
- library detection difficulties on some operating systems
|
|
138
|
-
- encoding issues with umlauts in featureinfo
|
|
139
|
-
- Several minor bugfixes
|
|
140
|
-
- mapproxy-util export - derive image format from cache config
|
|
141
|
-
|
|
142
|
-
1.15.1 2022-06-14
|
|
143
|
-
~~~~~~~~~~~~~~~~~
|
|
144
|
-
|
|
145
|
-
Fixes:
|
|
146
|
-
|
|
147
|
-
- Fixup release on PyPI
|
|
148
|
-
|
|
149
162
|
|
|
150
163
|
Older changes
|
|
151
164
|
-------------
|
|
@@ -167,6 +167,7 @@ mapproxy/service/template_helper.py
|
|
|
167
167
|
mapproxy/service/tile.py
|
|
168
168
|
mapproxy/service/wms.py
|
|
169
169
|
mapproxy/service/wmts.py
|
|
170
|
+
mapproxy/service/templates/ows_exception.xml
|
|
170
171
|
mapproxy/service/templates/tms_capabilities.xml
|
|
171
172
|
mapproxy/service/templates/tms_exception.xml
|
|
172
173
|
mapproxy/service/templates/tms_root_resource.xml
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MapProxy
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: An accelerating proxy for tile and web map services
|
|
5
5
|
Home-page: https://mapproxy.org
|
|
6
6
|
Author: Oliver Tonnhofer
|
|
@@ -34,6 +34,51 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
|
|
|
34
34
|
|
|
35
35
|
Changes
|
|
36
36
|
-------
|
|
37
|
+
3.0.0 2024-08-27
|
|
38
|
+
~~~~~~~~~~~~~~~~
|
|
39
|
+
|
|
40
|
+
Breaking:
|
|
41
|
+
|
|
42
|
+
- Add proper XML Exception when service parameter disabled / invalid or missing
|
|
43
|
+
In the past MapProxy returned WMS Capabilities when no explicit service parameter was given in
|
|
44
|
+
GetCapabilities requests. With this change, an OGC exception will be returned instead.
|
|
45
|
+
Invalid service types now also return a proper exception instead of an `internal error`.
|
|
46
|
+
Besides, the status code of exception responses now have a 400 or 500 code instead of 200
|
|
47
|
+
for better conformity.
|
|
48
|
+
|
|
49
|
+
Maintenance:
|
|
50
|
+
|
|
51
|
+
- Add test for seeding sqlite cache
|
|
52
|
+
- Documentation updates and clarifications
|
|
53
|
+
- Dependency updates
|
|
54
|
+
|
|
55
|
+
Fixes:
|
|
56
|
+
|
|
57
|
+
- Fix gh-pages workflow
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
2.2.0 2024-07-24
|
|
61
|
+
~~~~~~~~~~~~~~~~
|
|
62
|
+
|
|
63
|
+
Improvements:
|
|
64
|
+
|
|
65
|
+
- Add timeout to SQLite connect for geopackages. This helps against locking exceptions
|
|
66
|
+
- Improvement of documentation, typos, wrong cli commands, old python2 stuff
|
|
67
|
+
- The WMTS capabilites will now advertise the WMS GetLegendGraphic as a LegendURL if both services are active
|
|
68
|
+
- It is possible now to configure LegendURLs that should be shown in the WMTS capabilities
|
|
69
|
+
- A new method for plugins to intercept and modify requests made to MapProxy was added.
|
|
70
|
+
|
|
71
|
+
Maintenance:
|
|
72
|
+
|
|
73
|
+
- Removal of debian package information
|
|
74
|
+
- Fix docs workflow
|
|
75
|
+
|
|
76
|
+
Fixes:
|
|
77
|
+
|
|
78
|
+
- Remove import of the packaging library that does not appear in the `install_requires`
|
|
79
|
+
- Only install and use `importlib_resources` in python 3.8
|
|
80
|
+
|
|
81
|
+
|
|
37
82
|
2.1.1 2024-07-16
|
|
38
83
|
~~~~~~~~~~~~~~~~
|
|
39
84
|
Fixes:
|
|
@@ -114,38 +159,6 @@ Fixes:
|
|
|
114
159
|
- Some more minor fixups
|
|
115
160
|
|
|
116
161
|
|
|
117
|
-
1.16.0 2023-04-13
|
|
118
|
-
~~~~~~~~~~~~~~~~~
|
|
119
|
-
Breaking:
|
|
120
|
-
|
|
121
|
-
- Removal of old unsupported python versions 2.7 and 3.6
|
|
122
|
-
- Tested python version range is now 3.7 to 3.11
|
|
123
|
-
- Lots of dependency updates
|
|
124
|
-
|
|
125
|
-
Improvements:
|
|
126
|
-
|
|
127
|
-
- New cache: Azure Blob storage
|
|
128
|
-
- Lots of dependency updates
|
|
129
|
-
- Support for JSON legends
|
|
130
|
-
- Updated layer preview to use latest openlayers
|
|
131
|
-
- Official docker images released, documentation updated
|
|
132
|
-
|
|
133
|
-
Fixes:
|
|
134
|
-
|
|
135
|
-
- Fixed issues with sqlite cache (#629 and #625)
|
|
136
|
-
- Dependency correction
|
|
137
|
-
- library detection difficulties on some operating systems
|
|
138
|
-
- encoding issues with umlauts in featureinfo
|
|
139
|
-
- Several minor bugfixes
|
|
140
|
-
- mapproxy-util export - derive image format from cache config
|
|
141
|
-
|
|
142
|
-
1.15.1 2022-06-14
|
|
143
|
-
~~~~~~~~~~~~~~~~~
|
|
144
|
-
|
|
145
|
-
Fixes:
|
|
146
|
-
|
|
147
|
-
- Fixup release on PyPI
|
|
148
|
-
|
|
149
162
|
|
|
150
163
|
Older changes
|
|
151
164
|
-------------
|
|
@@ -513,7 +513,7 @@ Available options:
|
|
|
513
513
|
When set to ``true``, requests to S3 ``GetObject`` will be fetched via urllib2 instead of boto, which decreases response times. Defaults to ``false``.
|
|
514
514
|
|
|
515
515
|
.. note::
|
|
516
|
-
The hierarchical ``directory_layouts`` can hit limitations of S3
|
|
516
|
+
The hierarchical ``directory_layouts`` can hit limitations of AWS S3 if you are routinely processing 3500 or more requests per second. ``directory_layout: reverse_tms`` can work around this limitation. Please read `S3 Request Rate and Performance Considerations <http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html>`_ for more information on this issue.
|
|
517
517
|
|
|
518
518
|
Example
|
|
519
519
|
-------
|
|
@@ -3,9 +3,9 @@ Configuration
|
|
|
3
3
|
|
|
4
4
|
There are two configuration files used by MapProxy.
|
|
5
5
|
|
|
6
|
-
``
|
|
6
|
+
``mapproxy.yaml``
|
|
7
7
|
This is the main configuration of MapProxy. It configures all aspects of the server:
|
|
8
|
-
|
|
8
|
+
which servers should be started, where comes the data from, what should be cached,
|
|
9
9
|
etc..
|
|
10
10
|
|
|
11
11
|
``seed.yaml``
|
|
@@ -31,7 +31,7 @@ The MapProxy configuration is grouped into sections, each configures a different
|
|
|
31
31
|
|
|
32
32
|
- ``layers``: Configure the layers that MapProxy offers. Each layer can consist of multiple sources and caches.
|
|
33
33
|
|
|
34
|
-
- ``grids``: Define the grids that MapProxy uses to
|
|
34
|
+
- ``grids``: Define the grids that MapProxy uses to align cached images.
|
|
35
35
|
|
|
36
36
|
The order of the sections is not important, so you can organize it your way.
|
|
37
37
|
|
|
@@ -69,7 +69,7 @@ There are other optional sections:
|
|
|
69
69
|
|
|
70
70
|
The ``base`` option loads the other files and merges the loaded configuration dictionaries together – it is not a literal include of the other files.
|
|
71
71
|
|
|
72
|
-
For example, to externalize ``grids`` and ``caches``sections, we will have in ``
|
|
72
|
+
For example, to externalize ``grids`` and ``caches`` sections, we will have in ``mapproxy.yaml``:
|
|
73
73
|
|
|
74
74
|
.. code-block:: YAML
|
|
75
75
|
|
|
@@ -77,7 +77,7 @@ There are other optional sections:
|
|
|
77
77
|
service: ...
|
|
78
78
|
layers: ...
|
|
79
79
|
|
|
80
|
-
Also in more complex configurations (with many layers, caches, sources, etc.), the ``
|
|
80
|
+
Also in more complex configurations (with many layers, caches, sources, etc.), the ``mapproxy.yaml`` can become too big to be easily modified. One solution could be to split layers, caches, sources, etc. by themes: for example, nature (with layers for lakes, rivers, forests), artificial building (with roads, buildings, power plants layers), topography, etc. We could have in ``mapproxy.yaml``:
|
|
81
81
|
|
|
82
82
|
.. code-block:: YAML
|
|
83
83
|
|
|
@@ -304,7 +304,7 @@ Please read :ref:`scale vs. resolution <scale_resolution>` for some notes on `sc
|
|
|
304
304
|
``legendurl``
|
|
305
305
|
"""""""""""""
|
|
306
306
|
|
|
307
|
-
Configure a URL to an image that should be returned as the legend for this layer. Local URLs (``file://``) are also supported. MapProxy ignores the legends from the sources of this layer if you configure a ``legendurl`` here.
|
|
307
|
+
Configure a URL to an image that should be returned as the legend for this layer. Local URLs (``file://``) are also supported. MapProxy ignores the legends from the sources of this layer if you configure a ``legendurl`` here. If WMS and WMTS are enabled the address to the WMS `GetLegendGraphic` endpoint will be included in the WMTS capabilities as the legend url.
|
|
308
308
|
|
|
309
309
|
.. _layer_metadata:
|
|
310
310
|
|
|
@@ -392,6 +392,21 @@ Each dimension is another dictionary with a list of ``values`` and an optional `
|
|
|
392
392
|
- 1000
|
|
393
393
|
- 3000
|
|
394
394
|
|
|
395
|
+
``wmts_kvp_legendurl`` and ``wmts_rest_legendurl``
|
|
396
|
+
""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
397
|
+
|
|
398
|
+
It is possible to configure which URLS the WMTS will advertise as LegendURLs through its capabilities. These will be
|
|
399
|
+
inserted as a ``LegendURL`` tag into the capabilities document. These URLs support two template variables ``{base_url}``
|
|
400
|
+
which is the base url of MapProxy and ``{layer_name}`` which is the name of the layer.
|
|
401
|
+
|
|
402
|
+
.. code-block:: yaml
|
|
403
|
+
|
|
404
|
+
layers:
|
|
405
|
+
- name: legend_layer
|
|
406
|
+
tile_sources: [cache]
|
|
407
|
+
wmts_rest_legendurl: "{base_url}/legend/{layer_name}.png" # would become "http://127.0.0.1/legend/legend_layer.png" on localhost
|
|
408
|
+
wmts_kvp_legendurl: "http://external-service/fixed-name.png" # would be used as a fixed URL
|
|
409
|
+
|
|
395
410
|
|
|
396
411
|
.. ``attribution``
|
|
397
412
|
.. """"""""""""""""
|
|
@@ -499,7 +514,7 @@ You need to set the ``request_format`` to ``image/png`` when using ``mixed``-mod
|
|
|
499
514
|
``request_format``
|
|
500
515
|
""""""""""""""""""
|
|
501
516
|
|
|
502
|
-
MapProxy will try to use this format to request new tiles, if it is not set ``format`` is used. This option has no effect if the source does not support that format or the format of the
|
|
517
|
+
MapProxy will try to use this format to request new tiles, if it is not set ``format`` is used. This option has no effect if the source does not support that format or the format of the cache is set explicitly (see ``format`` for caches or ``supported_formats`` for sources).
|
|
503
518
|
|
|
504
519
|
|
|
505
520
|
.. _link_single_color_images:
|
|
@@ -649,13 +664,13 @@ Example:
|
|
|
649
664
|
|
|
650
665
|
.. code-block:: yaml
|
|
651
666
|
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
667
|
+
caches:
|
|
668
|
+
osm_cache:
|
|
669
|
+
grids: ['osm_grid']
|
|
670
|
+
sources: [OSM]
|
|
671
|
+
disable_storage: false
|
|
672
|
+
refresh_before:
|
|
673
|
+
days: 1
|
|
659
674
|
|
|
660
675
|
|
|
661
676
|
``disable_storage``
|
|
@@ -670,7 +685,7 @@ even if the there are matching tiles in the cache. See :ref:`seed_only <wms_seed
|
|
|
670
685
|
"""""""""""""
|
|
671
686
|
|
|
672
687
|
Directory where MapProxy should store tiles for this cache. Uses the value of ``globals.cache.base_dir`` by default. MapProxy will store each cache in a subdirectory named after the cache and the grid SRS (e.g. ``cachename_EPSG1234``).
|
|
673
|
-
See :ref:`directory option<cache_file_directory>` on how configure a complete path.
|
|
688
|
+
See :ref:`directory option<cache_file_directory>` on how to configure a complete path.
|
|
674
689
|
|
|
675
690
|
``cache``
|
|
676
691
|
"""""""""
|
|
@@ -989,7 +1004,7 @@ The following options define how tiles are created and stored. Most options can
|
|
|
989
1004
|
.. _meta_size:
|
|
990
1005
|
|
|
991
1006
|
``meta_size``
|
|
992
|
-
MapProxy does not make a single request for every tile it needs, but it will request a large meta-tile that consist of multiple tiles. ``meta_size`` defines how large a meta-tile is. A ``meta_size`` of ``[4, 4]`` will request 16 tiles in one pass. With a tile size of 256x256 this will result in 1024x1024 requests to the source. Tiled sources are still requested tile by tile, but you can configure MapProxy to load multiple tiles in bulk with
|
|
1007
|
+
MapProxy does not make a single request for every tile it needs, but it will request a large meta-tile that consist of multiple tiles. ``meta_size`` defines how large a meta-tile is. A ``meta_size`` of ``[4, 4]`` will request 16 tiles in one pass. With a tile size of 256x256 and 0 ``meta_buffer``, this will result in 1024x1024 requests to the source. (Note that the default value for ``meta_buffer`` is 80.) Tiled sources are still requested tile by tile, but you can configure MapProxy to load multiple tiles in bulk with ``bulk_meta_tiles``.
|
|
993
1008
|
|
|
994
1009
|
|
|
995
1010
|
.. _bulk_meta_tiles:
|
|
@@ -1002,7 +1017,7 @@ The following options define how tiles are created and stored. Most options can
|
|
|
1002
1017
|
``meta_buffer``
|
|
1003
1018
|
MapProxy will increase the size of each meta-tile request by this number of
|
|
1004
1019
|
pixels in each direction. This can solve cases where labels are cut-off at
|
|
1005
|
-
the edge of tiles.
|
|
1020
|
+
the edge of tiles. Defaults to 80.
|
|
1006
1021
|
|
|
1007
1022
|
``base_dir``
|
|
1008
1023
|
The base directory where all cached tiles will be stored. The path can
|
|
@@ -1135,7 +1150,7 @@ See the `Python SSL documentation <http://docs.python.org/dev/library/ssl.html#s
|
|
|
1135
1150
|
|
|
1136
1151
|
.. versionadded:: 1.11.0
|
|
1137
1152
|
|
|
1138
|
-
MapProxy uses the systems CA files by default
|
|
1153
|
+
MapProxy uses the systems CA files by default.
|
|
1139
1154
|
|
|
1140
1155
|
|
|
1141
1156
|
.. note::
|
|
@@ -28,7 +28,7 @@ __ fork_
|
|
|
28
28
|
Documentation
|
|
29
29
|
-------------
|
|
30
30
|
|
|
31
|
-
This is the documentation you are reading right now. The raw files can be found in ``doc/``. The HTML version user documentation is build with `Sphinx`_. To rebuild this documentation install Sphinx with ``pip install sphinx sphinx-bootstrap-theme`` and call ``
|
|
31
|
+
This is the documentation you are reading right now. The raw files can be found in ``doc/``. The HTML version user documentation is build with `Sphinx`_. To rebuild this documentation install Sphinx with ``pip install sphinx sphinx-bootstrap-theme`` and call ``sphinx-build doc/ docs``. The output appears in ``docs``. The latest documentation can be found at ``https://mapproxy.github.io/mapproxy/latest/``.
|
|
32
32
|
|
|
33
33
|
.. _`Epydoc`: http://epydoc.sourceforge.net/
|
|
34
34
|
.. _`Sphinx`: http://sphinx.pocoo.org/
|
|
@@ -5,9 +5,9 @@ This tutorial guides you to the MapProxy installation process on Unix systems. F
|
|
|
5
5
|
|
|
6
6
|
This tutorial was created and tested with Debian and Ubuntu, if you're installing MapProxy on a different system you might need to change some package names.
|
|
7
7
|
|
|
8
|
-
MapProxy is `registered at the Python Package Index <https://pypi.org/project/MapProxy/>`_ (PyPI). If you have Python
|
|
8
|
+
MapProxy is `registered at the Python Package Index <https://pypi.org/project/MapProxy/>`_ (PyPI). If you have Python 3.8 or higher, you can install MapProxy with::
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
python -m pip install MapProxy
|
|
11
11
|
|
|
12
12
|
This is really, easy `but` we recommend to install MapProxy into a `virtual Python environment`_. A ``virtualenv`` is a self-contained Python installation where you can install arbitrary Python packages without affecting the system installation. You also don't need root permissions for the installation.
|
|
13
13
|
|
|
@@ -11,7 +11,7 @@ Virtualenv
|
|
|
11
11
|
|
|
12
12
|
To create a new virtual environment for your MapProxy installation and to activate it go to the command line and call::
|
|
13
13
|
|
|
14
|
-
C:\
|
|
14
|
+
C:\Python38\python path\to\virtualenv.py c:\mapproxy_venv
|
|
15
15
|
C:\mapproxy_venv\Scripts\activate.bat
|
|
16
16
|
|
|
17
17
|
.. note::
|
|
@@ -30,11 +30,9 @@ This might take a minute. You can skip the next step.
|
|
|
30
30
|
PIP
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
-
MapProxy and most dependencies can be installed with the ``pip`` command.
|
|
33
|
+
MapProxy and most dependencies can be installed with the ``pip`` command. `Read the pip documentation for more information <https://pip.pypa.io/en/stable/installing/>`_.
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
c:\Python27\Scripts\pip install MapProxy
|
|
35
|
+
c:\Python38\Scripts\pip install MapProxy
|
|
38
36
|
|
|
39
37
|
This might take a minute.
|
|
40
38
|
|
|
@@ -90,7 +88,7 @@ Platform dependent packages
|
|
|
90
88
|
|
|
91
89
|
``pip`` downloads all packages from https://pypi.org/, but not all platform combinations might be available as a binary package, especially if you run a 64bit version of Python.
|
|
92
90
|
|
|
93
|
-
If you run into trouble during installation, because it is trying to compile something (e.g. complaining about ``vcvarsall.bat``), you should look at Christoph Gohlke's `Unofficial Windows Binaries for Python Extension Packages <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. This is a reliable site for binary packages for Python. You need to download the right package: The ``cpxx`` code refers to the Python version (e.g. ``
|
|
91
|
+
If you run into trouble during installation, because it is trying to compile something (e.g. complaining about ``vcvarsall.bat``), you should look at Christoph Gohlke's `Unofficial Windows Binaries for Python Extension Packages <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. This is a reliable site for binary packages for Python. You need to download the right package: The ``cpxx`` code refers to the Python version (e.g. ``cp38`` for Python 3.8); ``win32`` for 32bit Python installations and ``amd64`` for 64bit.
|
|
94
92
|
|
|
95
93
|
You can install the ``.whl``, ``.zip`` or ``.exe`` packages with ``pip``::
|
|
96
94
|
|
|
@@ -292,9 +292,33 @@ This can for example be used like in the following snippet:
|
|
|
292
292
|
})
|
|
293
293
|
|
|
294
294
|
|
|
295
|
-
A real-world example can be found at
|
|
296
|
-
|
|
297
|
-
|
|
295
|
+
A real-world example can be found at https://github.com/rouault/mapproxy_hips/blob/master/mapproxy_hips/script/hipsallsky.py
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
Intercepting request
|
|
299
|
+
--------------------
|
|
300
|
+
|
|
301
|
+
It is possible to intercept any request in a plugin with `register_request_interceptor`. The provided function will be called on any request and should
|
|
302
|
+
always return a request, either the original one or a new one.
|
|
303
|
+
|
|
304
|
+
Example:
|
|
305
|
+
|
|
306
|
+
.. code-block:: python
|
|
307
|
+
|
|
308
|
+
from mapproxy.wsgiapp import register_request_interceptor
|
|
309
|
+
|
|
310
|
+
def interceptor(req):
|
|
311
|
+
if req.path.startswith('service'):
|
|
312
|
+
environ = req.environ.copy()
|
|
313
|
+
environ['QUERY_STRING'] = environ['QUERY_STRING'].replace('foo', 'bar')
|
|
314
|
+
return Request(environ)
|
|
315
|
+
return req
|
|
316
|
+
|
|
317
|
+
register_request_interceptor(interceptor)
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
A real world example can be found at https://github.com/mapproxy/wmts-rest-legend-plugin
|
|
321
|
+
|
|
298
322
|
|
|
299
323
|
Credits
|
|
300
324
|
-------
|
|
@@ -137,7 +137,7 @@ You can define XSLT scripts to transform outgoing feature information. You can d
|
|
|
137
137
|
``xml``
|
|
138
138
|
Define a script for ``INFO_FORMAT=application/vnd.ogc.gml`` and ``INFO_FORMAT=text/xml`` requests.
|
|
139
139
|
|
|
140
|
-
See :ref:`FeatureInformation for more
|
|
140
|
+
See :ref:`FeatureInformation for more information <fi_xslt>`.
|
|
141
141
|
|
|
142
142
|
``strict``
|
|
143
143
|
""""""""""
|
|
@@ -133,7 +133,7 @@ A list with SRSs that the WMS source supports. MapProxy will only query the sour
|
|
|
133
133
|
|
|
134
134
|
You don't need to configure this if you only use this WMS as a cache source and the WMS supports all SRS of the cache.
|
|
135
135
|
|
|
136
|
-
If MapProxy needs to reproject and the source has multiple ``supported_srs``, then it will use the first projected SRS for requests in a projected SRS, or the first geographic SRS for requests in a geographic SRS. E.g when
|
|
136
|
+
If MapProxy needs to reproject and the source has multiple ``supported_srs``, then it will use the first projected SRS for requests in a projected SRS, or the first geographic SRS for requests in a geographic SRS. E.g when ``supported_srs`` is ``['EPSG:4326', 'EPSG:31467']`` caches with EPSG:3857 (projected, meter) will use EPSG:31467 (projected, meter) and not EPSG:4326 (geographic, lat/long).
|
|
137
137
|
|
|
138
138
|
.. .. note:: For the configuration of SRS for MapProxy see `srs_configuration`_.
|
|
139
139
|
|
|
@@ -125,7 +125,7 @@ class GeopackageCache(TileCacheBase):
|
|
|
125
125
|
return True
|
|
126
126
|
|
|
127
127
|
def _verify_table(self):
|
|
128
|
-
with sqlite3.connect(self.geopackage_file) as db:
|
|
128
|
+
with sqlite3.connect(self.geopackage_file, timeout=self.timeout) as db:
|
|
129
129
|
cur = db.execute("""SELECT name FROM sqlite_master WHERE type='table' AND name=?""",
|
|
130
130
|
(self.table_name,))
|
|
131
131
|
content = cur.fetchone()
|
|
@@ -135,7 +135,7 @@ class GeopackageCache(TileCacheBase):
|
|
|
135
135
|
return True
|
|
136
136
|
|
|
137
137
|
def _verify_gpkg_contents(self):
|
|
138
|
-
with sqlite3.connect(self.geopackage_file) as db:
|
|
138
|
+
with sqlite3.connect(self.geopackage_file, timeout=self.timeout) as db:
|
|
139
139
|
cur = db.execute("""SELECT * FROM gpkg_contents WHERE table_name = ?""", (self.table_name,))
|
|
140
140
|
|
|
141
141
|
results = cur.fetchone()
|
|
@@ -159,7 +159,7 @@ class GeopackageCache(TileCacheBase):
|
|
|
159
159
|
return True
|
|
160
160
|
|
|
161
161
|
def _verify_tile_size(self):
|
|
162
|
-
with sqlite3.connect(self.geopackage_file) as db:
|
|
162
|
+
with sqlite3.connect(self.geopackage_file, timeout=self.timeout) as db:
|
|
163
163
|
cur = db.execute(
|
|
164
164
|
"""SELECT * FROM gpkg_tile_matrix WHERE table_name = ?""",
|
|
165
165
|
(self.table_name,))
|
|
@@ -193,7 +193,7 @@ class GeopackageCache(TileCacheBase):
|
|
|
193
193
|
|
|
194
194
|
def _initialize_gpkg(self):
|
|
195
195
|
log.info('initializing Geopackage file %s', self.geopackage_file)
|
|
196
|
-
db = sqlite3.connect(self.geopackage_file)
|
|
196
|
+
db = sqlite3.connect(self.geopackage_file, timeout=self.timeout)
|
|
197
197
|
|
|
198
198
|
if self.wal:
|
|
199
199
|
db.execute('PRAGMA journal_mode=wal')
|
|
@@ -392,6 +392,14 @@
|
|
|
392
392
|
"description": "URL to an image used as a legend for this layer",
|
|
393
393
|
"type": "string"
|
|
394
394
|
},
|
|
395
|
+
"wmts_rest_legendurl": {
|
|
396
|
+
"description": "A static legendurl for the wmts rest capabilites",
|
|
397
|
+
"type": "string"
|
|
398
|
+
},
|
|
399
|
+
"wmts_kvp_legendurl": {
|
|
400
|
+
"description": "A static legendurl for the wmts kvp capabilites",
|
|
401
|
+
"type": "string"
|
|
402
|
+
},
|
|
395
403
|
"md": {
|
|
396
404
|
"title": "md",
|
|
397
405
|
"description": "Additional metadata for this layer",
|
|
@@ -24,6 +24,7 @@ from mapproxy.util.py import memoize
|
|
|
24
24
|
from mapproxy.config.spec import validate_options, add_source_to_mapproxy_yaml_spec, add_service_to_mapproxy_yaml_spec
|
|
25
25
|
from mapproxy.config.validator import validate
|
|
26
26
|
from mapproxy.config import load_default_config, finish_base_config, defaults
|
|
27
|
+
from mapproxy.service.ows import OWSServer
|
|
27
28
|
|
|
28
29
|
import os
|
|
29
30
|
import sys
|
|
@@ -1950,13 +1951,26 @@ class LayerConfiguration(ConfigurationBase):
|
|
|
1950
1951
|
md['format'] = self.context.caches[cache_name].image_opts().format
|
|
1951
1952
|
md['cache_name'] = cache_name
|
|
1952
1953
|
md['extent'] = extent
|
|
1954
|
+
md['wmts_kvp_legendurl'] = self.conf.get('wmts_kvp_legendurl')
|
|
1955
|
+
md['wmts_rest_legendurl'] = self.conf.get('wmts_rest_legendurl')
|
|
1956
|
+
if 'legendurl' in self.conf:
|
|
1957
|
+
wms_conf = self.context.services.conf.get('wms')
|
|
1958
|
+
if wms_conf is not None:
|
|
1959
|
+
versions = wms_conf.get('versions', ['1.3.0'])
|
|
1960
|
+
versions.sort(key=lambda s: [int(u) for u in s.split('.')])
|
|
1961
|
+
legendurl = (f'{{base_url}}/service?service=WMS&request=GetLegendGraphic&'
|
|
1962
|
+
f'version={versions[-1]}&format=image%2Fpng&layer={{layer_name}}')
|
|
1963
|
+
if md['wmts_kvp_legendurl'] is None:
|
|
1964
|
+
md['wmts_kvp_legendurl'] = legendurl
|
|
1965
|
+
if md['wmts_rest_legendurl'] is None:
|
|
1966
|
+
md['wmts_rest_legendurl'] = legendurl
|
|
1953
1967
|
tile_layers.append(
|
|
1954
1968
|
TileLayer(
|
|
1955
1969
|
self.conf['name'], self.conf['title'],
|
|
1956
1970
|
info_sources=fi_sources,
|
|
1957
1971
|
md=md,
|
|
1958
1972
|
tile_manager=cache_source,
|
|
1959
|
-
dimensions=dimensions
|
|
1973
|
+
dimensions=dimensions
|
|
1960
1974
|
)
|
|
1961
1975
|
)
|
|
1962
1976
|
|
|
@@ -2050,9 +2064,7 @@ class ServiceConfiguration(ConfigurationBase):
|
|
|
2050
2064
|
else:
|
|
2051
2065
|
services.append(new_service)
|
|
2052
2066
|
|
|
2053
|
-
|
|
2054
|
-
from mapproxy.service.ows import OWSServer
|
|
2055
|
-
services.append(OWSServer(ows_services))
|
|
2067
|
+
services.append(OWSServer(ows_services))
|
|
2056
2068
|
return services
|
|
2057
2069
|
|
|
2058
2070
|
def tile_layers(self, conf, use_grid_names=False):
|