MapProxy 1.16.1__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.
Files changed (458) hide show
  1. mapproxy/__init__.py +0 -0
  2. mapproxy/cache/__init__.py +36 -0
  3. mapproxy/cache/azureblob.py +145 -0
  4. mapproxy/cache/base.py +111 -0
  5. mapproxy/cache/compact.py +664 -0
  6. mapproxy/cache/couchdb.py +295 -0
  7. mapproxy/cache/dummy.py +34 -0
  8. mapproxy/cache/file.py +185 -0
  9. mapproxy/cache/geopackage.py +609 -0
  10. mapproxy/cache/legend.py +83 -0
  11. mapproxy/cache/mbtiles.py +392 -0
  12. mapproxy/cache/meta.py +78 -0
  13. mapproxy/cache/path.py +250 -0
  14. mapproxy/cache/redis.py +88 -0
  15. mapproxy/cache/renderd.py +95 -0
  16. mapproxy/cache/riak.py +202 -0
  17. mapproxy/cache/s3.py +177 -0
  18. mapproxy/cache/tile.py +699 -0
  19. mapproxy/client/__init__.py +0 -0
  20. mapproxy/client/arcgis.py +79 -0
  21. mapproxy/client/cgi.py +139 -0
  22. mapproxy/client/http.py +315 -0
  23. mapproxy/client/log.py +33 -0
  24. mapproxy/client/tile.py +150 -0
  25. mapproxy/client/wms.py +254 -0
  26. mapproxy/compat/__init__.py +46 -0
  27. mapproxy/compat/image.py +79 -0
  28. mapproxy/compat/itertools.py +29 -0
  29. mapproxy/compat/modules.py +13 -0
  30. mapproxy/config/__init__.py +22 -0
  31. mapproxy/config/config.py +201 -0
  32. mapproxy/config/coverage.py +107 -0
  33. mapproxy/config/defaults.py +98 -0
  34. mapproxy/config/loader.py +2286 -0
  35. mapproxy/config/spec.py +644 -0
  36. mapproxy/config/validator.py +239 -0
  37. mapproxy/config_template/__init__.py +0 -0
  38. mapproxy/config_template/base_config/config.wsgi +10 -0
  39. mapproxy/config_template/base_config/full_example.yaml +593 -0
  40. mapproxy/config_template/base_config/full_seed_example.yaml +79 -0
  41. mapproxy/config_template/base_config/log.ini +35 -0
  42. mapproxy/config_template/base_config/mapproxy.yaml +60 -0
  43. mapproxy/config_template/base_config/seed.yaml +27 -0
  44. mapproxy/exception.py +142 -0
  45. mapproxy/featureinfo.py +252 -0
  46. mapproxy/grid.py +1170 -0
  47. mapproxy/image/__init__.py +536 -0
  48. mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  49. mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  50. mapproxy/image/fonts/LICENSE +99 -0
  51. mapproxy/image/fonts/__init__.py +0 -0
  52. mapproxy/image/mask.py +75 -0
  53. mapproxy/image/merge.py +316 -0
  54. mapproxy/image/message.py +347 -0
  55. mapproxy/image/opts.py +182 -0
  56. mapproxy/image/tile.py +167 -0
  57. mapproxy/image/transform.py +350 -0
  58. mapproxy/layer.py +470 -0
  59. mapproxy/multiapp.py +231 -0
  60. mapproxy/proj.py +302 -0
  61. mapproxy/request/__init__.py +18 -0
  62. mapproxy/request/arcgis.py +259 -0
  63. mapproxy/request/base.py +476 -0
  64. mapproxy/request/tile.py +128 -0
  65. mapproxy/request/wms/__init__.py +793 -0
  66. mapproxy/request/wms/exception.py +99 -0
  67. mapproxy/request/wmts.py +436 -0
  68. mapproxy/response.py +237 -0
  69. mapproxy/script/__init__.py +0 -0
  70. mapproxy/script/conf/__init__.py +0 -0
  71. mapproxy/script/conf/app.py +195 -0
  72. mapproxy/script/conf/caches.py +45 -0
  73. mapproxy/script/conf/layers.py +54 -0
  74. mapproxy/script/conf/seeds.py +37 -0
  75. mapproxy/script/conf/sources.py +86 -0
  76. mapproxy/script/conf/utils.py +143 -0
  77. mapproxy/script/defrag.py +184 -0
  78. mapproxy/script/export.py +333 -0
  79. mapproxy/script/grids.py +188 -0
  80. mapproxy/script/scales.py +126 -0
  81. mapproxy/script/util.py +406 -0
  82. mapproxy/script/wms_capabilities.py +152 -0
  83. mapproxy/seed/__init__.py +0 -0
  84. mapproxy/seed/cachelock.py +121 -0
  85. mapproxy/seed/cleanup.py +187 -0
  86. mapproxy/seed/config.py +469 -0
  87. mapproxy/seed/script.py +388 -0
  88. mapproxy/seed/seeder.py +538 -0
  89. mapproxy/seed/spec.py +64 -0
  90. mapproxy/seed/util.py +254 -0
  91. mapproxy/service/__init__.py +14 -0
  92. mapproxy/service/base.py +46 -0
  93. mapproxy/service/demo.py +356 -0
  94. mapproxy/service/kml.py +331 -0
  95. mapproxy/service/ows.py +38 -0
  96. mapproxy/service/template_helper.py +53 -0
  97. mapproxy/service/templates/demo/capabilities_demo.html +16 -0
  98. mapproxy/service/templates/demo/demo.html +181 -0
  99. mapproxy/service/templates/demo/openlayers-demo.cfg +16 -0
  100. mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  101. mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  102. mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  103. mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  104. mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  105. mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  106. mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  107. mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  108. mapproxy/service/templates/demo/static/logo.png +0 -0
  109. mapproxy/service/templates/demo/static/ol.css +345 -0
  110. mapproxy/service/templates/demo/static/ol.js +4 -0
  111. mapproxy/service/templates/demo/static/proj4.min.js +1 -0
  112. mapproxy/service/templates/demo/static/proj4defs.js +1 -0
  113. mapproxy/service/templates/demo/static/site.css +137 -0
  114. mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  115. mapproxy/service/templates/demo/static/theme/default/google.css +17 -0
  116. mapproxy/service/templates/demo/static/theme/default/ie6-style.css +10 -0
  117. mapproxy/service/templates/demo/static/theme/default/style.css +482 -0
  118. mapproxy/service/templates/demo/static.html +34 -0
  119. mapproxy/service/templates/demo/tms_demo.html +103 -0
  120. mapproxy/service/templates/demo/wms_demo.html +140 -0
  121. mapproxy/service/templates/demo/wmts_demo.html +110 -0
  122. mapproxy/service/templates/tms_capabilities.xml +13 -0
  123. mapproxy/service/templates/tms_exception.xml +4 -0
  124. mapproxy/service/templates/tms_root_resource.xml +7 -0
  125. mapproxy/service/templates/tms_tilemap_capabilities.xml +14 -0
  126. mapproxy/service/templates/wms100capabilities.xml +112 -0
  127. mapproxy/service/templates/wms100exception.xml +4 -0
  128. mapproxy/service/templates/wms110capabilities.xml +152 -0
  129. mapproxy/service/templates/wms110exception.xml +5 -0
  130. mapproxy/service/templates/wms111capabilities.xml +183 -0
  131. mapproxy/service/templates/wms111exception.xml +5 -0
  132. mapproxy/service/templates/wms130capabilities.xml +326 -0
  133. mapproxy/service/templates/wms130exception.xml +8 -0
  134. mapproxy/service/templates/wmts100capabilities.xml +155 -0
  135. mapproxy/service/templates/wmts100exception.xml +9 -0
  136. mapproxy/service/tile.py +536 -0
  137. mapproxy/service/wms.py +851 -0
  138. mapproxy/service/wmts.py +381 -0
  139. mapproxy/source/__init__.py +75 -0
  140. mapproxy/source/arcgis.py +39 -0
  141. mapproxy/source/error.py +39 -0
  142. mapproxy/source/mapnik.py +259 -0
  143. mapproxy/source/tile.py +96 -0
  144. mapproxy/source/wms.py +270 -0
  145. mapproxy/srs.py +726 -0
  146. mapproxy/template.py +54 -0
  147. mapproxy/test/__init__.py +0 -0
  148. mapproxy/test/conftest.py +7 -0
  149. mapproxy/test/helper.py +247 -0
  150. mapproxy/test/http.py +494 -0
  151. mapproxy/test/image.py +210 -0
  152. mapproxy/test/mocker.py +2268 -0
  153. mapproxy/test/schemas/inspire/common/1.0/common.xsd +1461 -0
  154. mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +108 -0
  155. mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +108 -0
  156. mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +108 -0
  157. mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +108 -0
  158. mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +155 -0
  159. mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +108 -0
  160. mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +108 -0
  161. mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +108 -0
  162. mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +108 -0
  163. mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +109 -0
  164. mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +108 -0
  165. mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +108 -0
  166. mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +108 -0
  167. mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +108 -0
  168. mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +108 -0
  169. mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +108 -0
  170. mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +108 -0
  171. mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +108 -0
  172. mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +108 -0
  173. mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +108 -0
  174. mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +108 -0
  175. mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +108 -0
  176. mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +108 -0
  177. mapproxy/test/schemas/inspire/common/1.0/network.xsd +521 -0
  178. mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +19 -0
  179. mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +14 -0
  180. mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +66 -0
  181. mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +1646 -0
  182. mapproxy/test/schemas/kml/2.2.0/xAL.xsd +1680 -0
  183. mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +87 -0
  184. mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +235 -0
  185. mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +23 -0
  186. mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +157 -0
  187. mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +86 -0
  188. mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +127 -0
  189. mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +279 -0
  190. mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +76 -0
  191. mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +112 -0
  192. mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +51 -0
  193. mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +59 -0
  194. mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +125 -0
  195. mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +140 -0
  196. mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +60 -0
  197. mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +47 -0
  198. mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +27 -0
  199. mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +353 -0
  200. mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +188 -0
  201. mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +524 -0
  202. mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +260 -0
  203. mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +273 -0
  204. mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +303 -0
  205. mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +6 -0
  206. mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +33 -0
  207. mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +68 -0
  208. mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
  209. mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +274 -0
  210. mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +5 -0
  211. mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +276 -0
  212. mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +303 -0
  213. mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +6 -0
  214. mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +33 -0
  215. mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +8 -0
  216. mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +277 -0
  217. mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +611 -0
  218. mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +34 -0
  219. mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +28 -0
  220. mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +68 -0
  221. mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
  222. mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +283 -0
  223. mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +5 -0
  224. mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +276 -0
  225. mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +303 -0
  226. mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +6 -0
  227. mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +33 -0
  228. mapproxy/test/schemas/wmts/1.0/ReadMe.txt +32 -0
  229. mapproxy/test/schemas/wmts/1.0/wmts.xsd +28 -0
  230. mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +151 -0
  231. mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +38 -0
  232. mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +564 -0
  233. mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +57 -0
  234. mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +72 -0
  235. mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +91 -0
  236. mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +76 -0
  237. mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +70 -0
  238. mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +6 -0
  239. mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +122 -0
  240. mapproxy/test/schemas/xml.xsd +287 -0
  241. mapproxy/test/system/__init__.py +98 -0
  242. mapproxy/test/system/fixture/arcgis.yaml +57 -0
  243. mapproxy/test/system/fixture/auth.yaml +70 -0
  244. mapproxy/test/system/fixture/cache.mbtiles +0 -0
  245. mapproxy/test/system/fixture/cache_azureblob.yaml +59 -0
  246. mapproxy/test/system/fixture/cache_band_merge.yaml +73 -0
  247. mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +24 -0
  248. mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  249. mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  250. mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  251. mapproxy/test/system/fixture/cache_geopackage.yaml +56 -0
  252. mapproxy/test/system/fixture/cache_grid_names.yaml +50 -0
  253. mapproxy/test/system/fixture/cache_mbtiles.yaml +28 -0
  254. mapproxy/test/system/fixture/cache_s3.yaml +58 -0
  255. mapproxy/test/system/fixture/cache_source.yaml +81 -0
  256. mapproxy/test/system/fixture/combined_sources.yaml +130 -0
  257. mapproxy/test/system/fixture/coverage.yaml +77 -0
  258. mapproxy/test/system/fixture/demo.yaml +135 -0
  259. mapproxy/test/system/fixture/dimension.yaml +59 -0
  260. mapproxy/test/system/fixture/disable_storage.yaml +25 -0
  261. mapproxy/test/system/fixture/empty_ogrdata.geojson +1 -0
  262. mapproxy/test/system/fixture/formats.yaml +72 -0
  263. mapproxy/test/system/fixture/inspire.yaml +101 -0
  264. mapproxy/test/system/fixture/inspire_full.yaml +124 -0
  265. mapproxy/test/system/fixture/kml_layer.yaml +66 -0
  266. mapproxy/test/system/fixture/layer.yaml +260 -0
  267. mapproxy/test/system/fixture/layergroups.yaml +57 -0
  268. mapproxy/test/system/fixture/layergroups_root.yaml +106 -0
  269. mapproxy/test/system/fixture/legendgraphic.yaml +93 -0
  270. mapproxy/test/system/fixture/mapnik_source.yaml +66 -0
  271. mapproxy/test/system/fixture/mapproxy_export.yaml +12 -0
  272. mapproxy/test/system/fixture/mapserver.yaml +23 -0
  273. mapproxy/test/system/fixture/minimal_cgi.py +16 -0
  274. mapproxy/test/system/fixture/mixed_mode.yaml +49 -0
  275. mapproxy/test/system/fixture/multi_cache_layers.yaml +100 -0
  276. mapproxy/test/system/fixture/multiapp1.yaml +20 -0
  277. mapproxy/test/system/fixture/multiapp2.yaml +19 -0
  278. mapproxy/test/system/fixture/renderd_client.yaml +55 -0
  279. mapproxy/test/system/fixture/scalehints.yaml +70 -0
  280. mapproxy/test/system/fixture/seed.yaml +94 -0
  281. mapproxy/test/system/fixture/seed_mapproxy.yaml +39 -0
  282. mapproxy/test/system/fixture/seed_old.yaml +12 -0
  283. mapproxy/test/system/fixture/seed_timeouts.yaml +12 -0
  284. mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +27 -0
  285. mapproxy/test/system/fixture/seedonly.yaml +51 -0
  286. mapproxy/test/system/fixture/sld.yaml +35 -0
  287. mapproxy/test/system/fixture/source_errors.yaml +84 -0
  288. mapproxy/test/system/fixture/source_errors_raise.yaml +82 -0
  289. mapproxy/test/system/fixture/tileservice_origin.yaml +26 -0
  290. mapproxy/test/system/fixture/tileservice_refresh.yaml +59 -0
  291. mapproxy/test/system/fixture/tilesource_minmax_res.yaml +22 -0
  292. mapproxy/test/system/fixture/util-conf-base-grids.yaml +5 -0
  293. mapproxy/test/system/fixture/util-conf-overwrite.yaml +13 -0
  294. mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +90 -0
  295. mapproxy/test/system/fixture/util_grids.yaml +30 -0
  296. mapproxy/test/system/fixture/util_wms_capabilities111.xml +130 -0
  297. mapproxy/test/system/fixture/util_wms_capabilities130.xml +100 -0
  298. mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +5 -0
  299. mapproxy/test/system/fixture/watermark.yaml +50 -0
  300. mapproxy/test/system/fixture/wms_srs_extent.yaml +39 -0
  301. mapproxy/test/system/fixture/wms_versions.yaml +38 -0
  302. mapproxy/test/system/fixture/wmts.yaml +134 -0
  303. mapproxy/test/system/fixture/wmts_dimensions.yaml +57 -0
  304. mapproxy/test/system/fixture/xslt_featureinfo.yaml +54 -0
  305. mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +51 -0
  306. mapproxy/test/system/test_arcgis.py +156 -0
  307. mapproxy/test/system/test_auth.py +1134 -0
  308. mapproxy/test/system/test_behind_proxy.py +75 -0
  309. mapproxy/test/system/test_bulk_meta_tiles.py +106 -0
  310. mapproxy/test/system/test_cache_azureblob.py +127 -0
  311. mapproxy/test/system/test_cache_band_merge.py +103 -0
  312. mapproxy/test/system/test_cache_geopackage.py +144 -0
  313. mapproxy/test/system/test_cache_grid_names.py +89 -0
  314. mapproxy/test/system/test_cache_mbtiles.py +85 -0
  315. mapproxy/test/system/test_cache_s3.py +115 -0
  316. mapproxy/test/system/test_cache_source.py +146 -0
  317. mapproxy/test/system/test_combined_sources.py +335 -0
  318. mapproxy/test/system/test_coverage.py +140 -0
  319. mapproxy/test/system/test_decorate_img.py +214 -0
  320. mapproxy/test/system/test_demo.py +106 -0
  321. mapproxy/test/system/test_demo_with_extra_service.py +53 -0
  322. mapproxy/test/system/test_dimensions.py +278 -0
  323. mapproxy/test/system/test_disable_storage.py +42 -0
  324. mapproxy/test/system/test_formats.py +219 -0
  325. mapproxy/test/system/test_inspire_vs.py +173 -0
  326. mapproxy/test/system/test_kml.py +262 -0
  327. mapproxy/test/system/test_layergroups.py +160 -0
  328. mapproxy/test/system/test_legendgraphic.py +308 -0
  329. mapproxy/test/system/test_mapnik.py +161 -0
  330. mapproxy/test/system/test_mapserver.py +81 -0
  331. mapproxy/test/system/test_mixed_mode_format.py +195 -0
  332. mapproxy/test/system/test_multi_cache_layers.py +167 -0
  333. mapproxy/test/system/test_multiapp.py +92 -0
  334. mapproxy/test/system/test_refresh.py +207 -0
  335. mapproxy/test/system/test_renderd_client.py +304 -0
  336. mapproxy/test/system/test_response_headers.py +54 -0
  337. mapproxy/test/system/test_scalehints.py +140 -0
  338. mapproxy/test/system/test_seed.py +422 -0
  339. mapproxy/test/system/test_seed_only.py +93 -0
  340. mapproxy/test/system/test_sld.py +120 -0
  341. mapproxy/test/system/test_source_errors.py +377 -0
  342. mapproxy/test/system/test_tilesource_minmax_res.py +54 -0
  343. mapproxy/test/system/test_tms.py +276 -0
  344. mapproxy/test/system/test_tms_origin.py +46 -0
  345. mapproxy/test/system/test_util_conf.py +304 -0
  346. mapproxy/test/system/test_util_export.py +210 -0
  347. mapproxy/test/system/test_util_grids.py +88 -0
  348. mapproxy/test/system/test_util_wms_capabilities.py +182 -0
  349. mapproxy/test/system/test_watermark.py +91 -0
  350. mapproxy/test/system/test_wms.py +1611 -0
  351. mapproxy/test/system/test_wms_srs_extent.py +165 -0
  352. mapproxy/test/system/test_wms_version.py +85 -0
  353. mapproxy/test/system/test_wmsc.py +116 -0
  354. mapproxy/test/system/test_wmts.py +334 -0
  355. mapproxy/test/system/test_wmts_dimensions.py +206 -0
  356. mapproxy/test/system/test_wmts_restful.py +198 -0
  357. mapproxy/test/system/test_xslt_featureinfo.py +425 -0
  358. mapproxy/test/test_http_helper.py +219 -0
  359. mapproxy/test/unit/__init__.py +0 -0
  360. mapproxy/test/unit/epsg +2 -0
  361. mapproxy/test/unit/polygons/polygons.dbf +0 -0
  362. mapproxy/test/unit/polygons/polygons.shp +0 -0
  363. mapproxy/test/unit/polygons/polygons.shx +0 -0
  364. mapproxy/test/unit/test_async.py +245 -0
  365. mapproxy/test/unit/test_auth.py +419 -0
  366. mapproxy/test/unit/test_cache.py +1193 -0
  367. mapproxy/test/unit/test_cache_azureblob.py +94 -0
  368. mapproxy/test/unit/test_cache_compact.py +319 -0
  369. mapproxy/test/unit/test_cache_couchdb.py +114 -0
  370. mapproxy/test/unit/test_cache_geopackage.py +221 -0
  371. mapproxy/test/unit/test_cache_redis.py +67 -0
  372. mapproxy/test/unit/test_cache_riak.py +76 -0
  373. mapproxy/test/unit/test_cache_s3.py +84 -0
  374. mapproxy/test/unit/test_cache_tile.py +427 -0
  375. mapproxy/test/unit/test_client.py +479 -0
  376. mapproxy/test/unit/test_client_arcgis.py +73 -0
  377. mapproxy/test/unit/test_client_cgi.py +136 -0
  378. mapproxy/test/unit/test_collections.py +116 -0
  379. mapproxy/test/unit/test_concat_legends.py +37 -0
  380. mapproxy/test/unit/test_conf_loader.py +1061 -0
  381. mapproxy/test/unit/test_conf_validator.py +416 -0
  382. mapproxy/test/unit/test_config.py +117 -0
  383. mapproxy/test/unit/test_decorate_img.py +185 -0
  384. mapproxy/test/unit/test_exceptions.py +258 -0
  385. mapproxy/test/unit/test_featureinfo.py +291 -0
  386. mapproxy/test/unit/test_file_lock_load.py +49 -0
  387. mapproxy/test/unit/test_geom.py +503 -0
  388. mapproxy/test/unit/test_grid.py +1258 -0
  389. mapproxy/test/unit/test_image.py +1053 -0
  390. mapproxy/test/unit/test_image_mask.py +181 -0
  391. mapproxy/test/unit/test_image_messages.py +197 -0
  392. mapproxy/test/unit/test_image_options.py +160 -0
  393. mapproxy/test/unit/test_isodate.py +122 -0
  394. mapproxy/test/unit/test_multiapp.py +163 -0
  395. mapproxy/test/unit/test_ogr_reader.py +50 -0
  396. mapproxy/test/unit/test_request.py +745 -0
  397. mapproxy/test/unit/test_request_wmts.py +178 -0
  398. mapproxy/test/unit/test_response.py +79 -0
  399. mapproxy/test/unit/test_seed.py +365 -0
  400. mapproxy/test/unit/test_seed_cachelock.py +90 -0
  401. mapproxy/test/unit/test_srs.py +215 -0
  402. mapproxy/test/unit/test_tiled_source.py +122 -0
  403. mapproxy/test/unit/test_tilefilter.py +31 -0
  404. mapproxy/test/unit/test_times.py +25 -0
  405. mapproxy/test/unit/test_timeutils.py +50 -0
  406. mapproxy/test/unit/test_util_conf_utils.py +75 -0
  407. mapproxy/test/unit/test_utils.py +476 -0
  408. mapproxy/test/unit/test_wms_capabilities.py +44 -0
  409. mapproxy/test/unit/test_wms_layer.py +113 -0
  410. mapproxy/test/unit/test_yaml.py +69 -0
  411. mapproxy/tilefilter.py +59 -0
  412. mapproxy/util/__init__.py +0 -0
  413. mapproxy/util/async_.py +227 -0
  414. mapproxy/util/collections.py +132 -0
  415. mapproxy/util/coverage.py +329 -0
  416. mapproxy/util/escape.py +10 -0
  417. mapproxy/util/ext/__init__.py +14 -0
  418. mapproxy/util/ext/dictspec/__init__.py +1 -0
  419. mapproxy/util/ext/dictspec/spec.py +124 -0
  420. mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  421. mapproxy/util/ext/dictspec/test/test_validator.py +274 -0
  422. mapproxy/util/ext/dictspec/validator.py +189 -0
  423. mapproxy/util/ext/local.py +196 -0
  424. mapproxy/util/ext/lockfile.py +138 -0
  425. mapproxy/util/ext/odict.py +330 -0
  426. mapproxy/util/ext/serving.py +508 -0
  427. mapproxy/util/ext/tempita/__init__.py +1174 -0
  428. mapproxy/util/ext/tempita/_looper.py +163 -0
  429. mapproxy/util/ext/tempita/compat3.py +46 -0
  430. mapproxy/util/ext/wmsparse/__init__.py +3 -0
  431. mapproxy/util/ext/wmsparse/duration.py +597 -0
  432. mapproxy/util/ext/wmsparse/parse.py +305 -0
  433. mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  434. mapproxy/util/ext/wmsparse/test/test_parse.py +162 -0
  435. mapproxy/util/ext/wmsparse/test/test_util.py +23 -0
  436. mapproxy/util/ext/wmsparse/test/wms-large-111.xml +2114 -0
  437. mapproxy/util/ext/wmsparse/test/wms-omniscale-111.xml +90 -0
  438. mapproxy/util/ext/wmsparse/test/wms-omniscale-130.xml +120 -0
  439. mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +386 -0
  440. mapproxy/util/ext/wmsparse/util.py +187 -0
  441. mapproxy/util/fs.py +156 -0
  442. mapproxy/util/geom.py +295 -0
  443. mapproxy/util/lib.py +115 -0
  444. mapproxy/util/lock.py +163 -0
  445. mapproxy/util/ogr.py +231 -0
  446. mapproxy/util/py.py +81 -0
  447. mapproxy/util/times.py +75 -0
  448. mapproxy/util/yaml.py +56 -0
  449. mapproxy/version.py +31 -0
  450. mapproxy/wsgiapp.py +164 -0
  451. mapproxy-1.16.1.dist-info/METADATA +151 -0
  452. mapproxy-1.16.1.dist-info/RECORD +458 -0
  453. mapproxy-1.16.1.dist-info/WHEEL +5 -0
  454. mapproxy-1.16.1.dist-info/entry_points.txt +3 -0
  455. mapproxy-1.16.1.dist-info/licenses/AUTHORS.txt +33 -0
  456. mapproxy-1.16.1.dist-info/licenses/COPYING.txt +60 -0
  457. mapproxy-1.16.1.dist-info/licenses/LICENSE.txt +202 -0
  458. mapproxy-1.16.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,611 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/wms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wms="http://www.opengis.net/wms" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3
