MapProxy 2.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. MapProxy-2.1.0.dist-info/AUTHORS.txt +33 -0
  2. MapProxy-2.1.0.dist-info/COPYING.txt +60 -0
  3. MapProxy-2.1.0.dist-info/LICENSE.txt +202 -0
  4. MapProxy-2.1.0.dist-info/METADATA +165 -0
  5. MapProxy-2.1.0.dist-info/RECORD +459 -0
  6. MapProxy-2.1.0.dist-info/WHEEL +5 -0
  7. MapProxy-2.1.0.dist-info/entry_points.txt +4 -0
  8. MapProxy-2.1.0.dist-info/top_level.txt +1 -0
  9. mapproxy/__init__.py +0 -0
  10. mapproxy/cache/__init__.py +36 -0
  11. mapproxy/cache/azureblob.py +145 -0
  12. mapproxy/cache/base.py +120 -0
  13. mapproxy/cache/compact.py +665 -0
  14. mapproxy/cache/couchdb.py +301 -0
  15. mapproxy/cache/dummy.py +36 -0
  16. mapproxy/cache/file.py +200 -0
  17. mapproxy/cache/geopackage.py +647 -0
  18. mapproxy/cache/legend.py +87 -0
  19. mapproxy/cache/mbtiles.py +411 -0
  20. mapproxy/cache/meta.py +80 -0
  21. mapproxy/cache/path.py +261 -0
  22. mapproxy/cache/redis.py +152 -0
  23. mapproxy/cache/renderd.py +100 -0
  24. mapproxy/cache/riak.py +206 -0
  25. mapproxy/cache/s3.py +209 -0
  26. mapproxy/cache/tile.py +736 -0
  27. mapproxy/client/__init__.py +0 -0
  28. mapproxy/client/arcgis.py +82 -0
  29. mapproxy/client/cgi.py +141 -0
  30. mapproxy/client/http.py +295 -0
  31. mapproxy/client/log.py +33 -0
  32. mapproxy/client/tile.py +158 -0
  33. mapproxy/client/wms.py +255 -0
  34. mapproxy/compat/__init__.py +0 -0
  35. mapproxy/compat/image.py +86 -0
  36. mapproxy/config/__init__.py +22 -0
  37. mapproxy/config/config-schema.json +813 -0
  38. mapproxy/config/config.py +213 -0
  39. mapproxy/config/coverage.py +108 -0
  40. mapproxy/config/defaults.py +102 -0
  41. mapproxy/config/loader.py +2399 -0
  42. mapproxy/config/spec.py +657 -0
  43. mapproxy/config/validator.py +242 -0
  44. mapproxy/config_template/__init__.py +0 -0
  45. mapproxy/config_template/base_config/config.wsgi +10 -0
  46. mapproxy/config_template/base_config/full_example.yaml +598 -0
  47. mapproxy/config_template/base_config/full_seed_example.yaml +79 -0
  48. mapproxy/config_template/base_config/log.ini +35 -0
  49. mapproxy/config_template/base_config/mapproxy.yaml +60 -0
  50. mapproxy/config_template/base_config/seed.yaml +27 -0
  51. mapproxy/exception.py +149 -0
  52. mapproxy/featureinfo.py +251 -0
  53. mapproxy/grid.py +1199 -0
  54. mapproxy/image/__init__.py +549 -0
  55. mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  56. mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  57. mapproxy/image/fonts/LICENSE +99 -0
  58. mapproxy/image/fonts/__init__.py +0 -0
  59. mapproxy/image/mask.py +79 -0
  60. mapproxy/image/merge.py +323 -0
  61. mapproxy/image/message.py +357 -0
  62. mapproxy/image/opts.py +185 -0
  63. mapproxy/image/tile.py +171 -0
  64. mapproxy/image/transform.py +350 -0
  65. mapproxy/layer.py +489 -0
  66. mapproxy/multiapp.py +230 -0
  67. mapproxy/proj.py +309 -0
  68. mapproxy/request/__init__.py +18 -0
  69. mapproxy/request/arcgis.py +268 -0
  70. mapproxy/request/base.py +466 -0
  71. mapproxy/request/tile.py +131 -0
  72. mapproxy/request/wms/__init__.py +829 -0
  73. mapproxy/request/wms/exception.py +107 -0
  74. mapproxy/request/wmts.py +442 -0
  75. mapproxy/response.py +237 -0
  76. mapproxy/script/__init__.py +0 -0
  77. mapproxy/script/conf/__init__.py +0 -0
  78. mapproxy/script/conf/app.py +222 -0
  79. mapproxy/script/conf/caches.py +44 -0
  80. mapproxy/script/conf/geopackage.py +136 -0
  81. mapproxy/script/conf/layers.py +54 -0
  82. mapproxy/script/conf/seeds.py +36 -0
  83. mapproxy/script/conf/sources.py +88 -0
  84. mapproxy/script/conf/utils.py +148 -0
  85. mapproxy/script/defrag.py +187 -0
  86. mapproxy/script/export.py +337 -0
  87. mapproxy/script/grids.py +198 -0
  88. mapproxy/script/scales.py +134 -0
  89. mapproxy/script/util.py +410 -0
  90. mapproxy/script/wms_capabilities.py +160 -0
  91. mapproxy/seed/__init__.py +0 -0
  92. mapproxy/seed/cachelock.py +127 -0
  93. mapproxy/seed/cleanup.py +191 -0
  94. mapproxy/seed/config.py +481 -0
  95. mapproxy/seed/script.py +391 -0
  96. mapproxy/seed/seeder.py +551 -0
  97. mapproxy/seed/spec.py +66 -0
  98. mapproxy/seed/util.py +266 -0
  99. mapproxy/service/__init__.py +14 -0
  100. mapproxy/service/base.py +45 -0
  101. mapproxy/service/demo.py +364 -0
  102. mapproxy/service/kml.py +333 -0
  103. mapproxy/service/ows.py +39 -0
  104. mapproxy/service/template_helper.py +55 -0
  105. mapproxy/service/templates/demo/capabilities_demo.html +18 -0
  106. mapproxy/service/templates/demo/demo.html +181 -0
  107. mapproxy/service/templates/demo/openlayers-demo.cfg +16 -0
  108. mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  109. mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  110. mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  111. mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  112. mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  113. mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  114. mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  115. mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  116. mapproxy/service/templates/demo/static/logo.png +0 -0
  117. mapproxy/service/templates/demo/static/ol.css +345 -0
  118. mapproxy/service/templates/demo/static/ol.js +4 -0
  119. mapproxy/service/templates/demo/static/proj4.min.js +1 -0
  120. mapproxy/service/templates/demo/static/proj4defs.js +1 -0
  121. mapproxy/service/templates/demo/static/site.css +137 -0
  122. mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  123. mapproxy/service/templates/demo/static/theme/default/google.css +17 -0
  124. mapproxy/service/templates/demo/static/theme/default/ie6-style.css +10 -0
  125. mapproxy/service/templates/demo/static/theme/default/style.css +482 -0
  126. mapproxy/service/templates/demo/static.html +34 -0
  127. mapproxy/service/templates/demo/tms_demo.html +117 -0
  128. mapproxy/service/templates/demo/wms_demo.html +144 -0
  129. mapproxy/service/templates/demo/wmts_demo.html +118 -0
  130. mapproxy/service/templates/tms_capabilities.xml +13 -0
  131. mapproxy/service/templates/tms_exception.xml +4 -0
  132. mapproxy/service/templates/tms_root_resource.xml +7 -0
  133. mapproxy/service/templates/tms_tilemap_capabilities.xml +14 -0
  134. mapproxy/service/templates/wms100capabilities.xml +112 -0
  135. mapproxy/service/templates/wms100exception.xml +4 -0
  136. mapproxy/service/templates/wms110capabilities.xml +152 -0
  137. mapproxy/service/templates/wms110exception.xml +5 -0
  138. mapproxy/service/templates/wms111capabilities.xml +183 -0
  139. mapproxy/service/templates/wms111exception.xml +5 -0
  140. mapproxy/service/templates/wms130capabilities.xml +326 -0
  141. mapproxy/service/templates/wms130exception.xml +8 -0
  142. mapproxy/service/templates/wmts100capabilities.xml +155 -0
  143. mapproxy/service/templates/wmts100exception.xml +9 -0
  144. mapproxy/service/tile.py +540 -0
  145. mapproxy/service/wms.py +868 -0
  146. mapproxy/service/wmts.py +387 -0
  147. mapproxy/source/__init__.py +83 -0
  148. mapproxy/source/arcgis.py +39 -0
  149. mapproxy/source/error.py +40 -0
  150. mapproxy/source/mapnik.py +262 -0
  151. mapproxy/source/tile.py +97 -0
  152. mapproxy/source/wms.py +273 -0
  153. mapproxy/srs.py +734 -0
  154. mapproxy/template.py +54 -0
  155. mapproxy/test/__init__.py +0 -0
  156. mapproxy/test/conftest.py +8 -0
  157. mapproxy/test/helper.py +255 -0
  158. mapproxy/test/http.py +511 -0
  159. mapproxy/test/image.py +219 -0
  160. mapproxy/test/mocker.py +2291 -0
  161. mapproxy/test/schemas/inspire/common/1.0/common.xsd +1461 -0
  162. mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +108 -0
  163. mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +108 -0
  164. mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +108 -0
  165. mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +108 -0
  166. mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +155 -0
  167. mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +108 -0
  168. mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +108 -0
  169. mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +108 -0
  170. mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +108 -0
  171. mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +109 -0
  172. mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +108 -0
  173. mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +108 -0
  174. mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +108 -0
  175. mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +108 -0
  176. mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +108 -0
  177. mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +108 -0
  178. mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +108 -0
  179. mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +108 -0
  180. mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +108 -0
  181. mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +108 -0
  182. mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +108 -0
  183. mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +108 -0
  184. mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +108 -0
  185. mapproxy/test/schemas/inspire/common/1.0/network.xsd +521 -0
  186. mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +19 -0
  187. mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +14 -0
  188. mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +66 -0
  189. mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +1646 -0
  190. mapproxy/test/schemas/kml/2.2.0/xAL.xsd +1680 -0
  191. mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +87 -0
  192. mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +235 -0
  193. mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +23 -0
  194. mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +157 -0
  195. mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +86 -0
  196. mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +127 -0
  197. mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +279 -0
  198. mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +76 -0
  199. mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +112 -0
  200. mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +51 -0
  201. mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +59 -0
  202. mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +125 -0
  203. mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +140 -0
  204. mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +60 -0
  205. mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +47 -0
  206. mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +27 -0
  207. mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +353 -0
  208. mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +188 -0
  209. mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +524 -0
  210. mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +260 -0
  211. mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +273 -0
  212. mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +303 -0
  213. mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +6 -0
  214. mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +33 -0
  215. mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +68 -0
  216. mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
  217. mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +274 -0
  218. mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +5 -0
  219. mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +276 -0
  220. mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +303 -0
  221. mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +6 -0
  222. mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +33 -0
  223. mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +8 -0
  224. mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +277 -0
  225. mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +611 -0
  226. mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +34 -0
  227. mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +28 -0
  228. mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +68 -0
  229. mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
  230. mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +283 -0
  231. mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +5 -0
  232. mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +276 -0
  233. mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +303 -0
  234. mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +6 -0
  235. mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +33 -0
  236. mapproxy/test/schemas/wmts/1.0/ReadMe.txt +32 -0
  237. mapproxy/test/schemas/wmts/1.0/wmts.xsd +28 -0
  238. mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +151 -0
  239. mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +38 -0
  240. mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +564 -0
  241. mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +57 -0
  242. mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +72 -0
  243. mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +91 -0
  244. mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +76 -0
  245. mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +70 -0
  246. mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +6 -0
  247. mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +122 -0
  248. mapproxy/test/schemas/xml.xsd +287 -0
  249. mapproxy/test/system/__init__.py +98 -0
  250. mapproxy/test/system/fixture/arcgis.yaml +57 -0
  251. mapproxy/test/system/fixture/auth.yaml +70 -0
  252. mapproxy/test/system/fixture/cache.mbtiles +0 -0
  253. mapproxy/test/system/fixture/cache_azureblob.yaml +59 -0
  254. mapproxy/test/system/fixture/cache_band_merge.yaml +73 -0
  255. mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +24 -0
  256. mapproxy/test/system/fixture/cache_coverage.yaml +84 -0
  257. mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  258. mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  259. mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  260. mapproxy/test/system/fixture/cache_geopackage.yaml +56 -0
  261. mapproxy/test/system/fixture/cache_grid_names.yaml +50 -0
  262. mapproxy/test/system/fixture/cache_mbtiles.yaml +28 -0
  263. mapproxy/test/system/fixture/cache_s3.yaml +58 -0
  264. mapproxy/test/system/fixture/cache_source.yaml +81 -0
  265. mapproxy/test/system/fixture/combined_sources.yaml +130 -0
  266. mapproxy/test/system/fixture/coverage.yaml +77 -0
  267. mapproxy/test/system/fixture/demo.yaml +135 -0
  268. mapproxy/test/system/fixture/dimension.yaml +59 -0
  269. mapproxy/test/system/fixture/disable_storage.yaml +25 -0
  270. mapproxy/test/system/fixture/empty_ogrdata.geojson +1 -0
  271. mapproxy/test/system/fixture/formats.yaml +72 -0
  272. mapproxy/test/system/fixture/inspire.yaml +101 -0
  273. mapproxy/test/system/fixture/inspire_full.yaml +124 -0
  274. mapproxy/test/system/fixture/kml_layer.yaml +66 -0
  275. mapproxy/test/system/fixture/layer.yaml +260 -0
  276. mapproxy/test/system/fixture/layergroups.yaml +57 -0
  277. mapproxy/test/system/fixture/layergroups_root.yaml +106 -0
  278. mapproxy/test/system/fixture/legendgraphic.yaml +93 -0
  279. mapproxy/test/system/fixture/mapnik_source.yaml +66 -0
  280. mapproxy/test/system/fixture/mapproxy_export.yaml +12 -0
  281. mapproxy/test/system/fixture/mapserver.yaml +23 -0
  282. mapproxy/test/system/fixture/minimal_cgi.py +16 -0
  283. mapproxy/test/system/fixture/mixed_mode.yaml +49 -0
  284. mapproxy/test/system/fixture/multi_cache_layers.yaml +111 -0
  285. mapproxy/test/system/fixture/multiapp1.yaml +20 -0
  286. mapproxy/test/system/fixture/multiapp2.yaml +19 -0
  287. mapproxy/test/system/fixture/renderd_client.yaml +55 -0
  288. mapproxy/test/system/fixture/scalehints.yaml +70 -0
  289. mapproxy/test/system/fixture/seed.yaml +94 -0
  290. mapproxy/test/system/fixture/seed_mapproxy.yaml +39 -0
  291. mapproxy/test/system/fixture/seed_old.yaml +12 -0
  292. mapproxy/test/system/fixture/seed_timeouts.yaml +12 -0
  293. mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +27 -0
  294. mapproxy/test/system/fixture/seedonly.yaml +51 -0
  295. mapproxy/test/system/fixture/sld.yaml +35 -0
  296. mapproxy/test/system/fixture/source_errors.yaml +84 -0
  297. mapproxy/test/system/fixture/source_errors_raise.yaml +82 -0
  298. mapproxy/test/system/fixture/tileservice_origin.yaml +26 -0
  299. mapproxy/test/system/fixture/tileservice_refresh.yaml +59 -0
  300. mapproxy/test/system/fixture/tilesource_minmax_res.yaml +22 -0
  301. mapproxy/test/system/fixture/util-conf-base-grids.yaml +5 -0
  302. mapproxy/test/system/fixture/util-conf-overwrite.yaml +13 -0
  303. mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +90 -0
  304. mapproxy/test/system/fixture/util_grids.yaml +29 -0
  305. mapproxy/test/system/fixture/util_wms_capabilities111.xml +130 -0
  306. mapproxy/test/system/fixture/util_wms_capabilities130.xml +100 -0
  307. mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +5 -0
  308. mapproxy/test/system/fixture/watermark.yaml +50 -0
  309. mapproxy/test/system/fixture/wms_srs_extent.yaml +39 -0
  310. mapproxy/test/system/fixture/wms_versions.yaml +38 -0
  311. mapproxy/test/system/fixture/wmts.yaml +134 -0
  312. mapproxy/test/system/fixture/wmts_dimensions.yaml +57 -0
  313. mapproxy/test/system/fixture/xslt_featureinfo.yaml +54 -0
  314. mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +51 -0
  315. mapproxy/test/system/test_arcgis.py +156 -0
  316. mapproxy/test/system/test_auth.py +1133 -0
  317. mapproxy/test/system/test_behind_proxy.py +75 -0
  318. mapproxy/test/system/test_bulk_meta_tiles.py +106 -0
  319. mapproxy/test/system/test_cache_azureblob.py +127 -0
  320. mapproxy/test/system/test_cache_band_merge.py +103 -0
  321. mapproxy/test/system/test_cache_coverage.py +168 -0
  322. mapproxy/test/system/test_cache_geopackage.py +144 -0
  323. mapproxy/test/system/test_cache_grid_names.py +89 -0
  324. mapproxy/test/system/test_cache_mbtiles.py +85 -0
  325. mapproxy/test/system/test_cache_s3.py +115 -0
  326. mapproxy/test/system/test_cache_source.py +146 -0
  327. mapproxy/test/system/test_combined_sources.py +335 -0
  328. mapproxy/test/system/test_coverage.py +140 -0
  329. mapproxy/test/system/test_decorate_img.py +214 -0
  330. mapproxy/test/system/test_demo.py +56 -0
  331. mapproxy/test/system/test_demo_with_extra_service.py +57 -0
  332. mapproxy/test/system/test_dimensions.py +279 -0
  333. mapproxy/test/system/test_disable_storage.py +42 -0
  334. mapproxy/test/system/test_formats.py +219 -0
  335. mapproxy/test/system/test_inspire_vs.py +173 -0
  336. mapproxy/test/system/test_kml.py +264 -0
  337. mapproxy/test/system/test_layergroups.py +160 -0
  338. mapproxy/test/system/test_legendgraphic.py +308 -0
  339. mapproxy/test/system/test_mapnik.py +162 -0
  340. mapproxy/test/system/test_mapserver.py +83 -0
  341. mapproxy/test/system/test_mixed_mode_format.py +201 -0
  342. mapproxy/test/system/test_multi_cache_layers.py +169 -0
  343. mapproxy/test/system/test_multiapp.py +92 -0
  344. mapproxy/test/system/test_refresh.py +206 -0
  345. mapproxy/test/system/test_renderd_client.py +304 -0
  346. mapproxy/test/system/test_response_headers.py +54 -0
  347. mapproxy/test/system/test_scalehints.py +140 -0
  348. mapproxy/test/system/test_seed.py +425 -0
  349. mapproxy/test/system/test_seed_only.py +93 -0
  350. mapproxy/test/system/test_sld.py +120 -0
  351. mapproxy/test/system/test_source_errors.py +377 -0
  352. mapproxy/test/system/test_tilesource_minmax_res.py +54 -0
  353. mapproxy/test/system/test_tms.py +277 -0
  354. mapproxy/test/system/test_tms_origin.py +46 -0
  355. mapproxy/test/system/test_util_conf.py +434 -0
  356. mapproxy/test/system/test_util_export.py +210 -0
  357. mapproxy/test/system/test_util_grids.py +88 -0
  358. mapproxy/test/system/test_util_wms_capabilities.py +182 -0
  359. mapproxy/test/system/test_watermark.py +91 -0
  360. mapproxy/test/system/test_wms.py +1616 -0
  361. mapproxy/test/system/test_wms_srs_extent.py +165 -0
  362. mapproxy/test/system/test_wms_version.py +85 -0
  363. mapproxy/test/system/test_wmsc.py +116 -0
  364. mapproxy/test/system/test_wmts.py +334 -0
  365. mapproxy/test/system/test_wmts_dimensions.py +206 -0
  366. mapproxy/test/system/test_wmts_restful.py +198 -0
  367. mapproxy/test/system/test_xslt_featureinfo.py +423 -0
  368. mapproxy/test/test_http_helper.py +217 -0
  369. mapproxy/test/unit/__init__.py +0 -0
  370. mapproxy/test/unit/epsg +2 -0
  371. mapproxy/test/unit/polygons/polygons.dbf +0 -0
  372. mapproxy/test/unit/polygons/polygons.shp +0 -0
  373. mapproxy/test/unit/polygons/polygons.shx +0 -0
  374. mapproxy/test/unit/test_async.py +242 -0
  375. mapproxy/test/unit/test_auth.py +430 -0
  376. mapproxy/test/unit/test_cache.py +1356 -0
  377. mapproxy/test/unit/test_cache_azureblob.py +97 -0
  378. mapproxy/test/unit/test_cache_compact.py +324 -0
  379. mapproxy/test/unit/test_cache_couchdb.py +118 -0
  380. mapproxy/test/unit/test_cache_geopackage.py +256 -0
  381. mapproxy/test/unit/test_cache_redis.py +123 -0
  382. mapproxy/test/unit/test_cache_riak.py +80 -0
  383. mapproxy/test/unit/test_cache_s3.py +93 -0
  384. mapproxy/test/unit/test_cache_tile.py +477 -0
  385. mapproxy/test/unit/test_client.py +488 -0
  386. mapproxy/test/unit/test_client_arcgis.py +74 -0
  387. mapproxy/test/unit/test_client_cgi.py +140 -0
  388. mapproxy/test/unit/test_collections.py +116 -0
  389. mapproxy/test/unit/test_concat_legends.py +37 -0
  390. mapproxy/test/unit/test_conf_loader.py +1267 -0
  391. mapproxy/test/unit/test_conf_validator.py +427 -0
  392. mapproxy/test/unit/test_config.py +118 -0
  393. mapproxy/test/unit/test_decorate_img.py +185 -0
  394. mapproxy/test/unit/test_exceptions.py +270 -0
  395. mapproxy/test/unit/test_featureinfo.py +313 -0
  396. mapproxy/test/unit/test_file_lock_load.py +49 -0
  397. mapproxy/test/unit/test_geom.py +512 -0
  398. mapproxy/test/unit/test_grid.py +1279 -0
  399. mapproxy/test/unit/test_image.py +1051 -0
  400. mapproxy/test/unit/test_image_mask.py +181 -0
  401. mapproxy/test/unit/test_image_messages.py +209 -0
  402. mapproxy/test/unit/test_image_options.py +160 -0
  403. mapproxy/test/unit/test_isodate.py +118 -0
  404. mapproxy/test/unit/test_multiapp.py +163 -0
  405. mapproxy/test/unit/test_ogr_reader.py +51 -0
  406. mapproxy/test/unit/test_request.py +745 -0
  407. mapproxy/test/unit/test_request_wmts.py +178 -0
  408. mapproxy/test/unit/test_response.py +78 -0
  409. mapproxy/test/unit/test_seed.py +365 -0
  410. mapproxy/test/unit/test_seed_cachelock.py +91 -0
  411. mapproxy/test/unit/test_srs.py +215 -0
  412. mapproxy/test/unit/test_tiled_source.py +122 -0
  413. mapproxy/test/unit/test_tilefilter.py +31 -0
  414. mapproxy/test/unit/test_times.py +25 -0
  415. mapproxy/test/unit/test_timeutils.py +50 -0
  416. mapproxy/test/unit/test_util_conf_utils.py +75 -0
  417. mapproxy/test/unit/test_utils.py +476 -0
  418. mapproxy/test/unit/test_wms_capabilities.py +44 -0
  419. mapproxy/test/unit/test_wms_layer.py +113 -0
  420. mapproxy/test/unit/test_yaml.py +68 -0
  421. mapproxy/tilefilter.py +61 -0
  422. mapproxy/util/__init__.py +0 -0
  423. mapproxy/util/async_.py +229 -0
  424. mapproxy/util/collections.py +134 -0
  425. mapproxy/util/coverage.py +337 -0
  426. mapproxy/util/ext/__init__.py +14 -0
  427. mapproxy/util/ext/dictspec/__init__.py +1 -0
  428. mapproxy/util/ext/dictspec/spec.py +131 -0
  429. mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  430. mapproxy/util/ext/dictspec/test/test_validator.py +278 -0
  431. mapproxy/util/ext/dictspec/validator.py +194 -0
  432. mapproxy/util/ext/local.py +198 -0
  433. mapproxy/util/ext/lockfile.py +140 -0
  434. mapproxy/util/ext/odict.py +321 -0
  435. mapproxy/util/ext/serving.py +491 -0
  436. mapproxy/util/ext/tempita/__init__.py +1093 -0
  437. mapproxy/util/ext/tempita/_looper.py +163 -0
  438. mapproxy/util/ext/tempita/string_utils.py +24 -0
  439. mapproxy/util/ext/wmsparse/__init__.py +3 -0
  440. mapproxy/util/ext/wmsparse/duration.py +600 -0
  441. mapproxy/util/ext/wmsparse/parse.py +307 -0
  442. mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  443. mapproxy/util/ext/wmsparse/test/test_parse.py +111 -0
  444. mapproxy/util/ext/wmsparse/test/test_util.py +23 -0
  445. mapproxy/util/ext/wmsparse/test/wms-example-111.xml +90 -0
  446. mapproxy/util/ext/wmsparse/test/wms-example-130.xml +120 -0
  447. mapproxy/util/ext/wmsparse/test/wms-large-111.xml +2114 -0
  448. mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +386 -0
  449. mapproxy/util/ext/wmsparse/util.py +189 -0
  450. mapproxy/util/fs.py +164 -0
  451. mapproxy/util/geom.py +307 -0
  452. mapproxy/util/lib.py +117 -0
  453. mapproxy/util/lock.py +171 -0
  454. mapproxy/util/ogr.py +247 -0
  455. mapproxy/util/py.py +75 -0
  456. mapproxy/util/times.py +78 -0
  457. mapproxy/util/yaml.py +58 -0
  458. mapproxy/version.py +33 -0
  459. mapproxy/wsgiapp.py +167 -0
