-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathexample1-7.html
More file actions
320 lines (252 loc) · 16.5 KB
/
example1-7.html
File metadata and controls
320 lines (252 loc) · 16.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
<!DOCTYPE html>
<html lang="it" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Example 1.7 — MapServer 8.6.2 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/sphinx.css?v=48f05237" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../_static/sphinx_collapse.css?v=226d88b4" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=dd298242" />
<link rel="stylesheet" type="text/css" href="../_static/ribbon.css?v=ea091bf4" />
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=fc9380fe"></script>
<script src="../_static/doctools.js?v=fd6eb6e6"></script>
<script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../_static/copybutton.js?v=f281be69"></script>
<script src="../_static/translations.js?v=45930005"></script>
<link rel="icon" href="../_static/mapserver.ico"/>
<link rel="author" title="A proposito di questi documenti" href="../about.html" />
<link rel="index" title="Indice" href="../genindex.html" />
<link rel="search" title="Cerca" href="../search.html" />
<link rel="copyright" title="Copyright" href="../copyright.html" />
</head><body>
<!-- for main branch only, do not backport this -->
<table width="100%" style="width: 100%; background-color: white;">
<tr>
<td rowspan="2" style="padding: 10px 0px 10px 10px;">
<a href="../index.html" title="Home"><img src="../_static/banner.png" alt="MapServer banner" border="0" /></a>
</td>
<td style="padding: 10px 10px 0px 0px; text-align: right; vertical-align: top;">
<a href="../index.html" title="Home">Home</a> |
<a href="../products.html" title="Products (MapServer core, MapCache, TinyOWS">Products</a> |
<a href="https://github.com/mapserver/mapserver/issues/" title="Issue Tracker (MapServer core)">Issue Tracker</a> |
<a href="../community/service_providers.html" title="Professional Service Providers">Service Providers</a> |
<a href="../faq.html" title="Frequently Asked Questions">FAQ</a> |
<a href="https://fosstodon.org/@mapserver" title="Mastodon" target="_blank">Mastodon</a> |
<a href="../download.html" title="Download Source or Binaries">Download </a> |
<a class="badge" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRJ2X44N3HA6U&source=url" target="_blank">
<img src="https://img.shields.io/badge/donate-%E2%9D%A4%C2%A0-ff69b4.svg?style=flat" alt="Donate to MapServer">
</a>
</td>
</tr>
<tr>
<td style="padding: 0px 10px 0px 0px; text-align: right; vertical-align: bottom;">
<a href="../../tutorial/example1-7.html"><img src="../_static/flagicons/en.png" alt="en" title="en" border="0" /></a>
<a href="../../ar/tutorial/example1-7.html"><img src="../_static/flagicons/ar.png" alt="ar" title="ar" border="0" /></a>
<a href="../../de/tutorial/example1-7.html"><img src="../_static/flagicons/de.png" alt="de" title="de" border="0" /></a>
<a href="../../el/tutorial/example1-7.html"><img src="../_static/flagicons/el.png" alt="el" title="el" border="0" /></a>
<a href="../../es/tutorial/example1-7.html"><img src="../_static/flagicons/es.png" alt="es" title="es" border="0" /></a>
<a href="../../fr/tutorial/example1-7.html"><img src="../_static/flagicons/fr.png" alt="fr" title="fr" border="0" /></a>
<a href="../../id/tutorial/example1-7.html"><img src="../_static/flagicons/id.png" alt="id" title="id" border="0" /></a>
<img src="../_static/flagicons/it.png" alt="it" title="it" border="0" width="18px" height="13px"/>
<a href="../../ja/tutorial/example1-7.html"><img src="../_static/flagicons/ja.png" alt="ja" title="ja" border="0" /></a>
<a href="../../nl_NL/tutorial/example1-7.html"><img src="../_static/flagicons/nl_NL.png" alt="nl_NL" title="nl_NL" border="0" /></a>
<a href="../../pl/tutorial/example1-7.html"><img src="../_static/flagicons/pl.png" alt="pl" title="pl" border="0" /></a>
<a href="../../ru/tutorial/example1-7.html"><img src="../_static/flagicons/ru.png" alt="ru" title="ru" border="0" /></a>
<a href="../../sq/tutorial/example1-7.html"><img src="../_static/flagicons/sq.png" alt="sq" title="sq" border="0" /></a>
<a href="../../tr/tutorial/example1-7.html"><img src="../_static/flagicons/tr.png" alt="tr" title="tr" border="0" /></a>
</td>
</tr>
</table>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigazione</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="Indice generale"
accesskey="I">indice</a></li>
<li class="nav-item nav-item-0"><a href="../index.html">Home</a> »</li>
<li class="nav-item nav-item-this"><a href="">Example 1.7</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="example-1-7">
<span id="example1-7"></span><h1>Example 1.7<a class="headerlink" href="#example-1-7" title="Link to this heading">¶</a></h1>
<section id="adding-ogc-wms-layers">
<h2>Adding OGC WMS Layers<a class="headerlink" href="#adding-ogc-wms-layers" title="Link to this heading">¶</a></h2>
<img alt="https://demo.mapserver.org/cgi-bin/mapserv?map=/mapserver/apps/tutorial/htdocs/example1-7.map&layers=states+modis_nasa&mode=map" src="https://demo.mapserver.org/cgi-bin/mapserv?map=/mapserver/apps/tutorial/htdocs/example1-7.map&layers=states+modis_nasa&mode=map" />
<p>Another exciting feature of MapServer is its ability to use layers from other
map servers. In this case, a MapServer application becomes a WMS (or WFS)
client. MapServer can also share (or serve up) the layers in the mapfile to
other map servers. This makes an application a WMS (or WFS) server. What is WMS
or WFS? These are «web-based interoperability service» specifications published
by the Open Geospatial Consortium (OGC). WMS stands for Web Map Service and WFS
for Web Feature Service. The difference between these two specifications, in
simple terms, is that WMS uses web raster formats (PNG, GIF, JPEG) to share
layers while WFS uses GML, the Geography Markup Language. A third OGC
interoperability specification is the Web Coverage Services specification or
WCS. MapServer supports WCS at the server level only. To find more information
about WMS, WFS, and WCS go the the <a class="reference external" href="https://www.ogc.org">OGC’s web site</a> and look for the <a class="reference external" href="https://www.ogc.org/docs/is">OGC Implementation
Specifications</a> or <a class="reference external" href="https://www.ogc.org/docs/as">OGC
Abstract Specifications</a>.
The MapServer web site also has <a class="reference internal" href="../ogc/index.html#ogc"><span class="std std-ref">documentation</span></a> and <a class="reference external" href="https://github.com/MapServer/MapServer/wiki">WIKI pages</a> for these specifications.</p>
<p>This example shows you how to add a WMS layer in your mapfile.</p>
<section id="the-mapfile">
<h3>The MapFile<a class="headerlink" href="#the-mapfile" title="Link to this heading">¶</a></h3>
<p>This is what the mapfile looks like: <a class="reference internal" href="example1-7-map.html#example1-7-map"><span class="std std-ref">Example1-7.map</span></a></p>
<section id="layer-object-and-wms-parameters">
<h4>LAYER Object and WMS Parameters<a class="headerlink" href="#layer-object-and-wms-parameters" title="Link to this heading">¶</a></h4>
<p>Let’s have a look at the WMS layer:</p>
<dl>
<dt><strong>LAYER # MODIS WMS map from NASA</strong></dt><dd><p>Marks the start of the WMS LAYER object.</p>
</dd>
<dt><strong>NAME modis_nasa</strong></dt><dd><p>The LAYER identifier.</p>
</dd>
<dt><strong>TYPE RASTER</strong></dt><dd><p>Since this the WMS layer is an image, we use RASTER as LAYER TYPE.</p>
</dd>
<dt><strong>OFFSITE 0 0 0</strong></dt><dd><p>Ignore the black background color</p>
</dd>
<dt><strong>STATUS OFF</strong></dt><dd><p>Turn this layer off by default.</p>
</dd>
<dt><strong>CONNECTIONTYPE WMS</strong></dt><dd><p>The type of LAYER connection to use. The default is LOCAL.</p>
<div class="admonition note">
<p class="admonition-title">Nota</p>
<p>If we have to be explicit, we would add CONNECTIONTYPE LOCAL to
all of the vector and raster layers in our mapfile. Instead we only
define connection types that are external. WMS is an external
data layer, coming from another map server.</p>
</div>
</dd>
<dt><strong>CONNECTION «https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi?»</strong></dt><dd><p>The connection string that allows us to <em>get</em> the data from another
server. In the case of WMS connections, this is a URL. If we were
using a PostGIS database, it would be an SQL statement. Please
note that the string has to be in a single line in your mapfile.</p>
</dd>
<dt><strong>METADATA</strong></dt><dd><p>marks the beginning of the METADATA object for our WMS layer.
MapServer uses the parameters defined within this object along with
the CONNECTION parameter above to form a valid WMS request to the
WMS server.</p>
</dd>
<dt><strong>«wms_srs» «epsg:4326»</strong></dt><dd><p>The WMS projection. Sometimes the WMS server supports more than
one projection. If this is the case you might want to request the
map in your output projection (epsg:2163). Unfortunately, the NASA
server doesn’t support this projection.</p>
</dd>
<dt><strong>«wms_name» «Blue Marble»</strong></dt><dd><p>The WMS layer name. This is like adding the parameter «layers=modis».</p>
</dd>
<dt><strong>«wms_server_version» «1.1.1»</strong></dt><dd><p>The WMS version the server complies to. For more options, see
<a class="reference internal" href="../ogc/ogc_support.html#ogc-support"><span class="std std-ref">MapServer OGC Specification support</span></a>.</p>
</dd>
<dt><strong>«wms_format» «image/jpeg»</strong></dt><dd><p>The image format we expect to be receiving from the WMS server.
You can try replacing the value with <em>image/png</em> or something else.</p>
</dd>
<dt><strong>END</strong></dt><dd><p>marks the end of the METADATA object</p>
</dd>
</dl>
<p>To know more about adding WMS layers to your applications, please visit the
<a class="reference internal" href="../ogc/wms_client.html#wms-client"><span class="std std-ref">MapServer WMS Client Howto</span></a>.</p>
</section>
<section id="web-object-parameters">
<h4>WEB Object Parameters<a class="headerlink" href="#web-object-parameters" title="Link to this heading">¶</a></h4>
<p>In addition to adding the WMS layer object, there’s also a new object under MAP. This is the WEB object. Within the WEB object are two parameters:</p>
<dl class="simple">
<dt><strong>IMAGEPATH “/data/tmp/”</strong></dt><dd><p>The absolute local path to a web accessible temporary
directory. The user running the web server processes should be able
to write to this directory. Make sure that the path includes a
slash (/) at the end. (Your IMAGEPATH might look something like
this: «/home/apache/htdocs/tmp/» or «C:/Inetpub/wwwroot/tmp/».)</p>
</dd>
<dt><strong>IMAGEURL “/tmp/”</strong></dt><dd><p>This is how IMAGEPATH will appear relative to the web server’s root
directory. If we have to type the full URL for this, it will be
«<a class="reference external" href="https://demo.mapserver.org/ms_tmp/">https://demo.mapserver.org/ms_tmp/</a>». Make sure that the path
includes a slash (/) at the end.</p>
</dd>
</dl>
<hr class="docutils" />
<p>Finally, within the MAP object, I added a new parameter: NAME. This is
the identifier for the MAP object. MapServer uses this as prefix to
all images it creates and dumps to the <em>tmp</em> directory. It’s not
needed at this point but it also doesn’t hurt to have it.</p>
<p>If you would like to share your data layers to other map servers, you
will need to add METADATA objects within your MAP object and within
each of the LAYER objects you would like to share. All the WMS layers
that you added from another server will automatically be cascaded and
will also become available to others. To know more about how to make
your MapServer application become a WMS server, please read the
<a class="reference internal" href="../ogc/wms_server.html#wms-server"><span class="std std-ref">MapServer WMS Server HowTo</span></a>. Documentation also
exists for configuring MapServer applications to support the WFS
standard, both as a <a class="reference internal" href="../ogc/wfs_server.html#wfs-server"><span class="std std-ref">server</span></a> and as a <a class="reference internal" href="../ogc/wfs_client.html#wfs-client"><span class="std std-ref">client</span></a>.</p>
<hr class="docutils" />
<p><a class="reference internal" href="example1-6.html#example1-6"><span class="std std-ref">Back to Example 1.6</span></a> | <a class="reference internal" href="example1-8.html#example1-8"><span class="std std-ref">Proceed to Example 1.8</span></a></p>
</section>
</section>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Ricerca veloce</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Vai" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
<p>
<a href="../about.html" title="About">About</a><br>
<a href="../products.html" title="Products">Products</a><br>
<a href="../community/index.html" title="Community">Community</a><br>
<a href="../development/index.html" title="Development">Development</a><br>
<a href="../download.html" title="Downloads">Downloads</a><br>
<a href="../documentation.html" title="Documentation">Documentation</a><br>
<a href="../faq.html" title="FAQ">FAQ</a><br>
<a href="../psc.html" title="PSC">PSC</a><br>
<a href="https://fosstodon.org/@mapserver" title="Mastodon">Mastodon</a>
</p>
<h3>Current Table Of Contents</h3>
<ul>
<li><a class="reference internal" href="#">Example 1.7</a><ul>
<li><a class="reference internal" href="#adding-ogc-wms-layers">Adding OGC WMS Layers</a><ul>
<li><a class="reference internal" href="#the-mapfile">The MapFile</a><ul>
<li><a class="reference internal" href="#layer-object-and-wms-parameters">LAYER Object and WMS Parameters</a></li>
<li><a class="reference internal" href="#web-object-parameters">WEB Object Parameters</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigazione</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="Indice generale"
>indice</a></li>
<li class="nav-item nav-item-0"><a href="../index.html">Home</a> »</li>
<li class="nav-item nav-item-this"><a href="">Example 1.7</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
© <a href="../copyright.html">Copyright</a> 2026, Open Source Geospatial Foundation.
Ultimo aggiornamento 2026-04-20.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 9.1.0.
</div>
</body>
</html>