+ <import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../xlink/1.0.0/xlinks.xsd"/>
4
+ <!-- ********************************************************************* -->
5
+ <!-- ** The Top-Level Element. ** -->
6
+ <!-- ********************************************************************* -->
7
+ <element name="WMS_Capabilities">
8
+ <annotation>
9
+ <documentation>
10
+ A WMS_Capabilities document is returned in response to a
11
+ GetCapabilities request made on a WMS.
12
+ </documentation>
13
+ </annotation>
14
+ <complexType>
15
+ <sequence>
16
+ <element ref="wms:Service"/>
17
+ <element ref="wms:Capability"/>
18
+ </sequence>
19
+ <attribute name="version" type="string" fixed="1.3.0"/>
20
+ <attribute name="updateSequence" type="string"/>
21
+ </complexType>
22
+ </element>
23
+ <!-- ********************************************************************* -->
24
+ <!-- ** Elements Used In Multiple Places. ** -->
25
+ <!-- ********************************************************************* -->
26
+ <element name="Name" type="string">
27
+ <annotation>
28
+ <documentation>
29
+ The Name is typically for machine-to-machine communication.
30
+ </documentation>
31
+ </annotation>
32
+ </element>
33
+ <element name="Title" type="string">
34
+ <annotation>
35
+ <documentation>
36
+ The Title is for informative display to a human.
37
+ </documentation>
38
+ </annotation>
39
+ </element>
40
+ <element name="Abstract" type="string">
41
+ <annotation>
42
+ <documentation>
43
+ The abstract is a longer narrative description of an object.
44
+ </documentation>
45
+ </annotation>
46
+ </element>
47
+ <element name="KeywordList">
48
+ <annotation>
49
+ <documentation>
50
+ List of keywords or keyword phrases to help catalog searching.
51
+ </documentation>
52
+ </annotation>
53
+ <complexType>
54
+ <sequence>
55
+ <element ref="wms:Keyword" minOccurs="0" maxOccurs="unbounded"/>
56
+ </sequence>
57
+ </complexType>
58
+ </element>
59
+ <element name="Keyword">
60
+ <annotation>
61
+ <documentation>
62
+ A single keyword or phrase.
63
+ </documentation>
64
+ </annotation>
65
+ <complexType>
66
+ <simpleContent>
67
+ <extension base="string">
68
+ <attribute name="vocabulary" type="string"/>
69
+ </extension>
70
+ </simpleContent>
71
+ </complexType>
72
+ </element>
73
+ <element name="OnlineResource">
74
+ <annotation>
75
+ <documentation>
76
+ An OnlineResource is typically an HTTP URL. The URL is placed in
77
+ the xlink:href attribute, and the value "simple" is placed in the
78
+ xlink:type attribute.
79
+ </documentation>
80
+ </annotation>
81
+ <complexType>
82
+ <attributeGroup ref="xlink:simpleLink"/>
83
+ </complexType>
84
+ </element>
85
+ <element name="Format" type="string">
86
+ <annotation>
87
+ <documentation>
88
+ A container for listing an available format's MIME type.
89
+ </documentation>
90
+ </annotation>
91
+ </element>
92
+ <!-- ********************************************************************* -->
93
+ <!-- ** General Service Metadata. ** -->
94
+ <!-- ********************************************************************* -->
95
+ <element name="Service">
96
+ <annotation>
97
+ <documentation>
98
+ General service metadata.
99
+ </documentation>
100
+ </annotation>
101
+ <complexType>
102
+ <sequence>
103
+ <element name="Name">
104
+ <simpleType>
105
+ <restriction base="string">
106
+ <enumeration value="WMS"/>
107
+ </restriction>
108
+ </simpleType>
109
+ </element>
110
+ <element ref="wms:Title"/>
111
+ <element ref="wms:Abstract" minOccurs="0"/>
112
+ <element ref="wms:KeywordList" minOccurs="0"/>
113
+ <element ref="wms:OnlineResource"/>
114
+ <element ref="wms:ContactInformation" minOccurs="0"/>
115
+ <element ref="wms:Fees" minOccurs="0"/>
116
+ <element ref="wms:AccessConstraints" minOccurs="0"/>
117
+ <element ref="wms:LayerLimit" minOccurs="0"/>
118
+ <element ref="wms:MaxWidth" minOccurs="0"/>
119
+ <element ref="wms:MaxHeight" minOccurs="0"/>
120
+ </sequence>
121
+ </complexType>
122
+ </element>
123
+ <element name="ContactInformation">
124
+ <annotation>
125
+ <documentation>
126
+ Information about a contact person for the service.
127
+ </documentation>
128
+ </annotation>
129
+ <complexType>
130
+ <sequence>
131
+ <element ref="wms:ContactPersonPrimary" minOccurs="0"/>
132
+ <element ref="wms:ContactPosition" minOccurs="0"/>
133
+ <element ref="wms:ContactAddress" minOccurs="0"/>
134
+ <element ref="wms:ContactVoiceTelephone" minOccurs="0"/>
135
+ <element ref="wms:ContactFacsimileTelephone" minOccurs="0"/>
136
+ <element ref="wms:ContactElectronicMailAddress" minOccurs="0"/>
137
+ </sequence>
138
+ </complexType>
139
+ </element>
140
+ <element name="ContactPersonPrimary">
141
+ <complexType>
142
+ <sequence>
143
+ <element ref="wms:ContactPerson"/>
144
+ <element ref="wms:ContactOrganization"/>
145
+ </sequence>
146
+ </complexType>
147
+ </element>
148
+ <element name="ContactPerson" type="string"/>
149
+ <element name="ContactOrganization" type="string"/>
150
+ <element name="ContactPosition" type="string"/>
151
+ <element name="ContactAddress">
152
+ <complexType>
153
+ <sequence>
154
+ <element ref="wms:AddressType"/>
155
+ <element ref="wms:Address"/>
156
+ <element ref="wms:City"/>
157
+ <element ref="wms:StateOrProvince"/>
158
+ <element ref="wms:PostCode"/>
159
+ <element ref="wms:Country"/>
160
+ </sequence>
161
+ </complexType>
162
+ </element>
163
+ <element name="AddressType" type="string"/>
164
+ <element name="Address" type="string"/>
165
+ <element name="City" type="string"/>
166
+ <element name="StateOrProvince" type="string"/>
167
+ <element name="PostCode" type="string"/>
168
+ <element name="Country" type="string"/>
169
+ <element name="ContactVoiceTelephone" type="string"/>
170
+ <element name="ContactFacsimileTelephone" type="string"/>
171
+ <element name="ContactElectronicMailAddress" type="string"/>
172
+ <element name="Fees" type="string"/>
173
+ <element name="AccessConstraints" type="string"/>
174
+ <element name="LayerLimit" type="positiveInteger"/>
175
+ <element name="MaxWidth" type="positiveInteger"/>
176
+ <element name="MaxHeight" type="positiveInteger"/>
177
+ <!-- ********************************************************************* -->
178
+ <!-- ** The Capability Element. ** -->
179
+ <!-- ********************************************************************* -->
180
+ <element name="Capability">
181
+ <annotation>
182
+ <documentation>
183
+ A Capability lists available request types, how exceptions may be
184
+ reported, and whether any extended capabilities are defined.
185
+ It also includes an optional list of map layers available from this
186
+ server.
187
+ </documentation>
188
+ </annotation>
189
+ <complexType>
190
+ <sequence>
191
+ <element ref="wms:Request"/>
192
+ <element ref="wms:Exception"/>
193
+ <element ref="wms:_ExtendedCapabilities" minOccurs="0" maxOccurs="unbounded"/>
194
+ <element ref="wms:Layer" minOccurs="0"/>
195
+ </sequence>
196
+ </complexType>
197
+ </element>
198
+ <!-- ********************************************************************* -->
199
+ <!-- ** The Request Element. ** -->
200
+ <!-- ********************************************************************* -->
201
+ <element name="Request">
202
+ <annotation>
203
+ <documentation>
204
+ Available WMS Operations are listed in a Request element.
205
+ </documentation>
206
+ </annotation>
207
+ <complexType>
208
+ <sequence>
209
+ <element ref="wms:GetCapabilities"/>
210
+ <element ref="wms:GetMap"/>
211
+ <element ref="wms:GetFeatureInfo" minOccurs="0"/>
212
+ <element ref="wms:_ExtendedOperation" minOccurs="0" maxOccurs="unbounded"/>
213
+ </sequence>
214
+ </complexType>
215
+ </element>
216
+ <element name="GetCapabilities" type="wms:OperationType"/>
217
+ <element name="GetMap" type="wms:OperationType"/>
218
+ <element name="GetFeatureInfo" type="wms:OperationType"/>
219
+ <element name="_ExtendedOperation" type="wms:OperationType" abstract="true"/>
220
+ <complexType name="OperationType">
221
+ <annotation>
222
+ <documentation>
223
+ For each operation offered by the server, list the available output
224
+ formats and the online resource.
225
+ </documentation>
226
+ </annotation>
227
+ <sequence>
228
+ <element ref="wms:Format" maxOccurs="unbounded"/>
229
+ <element ref="wms:DCPType" maxOccurs="unbounded"/>
230
+ </sequence>
231
+ </complexType>
232
+ <element name="DCPType">
233
+ <annotation>
234
+ <documentation>
235
+ Available Distributed Computing Platforms (DCPs) are listed here.
236
+ At present, only HTTP is defined.
237
+ </documentation>
238
+ </annotation>
239
+ <complexType>
240
+ <sequence>
241
+ <element ref="wms:HTTP"/>
242
+ </sequence>
243
+ </complexType>
244
+ </element>
245
+ <element name="HTTP">
246
+ <annotation>
247
+ <documentation>
248
+ Available HTTP request methods. At least "Get" shall be supported.
249
+ </documentation>
250
+ </annotation>
251
+ <complexType>
252
+ <sequence>
253
+ <element ref="wms:Get"/>
254
+ <element ref="wms:Post" minOccurs="0"/>
255
+ </sequence>
256
+ </complexType>
257
+ </element>
258
+ <element name="Get">
259
+ <annotation>
260
+ <documentation>
261
+ The URL prefix for the HTTP "Get" request method.
262
+ </documentation>
263
+ </annotation>
264
+ <complexType>
265
+ <sequence>
266
+ <element ref="wms:OnlineResource"/>
267
+ </sequence>
268
+ </complexType>
269
+ </element>
270
+ <element name="Post">
271
+ <annotation>
272
+ <documentation>
273
+ The URL prefix for the HTTP "Post" request method.
274
+ </documentation>
275
+ </annotation>
276
+ <complexType>
277
+ <sequence>
278
+ <element ref="wms:OnlineResource"/>
279
+ </sequence>
280
+ </complexType>
281
+ </element>
282
+ <!-- ********************************************************************* -->
283
+ <!-- ** The Exception Element. ** -->
284
+ <!-- ********************************************************************* -->
285
+ <element name="Exception">
286
+ <annotation>
287
+ <documentation>
288
+ An Exception element indicates which error-reporting formats are
289
+ supported.
290
+ </documentation>
291
+ </annotation>
292
+ <complexType>
293
+ <sequence>
294
+ <element ref="wms:Format" maxOccurs="unbounded"/>
295
+ </sequence>
296
+ </complexType>
297
+ </element>
298
+ <!-- ********************************************************************* -->
299
+ <!-- ** Extended Capabilities. ** -->
300
+ <!-- ********************************************************************* -->
301
+ <element name="_ExtendedCapabilities" abstract="true">
302
+ <annotation>
303
+ <documentation>
304
+ Individual service providers may use this element to report extended
305
+ capabilities.
306
+ </documentation>
307
+ </annotation>
308
+ </element>
309
+ <!-- ********************************************************************* -->
310
+ <!-- ** The Layer Element. ** -->
311
+ <!-- ********************************************************************* -->
312
+ <element name="Layer">
313
+ <annotation>
314
+ <documentation>
315
+ Nested list of zero or more map Layers offered by this server.
316
+ </documentation>
317
+ </annotation>
318
+ <complexType>
319
+ <sequence>
320
+ <element ref="wms:Name" minOccurs="0"/>
321
+ <element ref="wms:Title"/>
322
+ <element ref="wms:Abstract" minOccurs="0"/>
323
+ <element ref="wms:KeywordList" minOccurs="0"/>
324
+ <element ref="wms:CRS" minOccurs="0" maxOccurs="unbounded"/>
325
+ <element ref="wms:EX_GeographicBoundingBox" minOccurs="0"/>
326
+ <element ref="wms:BoundingBox" minOccurs="0" maxOccurs="unbounded"/>
327
+ <element ref="wms:Dimension" minOccurs="0" maxOccurs="unbounded"/>
328
+ <element ref="wms:Attribution" minOccurs="0"/>
329
+ <element ref="wms:AuthorityURL" minOccurs="0" maxOccurs="unbounded"/>
330
+ <element ref="wms:Identifier" minOccurs="0" maxOccurs="unbounded"/>
331
+ <element ref="wms:MetadataURL" minOccurs="0" maxOccurs="unbounded"/>
332
+ <element ref="wms:DataURL" minOccurs="0" maxOccurs="unbounded"/>
333
+ <element ref="wms:FeatureListURL" minOccurs="0" maxOccurs="unbounded"/>
334
+ <element ref="wms:Style" minOccurs="0" maxOccurs="unbounded"/>
335
+ <element ref="wms:MinScaleDenominator" minOccurs="0"/>
336
+ <element ref="wms:MaxScaleDenominator" minOccurs="0"/>
337
+ <element ref="wms:Layer" minOccurs="0" maxOccurs="unbounded"/>
338
+ </sequence>
339
+ <attribute name="queryable" type="boolean" default="0"/>
340
+ <attribute name="cascaded" type="nonNegativeInteger"/>
341
+ <attribute name="opaque" type="boolean" default="0"/>
342
+ <attribute name="noSubsets" type="boolean" default="0"/>
343
+ <attribute name="fixedWidth" type="nonNegativeInteger"/>
344
+ <attribute name="fixedHeight" type="nonNegativeInteger"/>
345
+ </complexType>
346
+ </element>
347
+ <element name="CRS" type="string">
348
+ <annotation>
349
+ <documentation>
350
+ Identifier for a single Coordinate Reference System (CRS).
351
+ </documentation>
352
+ </annotation>
353
+ </element>
354
+ <element name="EX_GeographicBoundingBox">
355
+ <annotation>
356
+ <documentation>
357
+ The EX_GeographicBoundingBox attributes indicate the limits of the enclosing
358
+ rectangle in longitude and latitude decimal degrees.
359
+ </documentation>
360
+ </annotation>
361
+ <complexType>
362
+ <sequence>
363
+ <element name="westBoundLongitude" type="wms:longitudeType"/>
364
+ <element name="eastBoundLongitude" type="wms:longitudeType"/>
365
+ <element name="southBoundLatitude" type="wms:latitudeType"/>
366
+ <element name="northBoundLatitude" type="wms:latitudeType"/>
367
+ </sequence>
368
+ </complexType>
369
+ </element>
370
+ <element name="BoundingBox">
371
+ <annotation>
372
+ <documentation>
373
+ The BoundingBox attributes indicate the limits of the bounding box
374
+ in units of the specified coordinate reference system.
375
+ </documentation>
376
+ </annotation>
377
+ <complexType>
378
+ <attribute name="CRS" type="string" use="required"/>
379
+ <attribute name="minx" type="double" use="required"/>
380
+ <attribute name="miny" type="double" use="required"/>
381
+ <attribute name="maxx" type="double" use="required"/>
382
+ <attribute name="maxy" type="double" use="required"/>
383
+ <attribute name="resx" type="double"/>
384
+ <attribute name="resy" type="double"/>
385
+ </complexType>
386
+ </element>
387
+ <element name="Dimension">
388
+ <annotation>
389
+ <documentation>
390
+ The Dimension element declares the existence of a dimension and indicates what
391
+ values along a dimension are valid.
392
+ </documentation>
393
+ </annotation>
394
+ <complexType>
395
+ <simpleContent>
396
+ <extension base="string">
397
+ <attribute name="name" type="string" use="required"/>
398
+ <attribute name="units" type="string" use="required"/>
399
+ <attribute name="unitSymbol" type="string"/>
400
+ <attribute name="default" type="string"/>
401
+ <attribute name="multipleValues" type="boolean"/>
402
+ <attribute name="nearestValue" type="boolean"/>
403
+ <attribute name="current" type="boolean"/>
404
+ </extension>
405
+ </simpleContent>
406
+ </complexType>
407
+ </element>
408
+ <element name="Attribution">
409
+ <annotation>
410
+ <documentation>
411
+ Attribution indicates the provider of a Layer or collection of Layers.
412
+ The provider's URL, descriptive title string, and/or logo image URL
413
+ may be supplied. Client applications may choose to display one or
414
+ more of these items. A format element indicates the MIME type of
415
+ the logo image located at LogoURL. The logo image's width and height
416
+ assist client applications in laying out space to display the logo.
417
+ </documentation>
418
+ </annotation>
419
+ <complexType>
420
+ <sequence>
421
+ <element ref="wms:Title" minOccurs="0"/>
422
+ <element ref="wms:OnlineResource" minOccurs="0"/>
423
+ <element ref="wms:LogoURL" minOccurs="0"/>
424
+ </sequence>
425
+ </complexType>
426
+ </element>
427
+ <element name="LogoURL">
428
+ <complexType>
429
+ <sequence>
430
+ <element ref="wms:Format"/>
431
+ <element ref="wms:OnlineResource"/>
432
+ </sequence>
433
+ <attribute name="width" type="positiveInteger"/>
434
+ <attribute name="height" type="positiveInteger"/>
435
+ </complexType>
436
+ </element>
437
+ <element name="MetadataURL">
438
+ <annotation>
439
+ <documentation>
440
+ A Map Server may use zero or more MetadataURL elements to offer
441
+ detailed, standardized metadata about the data underneath a
442
+ particular layer. The type attribute indicates the standard to which
443
+ the metadata complies. The format element indicates how the metadata is structured.
444
+ </documentation>
445
+ </annotation>
446
+ <complexType>
447
+ <sequence>
448
+ <element ref="wms:Format"/>
449
+ <element ref="wms:OnlineResource"/>
450
+ </sequence>
451
+ <attribute name="type" type="NMTOKEN" use="required"/>
452
+ </complexType>
453
+ </element>
454
+ <element name="AuthorityURL">
455
+ <annotation>
456
+ <documentation>
457
+ A Map Server may use zero or more Identifier elements to list ID
458
+ numbers or labels defined by a particular Authority. For example,
459
+ the Global Change Master Directory (gcmd.gsfc.nasa.gov) defines a
460
+ DIF_ID label for every dataset. The authority name and explanatory
461
+ URL are defined in a separate AuthorityURL element, which may be
462
+ defined once and inherited by subsidiary layers. Identifiers
463
+ themselves are not inherited.
464
+ </documentation>
465
+ </annotation>
466
+ <complexType>
467
+ <sequence>
468
+ <element ref="wms:OnlineResource"/>
469
+ </sequence>
470
+ <attribute name="name" type="NMTOKEN" use="required"/>
471
+ </complexType>
472
+ </element>
473
+ <element name="Identifier">
474
+ <complexType>
475
+ <simpleContent>
476
+ <extension base="string">
477
+ <attribute name="authority" type="string" use="required"/>
478
+ </extension>
479
+ </simpleContent>
480
+ </complexType>
481
+ </element>
482
+ <element name="DataURL">
483
+ <annotation>
484
+ <documentation>
485
+ A Map Server may use DataURL offer a link to the underlying data represented
486
+ by a particular layer.
487
+ </documentation>
488
+ </annotation>
489
+ <complexType>
490
+ <sequence>
491
+ <element ref="wms:Format"/>
492
+ <element ref="wms:OnlineResource"/>
493
+ </sequence>
494
+ </complexType>
495
+ </element>
496
+ <element name="FeatureListURL">
497
+ <annotation>
498
+ <documentation>
499
+ A Map Server may use FeatureListURL to point to a list of the
500
+ features represented in a Layer.
501
+ </documentation>
502
+ </annotation>
503
+ <complexType>
504
+ <sequence>
505
+ <element ref="wms:Format"/>
506
+ <element ref="wms:OnlineResource"/>
507
+ </sequence>
508
+ </complexType>
509
+ </element>
510
+ <element name="Style">
511
+ <annotation>
512
+ <documentation>
513
+ A Style element lists the name by which a style is requested and a
514
+ human-readable title for pick lists, optionally (and ideally)
515
+ provides a human-readable description, and optionally gives a style
516
+ URL.
517
+ </documentation>
518
+ </annotation>
519
+ <complexType>
520
+ <sequence>
521
+ <element ref="wms:Name"/>
522
+ <element ref="wms:Title"/>
523
+ <element ref="wms:Abstract" minOccurs="0"/>
524
+ <element ref="wms:LegendURL" minOccurs="0" maxOccurs="unbounded"/>
525
+ <element ref="wms:StyleSheetURL" minOccurs="0"/>
526
+ <element ref="wms:StyleURL" minOccurs="0"/>
527
+ </sequence>
528
+ </complexType>
529
+ </element>
530
+ <element name="LegendURL">
531
+ <annotation>
532
+ <documentation>
533
+ A Map Server may use zero or more LegendURL elements to provide an
534
+ image(s) of a legend relevant to each Style of a Layer. The Format
535
+ element indicates the MIME type of the legend. Width and height
536
+ attributes may be provided to assist client applications in laying out
537
+ space to display the legend.
538
+ </documentation>
539
+ </annotation>
540
+ <complexType>
541
+ <sequence>
542
+ <element ref="wms:Format"/>
543
+ <element ref="wms:OnlineResource"/>
544
+ </sequence>
545
+ <attribute name="width" type="positiveInteger"/>
546
+ <attribute name="height" type="positiveInteger"/>
547
+ </complexType>
548
+ </element>
549
+ <element name="StyleSheetURL">
550
+ <annotation>
551
+ <documentation>
552
+ StyleSheeetURL provides symbology information for each Style of a Layer.
553
+ </documentation>
554
+ </annotation>
555
+ <complexType>
556
+ <sequence>
557
+ <element ref="wms:Format"/>
558
+ <element ref="wms:OnlineResource"/>
559
+ </sequence>
560
+ </complexType>
561
+ </element>
562
+ <element name="StyleURL">
563
+ <annotation>
564
+ <documentation>
565
+ A Map Server may use StyleURL to offer more information about the
566
+ data or symbology underlying a particular Style. While the semantics
567
+ are not well-defined, as long as the results of an HTTP GET request
568
+ against the StyleURL are properly MIME-typed, Viewer Clients and
569
+ Cascading Map Servers can make use of this. A possible use could be
570
+ to allow a Map Server to provide legend information.
571
+ </documentation>
572
+ </annotation>
573
+ <complexType>
574
+ <sequence>
575
+ <element ref="wms:Format"/>
576
+ <element ref="wms:OnlineResource"/>
577
+ </sequence>
578
+ </complexType>
579
+ </element>
580
+ <element name="MinScaleDenominator" type="double">
581
+ <annotation>
582
+ <documentation>
583
+ Minimum scale denominator for which it is appropriate to
584
+ display this layer.
585
+ </documentation>
586
+ </annotation>
587
+ </element>
588
+ <element name="MaxScaleDenominator" type="double">
589
+ <annotation>
590
+ <documentation>
591
+ Maximum scale denominator for which it is appropriate to
592
+ display this layer.
593
+ </documentation>
594
+ </annotation>
595
+ </element>
596
+ <!-- ********************************************************************* -->
597
+ <!-- ** Type Definitions. ** -->
598
+ <!-- ********************************************************************* -->
599
+ <simpleType name="longitudeType">
600
+ <restriction base="double">
601
+ <minInclusive value="-180"/>
602
+ <maxInclusive value="180"/>
603
+ </restriction>
604
+ </simpleType>
605
+ <simpleType name="latitudeType">
606
+ <restriction base="double">
607
+ <minInclusive value="-90"/>
608
+ <maxInclusive value="90"/>
609
+ </restriction>
610
+ </simpleType>
611
+ </schema>
@@ -0,0 +1,34 @@
1
+ <?xml version='1.0' encoding="UTF-8"?>
2
+ <ServiceExceptionReport version="1.3.0"
3
+ xmlns="http://www.opengis.net/ogc"
4
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
+ xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd">
6
+ <ServiceException>
7
+ Plain text message about an error.
8
+ </ServiceException>
9
+ <ServiceException code="InvalidUpdateSequence">
10
+ Another error message, this one with a service exception code supplied.
11
+ </ServiceException>
12
+ <ServiceException>
13
+ <![CDATA[
14
+ Error in module <foo.c>, line 42
15
+
16
+ A message that includes angle brackets in text
17
+ must be enclosed in a Character Data Section
18
+ as in this example. All XML-like markup is
19
+ ignored except for this sequence of three
20
+ closing characters:
21
+ ]]>
22
+ </ServiceException>
23
+ <ServiceException>
24
+ <![CDATA[
25
+ <Module>foo.c</Module>
26
+ <Error>An error occurred</Error>
27
+ <Explanation>Similarly, actual XML
28
+ can be enclosed in a CDATA section.
29
+ A generic parser will ignore that XML,
30
+ but application-specific software may choose
31
+ to process it.</Explanation>
32
+ ]]>
33
+ </ServiceException>
34
+ </ServiceExceptionReport>
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <xsd:schema
4
+ targetNamespace="http://www.opengis.net/ogc"
5
+ xmlns:ogc="http://www.opengis.net/ogc"
6
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7
+ elementFormDefault="qualified">
8
+
9
+ <xsd:element name="ServiceExceptionReport">
10
+ <xsd:complexType>
11
+ <xsd:sequence>
12
+ <xsd:element name="ServiceException"
13
+ type="ogc:ServiceExceptionType"
14
+ minOccurs="0" maxOccurs="unbounded"/>
15
+ </xsd:sequence>
16
+ <xsd:attribute name="version" type="xsd:string" fixed="1.3.0"/>
17
+ </xsd:complexType>
18
+ </xsd:element>
19
+
20
+ <xsd:complexType name="ServiceExceptionType">
21
+ <xsd:simpleContent>
22
+ <xsd:extension base="xsd:string">
23
+ <xsd:attribute name="code" type="xsd:string"/>
24
+ <xsd:attribute name="locator" type="xsd:string"/>
25
+ </xsd:extension>
26
+ </xsd:simpleContent>
27
+ </xsd:complexType>
28
+ </xsd:schema>