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,274 @@
1
+ <!ELEMENT WMT_MS_Capabilities (Service, Capability) >
2
+
3
+ <!ATTLIST WMT_MS_Capabilities
4
+ version CDATA #FIXED "1.1.1"
5
+ updateSequence CDATA #IMPLIED>
6
+
7
+ <!-- Elements used in multiple places. -->
8
+
9
+ <!-- The Name is typically for machine-to-machine communication. -->
10
+ <!ELEMENT Name (#PCDATA) >
11
+
12
+ <!-- The Title is for informative display to a human. -->
13
+ <!ELEMENT Title (#PCDATA) >
14
+
15
+ <!-- The abstract is a longer narrative description of an object. -->
16
+ <!ELEMENT Abstract (#PCDATA) >
17
+
18
+ <!-- An OnlineResource is typically an HTTP URL. The URL is placed in the
19
+ xlink:href attribute. The xmlns:xlink attribute is a required XML namespace
20
+ declaration. -->
21
+ <!ELEMENT OnlineResource EMPTY>
22
+ <!ATTLIST OnlineResource
23
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
24
+ xlink:type CDATA #FIXED "simple"
25
+ xlink:href CDATA #REQUIRED >
26
+
27
+ <!-- A container for listing an available format's MIME type. -->
28
+ <!ELEMENT Format (#PCDATA) >
29
+
30
+
31
+ <!-- General service metadata. -->
32
+
33
+ <!ELEMENT Service (Name, Title, Abstract?, KeywordList?, OnlineResource,
34
+ ContactInformation?, Fees?, AccessConstraints?) >
35
+
36
+ <!-- List of keywords or keyword phrases to help catalog searching. -->
37
+ <!ELEMENT KeywordList (Keyword*) >
38
+
39
+ <!-- A single keyword or phrase. -->
40
+ <!ELEMENT Keyword (#PCDATA) >
41
+
42
+ <!-- Information about a contact person for the service. -->
43
+ <!ELEMENT ContactInformation (ContactPersonPrimary?, ContactPosition?,
44
+ ContactAddress?, ContactVoiceTelephone?,
45
+ ContactFacsimileTelephone?,
46
+ ContactElectronicMailAddress?) >
47
+
48
+ <!--The primary contact person.-->
49
+ <!ELEMENT ContactPersonPrimary (ContactPerson, ContactOrganization) >
50
+
51
+ <!--The person to contact.-->
52
+ <!ELEMENT ContactPerson (#PCDATA) >
53
+
54
+ <!--The organization supplying the service.-->
55
+ <!ELEMENT ContactOrganization (#PCDATA) >
56
+
57
+ <!--The position title for the contact person.-->
58
+ <!ELEMENT ContactPosition (#PCDATA) >
59
+
60
+ <!--The address for the contact supplying the service.-->
61
+ <!ELEMENT ContactAddress (AddressType,Address,City,StateOrProvince,PostCode,
62
+ Country) >
63
+
64
+ <!--The type of address.-->
65
+ <!ELEMENT AddressType (#PCDATA) >
66
+
67
+ <!--The street address.-->
68
+ <!ELEMENT Address (#PCDATA) >
69
+
70
+ <!--The address city.-->
71
+ <!ELEMENT City (#PCDATA) >
72
+
73
+ <!--The state or province.-->
74
+ <!ELEMENT StateOrProvince (#PCDATA) >
75
+
76
+ <!--The zip or postal code.-->
77
+ <!ELEMENT PostCode (#PCDATA) >
78
+
79
+ <!--The address country.-->
80
+ <!ELEMENT Country (#PCDATA) >
81
+
82
+ <!--Contact telephone number.-->
83
+ <!ELEMENT ContactVoiceTelephone (#PCDATA) >
84
+
85
+ <!--The contact fax number.-->
86
+ <!ELEMENT ContactFacsimileTelephone (#PCDATA) >
87
+
88
+ <!--The e-mail address for the contact.-->
89
+ <!ELEMENT ContactElectronicMailAddress (#PCDATA) >
90
+
91
+
92
+ <!-- Elements indicating what fees or access constraints are imposed. -->
93
+ <!ELEMENT Fees (#PCDATA)>
94
+ <!ELEMENT AccessConstraints (#PCDATA)>
95
+
96
+
97
+ <!-- A Capability lists available request types, how exceptions
98
+ may be reported, and whether any vendor-specific capabilities are defined. It
99
+ also includes an optional list of map layers available from this server. -->
100
+ <!ELEMENT Capability
101
+ (Request, Exception, VendorSpecificCapabilities?,
102
+ UserDefinedSymbolization?, Layer?) >
103
+
104
+ <!-- Available WMS Operations are listed in a Request element. -->
105
+ <!ELEMENT Request (GetCapabilities, GetMap, GetFeatureInfo?,
106
+ DescribeLayer?, GetLegendGraphic?, GetStyles?, PutStyles?) >
107
+
108
+ <!-- For each operation offered by the server, list the available output
109
+ formats and the online resource. -->
110
+ <!ELEMENT GetCapabilities (Format+, DCPType+)>
111
+ <!ELEMENT GetMap (Format+, DCPType+)>
112
+ <!ELEMENT GetFeatureInfo (Format+, DCPType+)>
113
+ <!-- The following optional operations only apply to SLD-enabled WMS -->
114
+ <!ELEMENT DescribeLayer (Format+, DCPType+)>
115
+ <!ELEMENT GetLegendGraphic (Format+, DCPType+)>
116
+ <!ELEMENT GetStyles (Format+, DCPType+)>
117
+ <!ELEMENT PutStyles (Format+, DCPType+)>
118
+
119
+ <!-- Available Distributed Computing Platforms (DCPs) are
120
+ listed here. At present, only HTTP is defined. -->
121
+ <!ELEMENT DCPType (HTTP) >
122
+
123
+ <!-- Available HTTP request methods. One or both may be supported. -->
124
+ <!ELEMENT HTTP (Get | Post)+ >
125
+
126
+ <!-- URL prefix for each HTTP request method. -->
127
+ <!ELEMENT Get (OnlineResource) >
128
+ <!ELEMENT Post (OnlineResource) >
129
+
130
+ <!-- An Exception element indicates which error-reporting formats are supported. -->
131
+ <!ELEMENT Exception (Format+)>
132
+
133
+ <!-- Optional user-defined symbolization (used only by SLD-enabled WMSes). -->
134
+ <!ELEMENT UserDefinedSymbolization EMPTY >
135
+ <!ATTLIST UserDefinedSymbolization
136
+ SupportSLD (0 | 1) "0"
137
+ UserLayer (0 | 1) "0"
138
+ UserStyle (0 | 1) "0"
139
+ RemoteWFS (0 | 1) "0" >
140
+
141
+ <!-- Nested list of zero or more map Layers offered by this server. -->
142
+ <!ELEMENT Layer ( Name?, Title, Abstract?, KeywordList?, SRS*,
143
+ LatLonBoundingBox?, BoundingBox*, Dimension*, Extent*,
144
+ Attribution?, AuthorityURL*, Identifier*, MetadataURL*, DataURL*,
145
+ FeatureListURL*, Style*, ScaleHint?, Layer* ) >
146
+
147
+ <!-- Optional attributes-->
148
+ <!ATTLIST Layer queryable (0 | 1) "0"
149
+ cascaded CDATA #IMPLIED
150
+ opaque (0 | 1) "0"
151
+ noSubsets (0 | 1) "0"
152
+ fixedWidth CDATA #IMPLIED
153
+ fixedHeight CDATA #IMPLIED >
154
+
155
+ <!-- Identifier for a single Spatial Reference Systems (SRS). -->
156
+ <!ELEMENT SRS (#PCDATA) >
157
+
158
+ <!-- The LatLonBoundingBox attributes indicate the edges of the enclosing
159
+ rectangle in latitude/longitude decimal degrees (as in SRS EPSG:4326 [WGS1984
160
+ lat/lon]). -->
161
+ <!ELEMENT LatLonBoundingBox EMPTY>
162
+ <!ATTLIST LatLonBoundingBox
163
+ minx CDATA #REQUIRED
164
+ miny CDATA #REQUIRED
165
+ maxx CDATA #REQUIRED
166
+ maxy CDATA #REQUIRED>
167
+
168
+ <!-- The BoundingBox attributes indicate the edges of the bounding box
169
+ in units of the specified spatial reference system. -->
170
+ <!ELEMENT BoundingBox EMPTY>
171
+ <!ATTLIST BoundingBox
172
+ SRS CDATA #REQUIRED
173
+ minx CDATA #REQUIRED
174
+ miny CDATA #REQUIRED
175
+ maxx CDATA #REQUIRED
176
+ maxy CDATA #REQUIRED
177
+ resx CDATA #IMPLIED
178
+ resy CDATA #IMPLIED>
179
+
180
+ <!-- The Dimension element declares the _existence_ of a dimension. -->
181
+ <!ELEMENT Dimension EMPTY >
182
+ <!ATTLIST Dimension
183
+ name CDATA #REQUIRED
184
+ units CDATA #REQUIRED
185
+ unitSymbol CDATA #IMPLIED>
186
+
187
+ <!-- The Extent element indicates what _values_ along a dimension are valid. -->
188
+ <!ELEMENT Extent (#PCDATA) >
189
+ <!ATTLIST Extent
190
+ name CDATA #REQUIRED
191
+ default CDATA #IMPLIED
192
+ nearestValue (0 | 1) "0">
193
+
194
+ <!-- Attribution indicates the provider of a Layer or collection of Layers.
195
+ The provider's URL, descriptive title string, and/or logo image URL may be
196
+ supplied. Client applications may choose to display one or more of these
197
+ items. A format element indicates the MIME type of the logo image located at
198
+ LogoURL. The logo image's width and height assist client applications in
199
+ laying out space to display the logo. -->
200
+ <!ELEMENT Attribution ( Title?, OnlineResource?, LogoURL? )>
201
+ <!ELEMENT LogoURL (Format, OnlineResource) >
202
+ <!ATTLIST LogoURL
203
+ width NMTOKEN #REQUIRED
204
+ height NMTOKEN #REQUIRED>
205
+
206
+ <!-- A Map Server may use zero or more MetadataURL elements to offer detailed,
207
+ standardized metadata about the data underneath a particular layer. The type
208
+ attribute indicates the standard to which the metadata complies. Two types
209
+ are defined at present: 'TC211' = ISO TC211 19115; 'FGDC' = FGDC CSDGM. The
210
+ format element indicates how the metadata is structured. -->
211
+ <!ELEMENT MetadataURL (Format, OnlineResource) >
212
+ <!ATTLIST MetadataURL
213
+ type ( TC211 | FGDC ) #REQUIRED>
214
+
215
+ <!-- A Map Server may use zero or more Identifier elements to list ID numbers
216
+ or labels defined by a particular Authority. For example, the Global Change
217
+ Master Directory (gcmd.gsfc.nasa.gov) defines a DIF_ID label for every
218
+ dataset. The authority name and explanatory URL are defined in a separate
219
+ AuthorityURL element, which may be defined once and inherited by subsidiary
220
+ layers. Identifiers themselves are not inherited. -->
221
+
222
+ <!ELEMENT AuthorityURL (OnlineResource) >
223
+ <!ATTLIST AuthorityURL
224
+ name NMTOKEN #REQUIRED >
225
+ <!ELEMENT Identifier (#PCDATA) >
226
+ <!ATTLIST Identifier
227
+ authority CDATA #REQUIRED >
228
+
229
+ <!-- A Map Server may use DataURL to offer more information about the data
230
+ underneath a particular layer. While the semantics are not well-defined, as
231
+ long as the results of an HTTP GET request against the DataURL are properly
232
+ MIME-typed, Viewer Clients and Cascading Map Servers can make use of this. -->
233
+ <!ELEMENT DataURL (Format, OnlineResource) >
234
+
235
+ <!-- A Map Server may use FeatureListURL to point to a list of the features
236
+ represented in a Layer. -->
237
+ <!ELEMENT FeatureListURL (Format, OnlineResource) >
238
+
239
+ <!-- A Style element lists the name by which a style is requested and a
240
+ human-readable title for pick lists, optionally (and ideally) provides a
241
+ human-readable description, and optionally gives a style URL. -->
242
+ <!ELEMENT Style ( Name, Title, Abstract?,
243
+ LegendURL*, StyleSheetURL?, StyleURL? ) >
244
+
245
+ <!-- A Map Server may use zero or more LegendURL elements to provide an
246
+ image(s) of a legend relevant to each Style of a Layer. The Format element
247
+ indicates the MIME type of the legend. Width and height attributes are
248
+ provided to assist client applications in laying out space to display the
249
+ legend. -->
250
+ <!ELEMENT LegendURL (Format, OnlineResource) >
251
+ <!ATTLIST LegendURL
252
+ width NMTOKEN #REQUIRED
253
+ height NMTOKEN #REQUIRED>
254
+
255
+ <!-- StyleSheeetURL provides symbology information foreach Style of a Layer. -->
256
+ <!ELEMENT StyleSheetURL (Format, OnlineResource) >
257
+
258
+ <!-- A Map Server may use StyleURL to offer more information about the data or
259
+ symbology underlying a particular Style. While the semantics are not
260
+ well-defined, as long as the results of an HTTP GET request against the
261
+ StyleURL are properly MIME-typed, Viewer Clients and Cascading Map Servers can
262
+ make use of this. A possible use could be to allow a Map Server to provide
263
+ legend information. -->
264
+ <!ELEMENT StyleURL (Format, OnlineResource) >
265
+
266
+ <!-- Minimum and maximum scale hints for which it is appropriate to
267
+ display this layer. -->
268
+ <!ELEMENT ScaleHint EMPTY>
269
+ <!ATTLIST ScaleHint
270
+ min CDATA #REQUIRED
271
+ max CDATA #REQUIRED>
272
+
273
+
274
+
@@ -0,0 +1,5 @@
1
+ <!ELEMENT ServiceExceptionReport (ServiceException*)>
2
+ <!ATTLIST ServiceExceptionReport version CDATA #FIXED "1.1.1">
3
+
4
+ <!ELEMENT ServiceException (#PCDATA)>
5
+ <!ATTLIST ServiceException code CDATA #IMPLIED>
@@ -0,0 +1,276 @@
1
+ <!ELEMENT WMT_MS_Capabilities (Service, Capability) >
2
+
3
+ <!ATTLIST WMT_MS_Capabilities
4
+ version CDATA #FIXED "1.1.1"
5
+ updateSequence CDATA #IMPLIED>
6
+
7
+ <!-- Elements used in multiple places. -->
8
+
9
+ <!-- The Name is typically for machine-to-machine communication. -->
10
+ <!ELEMENT Name (#PCDATA) >
11
+
12
+ <!-- The Title is for informative display to a human. -->
13
+ <!ELEMENT Title (#PCDATA) >
14
+
15
+ <!-- The abstract is a longer narrative description of an object. -->
16
+ <!ELEMENT Abstract (#PCDATA) >
17
+
18
+ <!-- An OnlineResource is typically an HTTP URL. The URL is placed in the
19
+ xlink:href attribute. The xmlns:xlink attribute is a required XML namespace
20
+ declaration. -->
21
+ <!ELEMENT OnlineResource EMPTY>
22
+ <!ATTLIST OnlineResource
23
+ xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
24
+ xlink:type CDATA #FIXED "simple"
25
+ xlink:href CDATA #REQUIRED >
26
+
27
+ <!-- A container for listing an available format's MIME type. -->
28
+ <!ELEMENT Format (#PCDATA) >
29
+
30
+
31
+ <!-- General service metadata. -->
32
+
33
+ <!ELEMENT Service (Name, Title, Abstract?, KeywordList?, OnlineResource,
34
+ ContactInformation?, Fees?, AccessConstraints?) >
35
+
36
+ <!-- List of keywords or keyword phrases to help catalog searching. -->
37
+ <!ELEMENT KeywordList (Keyword*) >
38
+
39
+ <!-- A single keyword or phrase. -->
40
+ <!ELEMENT Keyword (#PCDATA) >
41
+
42
+ <!-- Information about a contact person for the service. -->
43
+ <!ELEMENT ContactInformation (ContactPersonPrimary?, ContactPosition?,
44
+ ContactAddress?, ContactVoiceTelephone?,
45
+ ContactFacsimileTelephone?,
46
+ ContactElectronicMailAddress?) >
47
+
48
+ <!--The primary contact person.-->
49
+ <!ELEMENT ContactPersonPrimary (ContactPerson, ContactOrganization) >
50
+
51
+ <!--The person to contact.-->
52
+ <!ELEMENT ContactPerson (#PCDATA) >
53
+
54
+ <!--The organization supplying the service.-->
55
+ <!ELEMENT ContactOrganization (#PCDATA) >
56
+
57
+ <!--The position title for the contact person.-->
58
+ <!ELEMENT ContactPosition (#PCDATA) >
59
+
60
+ <!--The address for the contact supplying the service.-->
61
+ <!ELEMENT ContactAddress (AddressType,Address,City,StateOrProvince,PostCode,
62
+ Country) >
63
+
64
+ <!--The type of address.-->
65
+ <!ELEMENT AddressType (#PCDATA) >
66
+
67
+ <!--The street address.-->
68
+ <!ELEMENT Address (#PCDATA) >
69
+
70
+ <!--The address city.-->
71
+ <!ELEMENT City (#PCDATA) >
72
+
73
+ <!--The state or province.-->
74
+ <!ELEMENT StateOrProvince (#PCDATA) >
75
+
76
+ <!--The zip or postal code.-->
77
+ <!ELEMENT PostCode (#PCDATA) >
78
+
79
+ <!--The address country.-->
80
+ <!ELEMENT Country (#PCDATA) >
81
+
82
+ <!--Contact telephone number.-->
83
+ <!ELEMENT ContactVoiceTelephone (#PCDATA) >
84
+
85
+ <!--The contact fax number.-->
86
+ <!ELEMENT ContactFacsimileTelephone (#PCDATA) >
87
+
88
+ <!--The e-mail address for the contact.-->
89
+ <!ELEMENT ContactElectronicMailAddress (#PCDATA) >
90
+
91
+
92
+ <!-- Elements indicating what fees or access constraints are imposed. -->
93
+ <!ELEMENT Fees (#PCDATA)>
94
+ <!ELEMENT AccessConstraints (#PCDATA)>
95
+
96
+
97
+ <!-- A Capability lists available request types, how exceptions
98
+ may be reported, and whether any vendor-specific capabilities are defined. It
99
+ also includes an optional list of map layers available from this server. -->
100
+ <!ELEMENT Capability
101
+ (Request, Exception, VendorSpecificCapabilities?,
102
+ UserDefinedSymbolization?, Layer?) >
103
+
104
+ <!-- Available WMS Operations are listed in a Request element. -->
105
+ <!ELEMENT Request (GetCapabilities, GetMap, GetFeatureInfo?,
106
+ DescribeLayer?, GetLegendGraphic?, GetStyles?, PutStyles?) >
107
+
108
+ <!-- For each operation offered by the server, list the available output
109
+ formats and the online resource. -->
110
+ <!ELEMENT GetCapabilities (Format+, DCPType+)>
111
+ <!ELEMENT GetMap (Format+, DCPType+)>
112
+ <!ELEMENT GetFeatureInfo (Format+, DCPType+)>
113
+ <!-- The following optional operations only apply to SLD-enabled WMS -->
114
+ <!ELEMENT DescribeLayer (Format+, DCPType+)>
115
+ <!ELEMENT GetLegendGraphic (Format+, DCPType+)>
116
+ <!ELEMENT GetStyles (Format+, DCPType+)>
117
+ <!ELEMENT PutStyles (Format+, DCPType+)>
118
+
119
+ <!-- Available Distributed Computing Platforms (DCPs) are
120
+ listed here. At present, only HTTP is defined. -->
121
+ <!ELEMENT DCPType (HTTP) >
122
+
123
+ <!-- Available HTTP request methods. One or both may be supported. -->
124
+ <!ELEMENT HTTP (Get | Post)+ >
125
+
126
+ <!-- URL prefix for each HTTP request method. -->
127
+ <!ELEMENT Get (OnlineResource) >
128
+ <!ELEMENT Post (OnlineResource) >
129
+
130
+ <!-- An Exception element indicates which error-reporting formats are supported. -->
131
+ <!ELEMENT Exception (Format+)>
132
+
133
+ <!-- Optional user-defined symbolization (used only by SLD-enabled WMSes). -->
134
+ <!ELEMENT UserDefinedSymbolization EMPTY >
135
+ <!ATTLIST UserDefinedSymbolization
136
+ SupportSLD (0 | 1) "0"
137
+ UserLayer (0 | 1) "0"
138
+ UserStyle (0 | 1) "0"
139
+ RemoteWFS (0 | 1) "0" >
140
+
141
+ <!-- Nested list of zero or more map Layers offered by this server. -->
142
+ <!ELEMENT Layer ( Name?, Title, Abstract?, KeywordList?, SRS*,
143
+ LatLonBoundingBox?, BoundingBox*, Dimension*, Extent*,
144
+ Attribution?, AuthorityURL*, Identifier*, MetadataURL*, DataURL*,
145
+ FeatureListURL*, Style*, ScaleHint?, Layer* ) >
146
+
147
+ <!-- Optional attributes-->
148
+ <!ATTLIST Layer queryable (0 | 1) "0"
149
+ cascaded CDATA #IMPLIED
150
+ opaque (0 | 1) "0"
151
+ noSubsets (0 | 1) "0"
152
+ fixedWidth CDATA #IMPLIED
153
+ fixedHeight CDATA #IMPLIED >
154
+
155
+ <!-- Identifier for a single Spatial Reference Systems (SRS). -->
156
+ <!ELEMENT SRS (#PCDATA) >
157
+
158
+ <!-- The LatLonBoundingBox attributes indicate the edges of the enclosing
159
+ rectangle in latitude/longitude decimal degrees (as in SRS EPSG:4326 [WGS1984
160
+ lat/lon]). -->
161
+ <!ELEMENT LatLonBoundingBox EMPTY>
162
+ <!ATTLIST LatLonBoundingBox
163
+ minx CDATA #REQUIRED
164
+ miny CDATA #REQUIRED
165
+ maxx CDATA #REQUIRED
166
+ maxy CDATA #REQUIRED>
167
+
168
+ <!-- The BoundingBox attributes indicate the edges of the bounding box
169
+ in units of the specified spatial reference system. -->
170
+ <!ELEMENT BoundingBox EMPTY>
171
+ <!ATTLIST BoundingBox
172
+ SRS CDATA #REQUIRED
173
+ minx CDATA #REQUIRED
174
+ miny CDATA #REQUIRED
175
+ maxx CDATA #REQUIRED
176
+ maxy CDATA #REQUIRED
177
+ resx CDATA #IMPLIED
178
+ resy CDATA #IMPLIED>
179
+
180
+ <!-- The Dimension element declares the _existence_ of a dimension. -->
181
+ <!ELEMENT Dimension EMPTY >
182
+ <!ATTLIST Dimension
183
+ name CDATA #REQUIRED
184
+ units CDATA #REQUIRED
185
+ unitSymbol CDATA #IMPLIED>
186
+
187
+ <!-- The Extent element indicates what _values_ along a dimension are valid. -->
188
+ <!ELEMENT Extent (#PCDATA) >
189
+ <!ATTLIST Extent
190
+ name CDATA #REQUIRED
191
+ default CDATA #IMPLIED
192
+ nearestValue (0 | 1) "0"
193
+ multipleValues (0 | 1) "0"
194
+ current (0 | 1) "0">
195
+
196
+ <!-- Attribution indicates the provider of a Layer or collection of Layers.
197
+ The provider's URL, descriptive title string, and/or logo image URL may be
198
+ supplied. Client applications may choose to display one or more of these
199
+ items. A format element indicates the MIME type of the logo image located at
200
+ LogoURL. The logo image's width and height assist client applications in
201
+ laying out space to display the logo. -->
202
+ <!ELEMENT Attribution ( Title?, OnlineResource?, LogoURL? )>
203
+ <!ELEMENT LogoURL (Format, OnlineResource) >
204
+ <!ATTLIST LogoURL
205
+ width NMTOKEN #REQUIRED
206
+ height NMTOKEN #REQUIRED>
207
+
208
+ <!-- A Map Server may use zero or more MetadataURL elements to offer detailed,
209
+ standardized metadata about the data underneath a particular layer. The type
210
+ attribute indicates the standard to which the metadata complies. Two types
211
+ are defined at present: 'TC211' = ISO TC211 19115; 'FGDC' = FGDC CSDGM. The
212
+ format element indicates how the metadata is structured. -->
213
+ <!ELEMENT MetadataURL (Format, OnlineResource) >
214
+ <!ATTLIST MetadataURL
215
+ type ( TC211 | FGDC ) #REQUIRED>
216
+
217
+ <!-- A Map Server may use zero or more Identifier elements to list ID numbers
218
+ or labels defined by a particular Authority. For example, the Global Change
219
+ Master Directory (gcmd.gsfc.nasa.gov) defines a DIF_ID label for every
220
+ dataset. The authority name and explanatory URL are defined in a separate
221
+ AuthorityURL element, which may be defined once and inherited by subsidiary
222
+ layers. Identifiers themselves are not inherited. -->
223
+
224
+ <!ELEMENT AuthorityURL (OnlineResource) >
225
+ <!ATTLIST AuthorityURL
226
+ name NMTOKEN #REQUIRED >
227
+ <!ELEMENT Identifier (#PCDATA) >
228
+ <!ATTLIST Identifier
229
+ authority CDATA #REQUIRED >
230
+
231
+ <!-- A Map Server may use DataURL to offer more information about the data
232
+ underneath a particular layer. While the semantics are not well-defined, as
233
+ long as the results of an HTTP GET request against the DataURL are properly
234
+ MIME-typed, Viewer Clients and Cascading Map Servers can make use of this. -->
235
+ <!ELEMENT DataURL (Format, OnlineResource) >
236
+
237
+ <!-- A Map Server may use FeatureListURL to point to a list of the features
238
+ represented in a Layer. -->
239
+ <!ELEMENT FeatureListURL (Format, OnlineResource) >
240
+
241
+ <!-- A Style element lists the name by which a style is requested and a
242
+ human-readable title for pick lists, optionally (and ideally) provides a
243
+ human-readable description, and optionally gives a style URL. -->
244
+ <!ELEMENT Style ( Name, Title, Abstract?,
245
+ LegendURL*, StyleSheetURL?, StyleURL? ) >
246
+
247
+ <!-- A Map Server may use zero or more LegendURL elements to provide an
248
+ image(s) of a legend relevant to each Style of a Layer. The Format element
249
+ indicates the MIME type of the legend. Width and height attributes are
250
+ provided to assist client applications in laying out space to display the
251
+ legend. -->
252
+ <!ELEMENT LegendURL (Format, OnlineResource) >
253
+ <!ATTLIST LegendURL
254
+ width NMTOKEN #REQUIRED
255
+ height NMTOKEN #REQUIRED>
256
+
257
+ <!-- StyleSheeetURL provides symbology information foreach Style of a Layer. -->
258
+ <!ELEMENT StyleSheetURL (Format, OnlineResource) >
259
+
260
+ <!-- A Map Server may use StyleURL to offer more information about the data or
261
+ symbology underlying a particular Style. While the semantics are not
262
+ well-defined, as long as the results of an HTTP GET request against the
263
+ StyleURL are properly MIME-typed, Viewer Clients and Cascading Map Servers can
264
+ make use of this. A possible use could be to allow a Map Server to provide
265
+ legend information. -->
266
+ <!ELEMENT StyleURL (Format, OnlineResource) >
267
+
268
+ <!-- Minimum and maximum scale hints for which it is appropriate to
269
+ display this layer. -->
270
+ <!ELEMENT ScaleHint EMPTY>
271
+ <!ATTLIST ScaleHint
272
+ min CDATA #REQUIRED
273
+ max CDATA #REQUIRED>
274
+
275
+
276
+