@@ -0,0 +1,303 @@
1
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
2
+ <!-- The DTD (Document Type Definition) given here must correspond to the version number declared in the WMT_MS_Capabilities element below. -->
3
+ <!DOCTYPE WMT_MS_Capabilities SYSTEM
4
+ "http://www.digitalearth.gov/wmt/xml/capabilities_1_1_0.dtd"
5
+ [
6
+ <!-- Vendor-specific elements are defined here if needed. -->
7
+ <!-- If not needed, just leave this EMPTY declaration. Do not
8
+ delete the declaration entirely. -->
9
+ <!ELEMENT VendorSpecificCapabilities EMPTY>
10
+ ]> <!-- end of DOCTYPE declaration -->
11
+
12
+ <!-- Note: this XML is just an EXAMPLE that attempts to show all
13
+ required and optional elements for illustration. Consult the Web Map
14
+ Service 1.1.0 specification and the DTD for guidance on what to actually
15
+ include and what to leave out. -->
16
+
17
+ <!-- The version number listed in the WMT_MS_Capabilities element here must
18
+ correspond to the DTD declared above. See the WMT specification document for
19
+ how to respond when a client requests a version number not implemented by the
20
+ server. -->
21
+ <WMT_MS_Capabilities version="1.1.0" updateSequence="0">
22
+ <!-- Service Metadata -->
23
+ <Service>
24
+ <!-- The WMT-defined name for this type of service -->
25
+ <Name>OGC:WMS</Name>
26
+ <!-- Human-readable title for pick lists -->
27
+ <Title>Acme Corp. Map Server</Title>
28
+ <!-- Narrative description providing additional information -->
29
+ <Abstract>WMT Map Server maintained by Acme Corporation. Contact: webmaster@wmt.acme.com. High-quality maps showing roadrunner nests and possible ambush locations.</Abstract>
30
+ <KeywordList>
31
+ <Keyword>bird</Keyword>
32
+ <Keyword>roadrunner</Keyword>
33
+ <Keyword>ambush</Keyword>
34
+ </KeywordList>
35
+ <!-- Top-level web address of service or service provider. See also OnlineResource
36
+ elements under <DCPType>. -->
37
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
38
+ xlink:href="http://hostname/" />
39
+ <!-- Contact information -->
40
+ <ContactInformation>
41
+ <ContactPersonPrimary>
42
+ <ContactPerson>Jeff deLaBeaujardiere</ContactPerson>
43
+ <ContactOrganization>NASA</ContactOrganization>
44
+ </ContactPersonPrimary>
45
+ <ContactPosition>Computer Scientist</ContactPosition>
46
+ <ContactAddress>
47
+ <AddressType>postal</AddressType>
48
+ <Address>NASA Goddard Space Flight Center, Code 933</Address>
49
+ <City>Greenbelt</City>
50
+ <StateOrProvince>MD</StateOrProvince>
51
+ <PostCode>20771</PostCode>
52
+ <Country>USA</Country>
53
+ </ContactAddress>
54
+ <ContactVoiceTelephone>+1 301 286-1569</ContactVoiceTelephone>
55
+ <ContactFacsimileTelephone>+1 301 286-1777</ContactFacsimileTelephone>
56
+ <ContactElectronicMailAddress>delabeau@iniki.gsfc.nasa.gov</ContactElectronicMailAddress>
57
+ </ContactInformation>
58
+ <!-- Fees or access constraints imposed. -->
59
+ <Fees>none</Fees>
60
+ <AccessConstraints>none</AccessConstraints>
61
+ </Service>
62
+ <Capability>
63
+ <Request>
64
+ <GetCapabilities>
65
+ <Format>application/vnd.ogc.wms_xml</Format>
66
+ <DCPType>
67
+ <HTTP>
68
+ <Get>
69
+ <!-- The URL here for invoking GetCapabilities using HTTP GET
70
+ is only a prefix to which a query string is appended. -->
71
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
72
+ xlink:type="simple"
73
+ xlink:href="http://hostname:port/path" />
74
+ </Get>
75
+ <Post>
76
+ <!-- The URL here for invoking GetCapabilities using HTTP POST
77
+ includes the complete address to which a query would be sent in
78
+ XML format. This is here for future expansion; no POST encoding
79
+ has yet been defined. -->
80
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
81
+ xlink:type="simple"
82
+ xlink:href="http://hostname:port/path" />
83
+ </Post>
84
+ </HTTP>
85
+ </DCPType>
86
+ </GetCapabilities>
87
+ <GetMap>
88
+ <Format>image/gif</Format>
89
+ <Format>image/png</Format>
90
+ <Format>image/jpeg</Format>
91
+ <DCPType>
92
+ <HTTP>
93
+ <Get>
94
+ <!-- The URL here for invoking GetCapabilities using HTTP GET
95
+ is only a prefix to which a query string is appended. -->
96
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
97
+ xlink:type="simple"
98
+ xlink:href="http://hostname:port/path" />
99
+ </Get>
100
+ </HTTP>
101
+ </DCPType>
102
+ </GetMap>
103
+ <GetFeatureInfo>
104
+ <Format>application/vnd.ogc.gml</Format>
105
+ <Format>text/plain</Format>
106
+ <Format>text/html</Format>
107
+ <DCPType>
108
+ <HTTP>
109
+ <Get>
110
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
111
+ xlink:type="simple"
112
+ xlink:href="http://hostname:port/path" />
113
+ </Get>
114
+ </HTTP>
115
+ </DCPType>
116
+ </GetFeatureInfo>
117
+ <DescribeLayer><!--optional; used only by SLD-enabled WMS-->
118
+ <Format>application/vnd.ogc.gml</Format>
119
+ <DCPType>
120
+ <HTTP>
121
+ <Get>
122
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
123
+ xlink:type="simple"
124
+ xlink:href="http://hostname:port/path" />
125
+ </Get>
126
+ </HTTP>
127
+ </DCPType>
128
+ </DescribeLayer>
129
+ </Request>
130
+ <Exception>
131
+ <Format>application/vnd.ogc.se_xml</Format>
132
+ <Format>application/vnd.ogc.se_inimage</Format>
133
+ <Format>application/vnd.ogc.se_blank</Format>
134
+ </Exception>
135
+ <!-- Any text or markup is allowed here, as required to describe
136
+ vendor-specific capabilities. Please define elements and attributes
137
+ in the DOCTYPE declaration at the start of the document. -->
138
+ <!-- This example is empty because no VSPs were defined in preamble -->
139
+ <VendorSpecificCapabilities />
140
+ <!-- Place-holder for Styled Layer Descriptor (SLD)-enabled WMSes.
141
+ This element is absent for a basic WMS. -->
142
+ <UserDefinedSymbolization SupportSLD="1" UserLayer="1" UserStyle="1"
143
+ RemoteWFS="1" />
144
+ <Layer>
145
+ <Title>Acme Corp. Map Server</Title>
146
+ <SRS>EPSG:4326</SRS> <!-- all layers are available in at least this SRS -->
147
+ <AuthorityURL name="DIF_ID">
148
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
149
+ xlink:href="http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html" />
150
+ </AuthorityURL>
151
+ <Layer>
152
+ <!-- This parent layer has a Name and can therefore be requested from a Map Server, yielding a map of all subsidiary layers. -->
153
+ <Name>ROADS_RIVERS</Name>
154
+ <Title>Roads and Rivers</Title>
155
+ <!-- See the spec to learn how some characteristics are inherited by
156
+ subsidiary layers. -->
157
+ <SRS>EPSG:26986</SRS> <!-- An additional SRS for this layer -->
158
+ <LatLonBoundingBox minx="-71.63" miny="41.75" maxx="-70.78" maxy="42.90"/>
159
+ <!-- The optional resx and resy attributes below indicate the X and Y spatial
160
+ resolution in the units of that SRS. -->
161
+ <!-- The EPSG:4326 BoundingBox duplicates some of the info in LatLonBoundingBox
162
+ and is therefore optional, but using it here allows the additional
163
+ resolution attributes. -->
164
+ <BoundingBox SRS="EPSG:4326"
165
+ minx="-71.63" miny="41.75" maxx="-70.78" maxy="42.90" resx="0.01" resy="0.01"/>
166
+ <BoundingBox SRS="EPSG:26986"
167
+ minx="189000" miny="834000" maxx="285000" maxy="962000" resx="1" resy="1" />
168
+ <!-- Optional Title, URL and logo image of data provider. -->
169
+ <Attribution>
170
+ <Title>State College University</Title>
171
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
172
+ xlink:href="http://www.university.edu/" />
173
+ <LogoURL width="100" height="100">
174
+ <Format>image/gif</Format>
175
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
176
+ xlink:type="simple"
177
+ xlink:href="http://www.university.edu/icons/logo.gif" />
178
+ </LogoURL>
179
+ </Attribution>
180
+ <!-- Identifier whose meaning is defined in an AuthorityURL element -->
181
+ <Identifier authority="DIF_ID">123456</Identifier>
182
+ <FeatureListURL>
183
+ <Format>application/vnd.ogc.se_xml"</Format>
184
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
185
+ xlink:href="http://www.university.edu/data/roads_rivers.gml" />
186
+ </FeatureListURL>
187
+ <Style>
188
+ <Name>USGS</Name>
189
+ <Title>USGS Topo Map Style</Title>
190
+ <Abstract>Features are shown in a style like that used in USGS topographic maps.</Abstract>
191
+ <!-- A picture of a legend for a Layer in this Style -->
192
+ <LegendURL width="72" height="72">
193
+ <Format>image/gif</Format>
194
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
195
+ xlink:type="simple"
196
+ xlink:href="http://www.university.edu/legends/usgs.gif" />
197
+ </LegendURL>
198
+ <!-- An XSL stylesheet describing how GML feature data will rendered to create
199
+ a map of this layer. -->
200
+ <StyleSheetURL>
201
+ <Format>text/xsl</Format>
202
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
203
+ xlink:type="simple"
204
+ xlink:href="http://www.university.edu/stylesheets/usgs.xsl" />
205
+ </StyleSheetURL>
206
+ </Style>
207
+ <ScaleHint min="4000" max="35000"></ScaleHint>
208
+ <Layer queryable="1">
209
+ <Name>ROADS_1M</Name>
210
+ <Title>Roads at 1:1M scale</Title>
211
+ <Abstract>Roads at a scale of 1 to 1 million.</Abstract>
212
+ <KeywordList>
213
+ <Keyword>road</Keyword>
214
+ <Keyword>transportation</Keyword>
215
+ <Keyword>atlas</Keyword>
216
+ </KeywordList>
217
+ <Identifier authority="DIF_ID">123456</Identifier>
218
+ <!-- Metadata specific to this particular layer. The same FGDC metadata is offered in two formats. -->
219
+ <MetadataURL type="FGDC">
220
+ <Format>text/plain</Format>
221
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
222
+ xlink:type="simple"
223
+ xlink:href="http://www.university.edu/metadata/roads.txt" />
224
+ </MetadataURL>
225
+ <MetadataURL type="FGDC">
226
+ <Format>text/xml</Format>
227
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
228
+ xlink:type="simple"
229
+ xlink:href="http://www.university.edu/metadata/roads.xml" />
230
+ </MetadataURL>
231
+ <!-- In addition to the Style specified in the parent Layer, this Layer is available in this style. -->
232
+ <Style>
233
+ <Name>ATLAS</Name>
234
+ <Title>Road atlas style</Title>
235
+ <Abstract>Roads are shown in a style like that used in a commercial road atlas.</Abstract>
236
+ <LegendURL width="72" height="72">
237
+ <Format>image/gif</Format>
238
+ <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
239
+ xlink:type="simple"
240
+ xlink:href="http://www.university.edu/legends/atlas.gif" />
241
+ </LegendURL>
242
+ </Style>
243
+ </Layer>
244
+ <Layer queryable="1">
245
+ <Name>RIVERS_1M</Name>
246
+ <Title>Rivers at 1:1M scale</Title>
247
+ <Abstract>Rivers at a scale of 1 to 1 million.</Abstract>
248
+ <KeywordList>
249
+ <Keyword>river</Keyword>
250
+ <Keyword>canal</Keyword>
251
+ <Keyword>waterway</Keyword>
252
+ </KeywordList>
253
+ </Layer>
254
+ </Layer>
255
+ <Layer queryable="1">
256
+ <Title>Weather Forecast Data</Title>
257
+ <SRS>EPSG:4326</SRS> <!-- harmless repetition of common SRS -->
258
+ <LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
259
+ <!-- These weather data are available daily from 1999-01-01 through
260
+ 2000-08-22. -->
261
+ <Dimension name="time" units="ISO8601" />
262
+ <Extent name="time" default="2000-08-22">1999-01-01/2000-08-22/P1D</Extent>
263
+ <Layer>
264
+ <Name>Clouds</Name>
265
+ <Title>Forecast cloud cover</Title>
266
+ </Layer>
267
+ <Layer>
268
+ <Name>Temperature</Name>
269
+ <Title>Forecast temperature</Title>
270
+ </Layer>
271
+ <Layer>
272
+ <Name>Pressure</Name>
273
+ <Title>Forecast barometric pressure</Title>
274
+ <!-- Pressure is available at several elevations.
275
+ EPSG:5030 is WGS 84 ellipsoid, units in metres.
276
+ Pressure is also available at several times.
277
+ NOTE: first list all Dimension elements, then all Extent elements. -->
278
+ <Dimension name="time" units="ISO8601" />
279
+ <Dimension name="elevation" units="EPSG:5030" />
280
+ <Extent name="time" default="2000-08-22">1999-01-01/2000-08-22/P1D</Extent>
281
+ <Extent name="elevation" default="0">0,1000,3000,5000,10000</Extent>
282
+ </Layer>
283
+ </Layer>
284
+ <!-- Example of a layer which is a static map of fixed
285
+ size which the server cannot subset or make transparent -->
286
+ <Layer opaque="1" noSubsets="1" fixedWidth="512" fixedHeight="256">
287
+ <Name>ozone_image</Name>
288
+ <Title>Global ozone distribution (1992)</Title>
289
+ <LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
290
+ <Extent name="time" default="1992">1992</Extent>
291
+ </Layer>
292
+ <!-- Example of a layer which originated from another WMS and has been
293
+ "cascaded" by this WMS. -->
294
+ <Layer cascaded="1">
295
+ <Name>population</Name>
296
+ <Title>World population, annual</Title>
297
+ <LatLonBoundingBox minx="-180" miny="-90" maxx="180" maxy="90" />
298
+ <Extent name="time" default="2000">1990/2000/P1Y</Extent>
299
+ </Layer>
300
+ </Layer>
301
+ </Capability>
302
+ </WMT_MS_Capabilities>
303
+
@@ -0,0 +1,6 @@
1
+ <!ELEMENT ServiceExceptionReport (ServiceException*)>
2
+ <!ATTLIST ServiceExceptionReport version CDATA #FIXED "1.1.0">
3
+
4
+ <!ELEMENT ServiceException (#PCDATA)>
5
+ <!ATTLIST ServiceException code CDATA #IMPLIED>
6
+
@@ -0,0 +1,33 @@
1
+ <?xml version='1.0' encoding="UTF-8" standalone="no" ?>
2
+ <!DOCTYPE ServiceExceptionReport SYSTEM
3
+ "http://www.digitalearth.gov/wmt/xml/exception_1_1_0.dtd">
4
+ <ServiceExceptionReport version="1.1.0">
5
+ <ServiceException>
6
+ Plain text message about an error.
7
+ </ServiceException>
8
+ <ServiceException code="InvalidUpdateSequence">
9
+ Another message, this time with a SE code supplied.
10
+ </ServiceException>
11
+ <ServiceException>
12
+ <![CDATA[
13
+ Error in module <foo.c>, line 42
14
+
15
+ A message that includes angle brackets in text
16
+ must be enclosed in a Character Data Section
17
+ as in this example. All XML-like markup is
18
+ ignored except for this sequence of three
19
+ closing characters:
20
+ ]]>
21
+ </ServiceException>
22
+ <ServiceException>
23
+ <![CDATA[
24
+ <Module>foo.c</Module>
25
+ <Error>An error occurred</Error>
26
+ <Explanation>Similarly, actual XML
27
+ can be enclosed in a CDATA section.
28
+ A generic parser will ignore that XML,
29
+ but application-specific software may choose
30
+ to process it.</Explanation>
31
+ ]]>
32
+ </ServiceException>
33
+ </ServiceExceptionReport>
@@ -0,0 +1,68 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsd:schema
3
+ targetNamespace="http://www.opengis.net/ogc"
4
+ xmlns:ogc="http://www.opengis.net/ogc"
5
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
+ elementFormDefault="qualified">
7
+
8
+ <xsd:element name="ServiceExceptionReport">
9
+ <xsd:annotation>
10
+ <xsd:documentation>
11
+ The ServiceExceptionReport element contains one
12
+ or more ServiceException elements that describe
13
+ a service exception.
14
+ </xsd:documentation>
15
+ </xsd:annotation>
16
+ <xsd:complexType>
17
+ <xsd:sequence>
18
+ <xsd:element name="ServiceException"
19
+ type="ogc:ServiceExceptionType"
20
+ minOccurs="0" maxOccurs="unbounded">
21
+ <xsd:annotation>
22
+ <xsd:documentation>
23
+ The Service exception element is used to describe
24
+ a service exception.
25
+ </xsd:documentation>
26
+ </xsd:annotation>
27
+ </xsd:element>
28
+ </xsd:sequence>
29
+ <xsd:attribute name="version" type="xsd:string" fixed="1.2.0"/>
30
+ </xsd:complexType>
31
+ </xsd:element>
32
+
33
+ <xsd:complexType name="ServiceExceptionType">
34
+ <xsd:annotation>
35
+ <xsd:documentation>
36
+ The ServiceExceptionType type defines the ServiceException
37
+ element. The content of the element is an exception message
38
+ that the service wished to convey to the client application.
39
+ </xsd:documentation>
40
+ </xsd:annotation>
41
+ <xsd:simpleContent>
42
+ <xsd:extension base="xsd:string">
43
+ <xsd:attribute name="code" type="xsd:string">
44
+ <xsd:annotation>
45
+ <xsd:documentation>
46
+ A service may associate a code with an exception
47
+ by using the code attribute.
48
+ </xsd:documentation>
49
+ </xsd:annotation>
50
+ </xsd:attribute>
51
+ <xsd:attribute name="locator" type="xsd:string">
52
+ <xsd:annotation>
53
+ <xsd:documentation>
54
+ The locator attribute may be used by a service to
55
+ indicate to a client where in the client's request
56
+ an exception was encountered. If the request included
57
+ a 'handle' attribute, this may be used to identify the
58
+ offending component of the request. Otherwise the
59
+ service may try to use other means to locate the
60
+ exception such as line numbers or byte offset from the
61
+ begining of the request, etc ...
62
+ </xsd:documentation>
63
+ </xsd:annotation>
64
+ </xsd:attribute>
65
+ </xsd:extension>
66
+ </xsd:simpleContent>
67
+ </xsd:complexType>
68
+ </xsd:schema>
@@ -0,0 +1,22 @@
1
+ <!-- WMS_DescribeLayerResponse: the document is returned in response to a DescribeLayer request made on a WMS. -->
2
+
3
+ <!ELEMENT WMS_DescribeLayerResponse (LayerDescription*) >
4
+ <!ATTLIST WMS_DescribeLayerResponse
5
+ version CDATA #REQUIRED >
6
+
7
+ <!-- LayerDescription: describes the contents of a NamedLayer, the name of which is specified in the "name" attribute. If the NamedLayer is not feature based, then the LayerDescription has no further contents. If the NamedLayer is feature based then the "wfs" attribute gives the URL prefix for the WFS containing the feature data. Equivalently, the "owsType" and "owsURL" attributes can be used to indicate the OWS type & base URL of a service. The "wfs" attribute is retained for greater compatibility with the WFS specification. The presently recognized valid values for "owsType" are "WFS" and "WCS", though more may be allowed in the future.
8
+
9
+ The LayerDescription contains one or more Query elements that specify the feature-types present in the NamedLayer. -->
10
+
11
+ <!ELEMENT LayerDescription (Query*) >
12
+ <!ATTLIST LayerDescription
13
+ name CDATA #REQUIRED
14
+ wfs CDATA #IMPLIED
15
+ owsType CDATA #IMPLIED
16
+ owsURL CDATA #IMPLIED >
17
+
18
+ <!-- Query: a Query uses the "typeName" attribute to identify a feature/coverage-type. This is a stripped down version of the Query element used in the WFS. -->
19
+
20
+ <!ELEMENT Query EMPTY >
21
+ <!ATTLIST Query
22
+ typeName CDATA #REQUIRED >