1、MapServer简介
MapServer是一个基于胖服务器/瘦客户端模式的实时地图发布系统。当客户端发送数据请求时,服务器实时处理空间数据,并将生成的数据发送给客户端。
MapServer遵循OGC系列规范,可以集成PostGIS和开源数据库PostgreSQL,并对地理空间数据进行存储和SQL查询。基于ka-map、MapLab、Caroweb、Chameleon等一系列客户端JAVASCRIPT API,支持地理空间数据的传输和表达,并遵循OGC规范制定的一系列WMS、WFS、WCS、WMC、SLD、GML和Filter编码。
MapServer的核心部分是用C语言编写的地图操作模块,MapServer本身的许多功能的实现都依赖于一些开源或自由库,如Shapelib、FreeType、Proj.4、GDAL/OGR、GD库、Regex。
GD
GD是一个图像库。由于MapServer使用GD进行图像渲染,因此必须安装它。GD有自己的依赖类库,包括zlib、libpng、FreeType2.x和libJPEG。这些类型使GD能够执行图像压缩(对于支持的数据)、渲染PNG图像、使用TrueType字体以及渲染JPEG图像。由于GIF上的许可证已经过期,所以现在也可以使用了。
#在MapServer7.0中已删除了对GD的支持。
FreeType
FreeType是一个字体渲染引擎。它不被MapServer直接引用,但被GD用来呈现字体。由于TrueType比Mapserver提供的位图字体更吸引人,因此值得包含这个类库。
LibPNG
LibPNG使MapServer能够渲染JPEG图像。自2001年以来,一个新的版本已经发布。一般来说,这个库应该已经安装在机器上了。如果没有,可自行安装。Libpng使用MapServer来渲染PNG图像。它不是由MapServer直接使用,而是由GD使用。Libpng需要库zlib。
Zlib
Zlib是GD使用的数据压缩库。
GDAL
GDAL是用于栅格数据的转换类库。它提供具有地理投影的栅格图像的导入和投影,将不会在本书中使用这些功能,但这个库是安装Basic MapServer所必需的。
OGR
OGR库提供了读写一些矢量格式的能力。在本书中,将使用OGR提供的一些功能。
Proj.4
Proj.4是一个用于地图投影的程序。它可以由MapServer调用,也可以单独投影到整个数据库上。
Shapelib
Shapelib是一个C程序,用于生成和处理形状文件,可使用这个类库提供的有用工具,而不必自己编写任何C代码。它具有生成Shape文件(包括DBF文件)、销毁Shape文件和DBF文件以及更改Shape文件的投影的内容。其中一些功能基于Proj.4。
Libcurl
Libcurl是一个客户端库,支持FTP、FTPS、HTTP、HTTPS、Gopher、Telnet、Dict、文件和LDAPURL转换。如果要提供WMS支持,则需要此库。WMS协议用于在网络上传输地图图像和文件数据。为了保持地图服务器环境的简单,因此不必安装。
SDE客户端库
SDE客户端库是ESRI空间数据仓库的一部分。如果希望MapServer访问它,则需要编译该库。
2、MapServer在Windows下的安装
MapServer能够在多种不同的系统(Windows、Linux、Mac OS X等)上运行,此次只讲解在Windows下安装MapServer,其他平台安装参考官方帮助。
在Windows下还需要安装Apache2、CGI和MapServer程序,这些程序在Windows下也有二进制包,但这种循序渐进的安装比较麻烦,容易出现问题,建议使用 MS4W (MapServer4 Windows),链接为:https://www.ms4w.com/。
2.1下载MS4W
下载的MS4W版本为5.0.0,下载链接为:https://ms4w.com/release/。
MS4W 5.0.0
These builds contain:
MapServer 8.3.0-dev
GDAL 3.10.0-dev
Apache 2.4.62
PHP 8.3.11
Python 3.12.6
MapCache 1.15-dev
2.2安装MS4W(MapServer4 Windows)
1、下载MS4W.zip,使用压缩软件(例如,好压、7zip)在驱动器的根目录(例如,驱动器 F:\)处提取软件包。如果成功,您应该在您选择的驱动器的根目录下有一个名为’ms4w’的新目录(例如, F:\ms4w)。
如果使用的是 setup.exe 安装进程,且在包含空格的路径中安装 MS4W,某些应用进程可能会出现问题。因此,建议不要将 MS4W安装在包含空格的路径中。最好将 MS4W 安装在驱动器的根目录下,例如 C:\或 D:\
2、完成后,请务必按照根目录/ms4w/REQUIREMENTS.txt
中的说明在系统上安装 C++Redistributable。
路径:根目录:\ms4w\tmp
文件:VC_redist.x86.exe
3、管理员状态下cmd运行根目录\ms4w\apache-install.bat
(cmd下,也可切换换盘符,再cd至路径,运行.bat),启动 MS4W Apache Web Server安装(打开命令提示符窗口并在命令行中执行它,不建议只双击该文档,此文件将 Apache 安装为 Windows 服务),安装成功后命令窗口中应显示下图红色框内消息
,且任务管理器窗口中服务“ApacheMS4WWebServer”
正在运行。
2.3查看 MS4W安装结果
要测试 Apache 是否正常运行,请打开 Web 浏览器,然后通过输入以下 URL 之一找到本地主机 Web 服务。
http://localhost/
http://127.0.0.1/
现在,我们在 Web 浏览器中看到 MS4W 主页面。这为您提供有关安装的一般信息以及配置信息。如果这是您第一次使用 MS4W,请务必查看 MS4W 中安装的列出的“Feature”,并通过选择此页面上的每个链接来测试它们。
恭喜你!!!,当你做到这里,你已经安装成功了,你太棒了。继续加油哦!
3、web应用的安装
从技术上讲,此时,MS4W 已安装!但是,正如您可能已经从 MS4W 主页中看到的那样,没有我们需要的应用进程正在运行(Openlayers)。
这表示在我们MS4W的Web可访问目录/ms4w/apps/
中没有安装web应用(GeoMoose 或 OpenLayers 等 Web 应用)。
如果你想安装web应用,配置了MS4W的Web应用进程可以在https://ms4w.com/release/apps/上作为单独的zip文档找到。下文以安装Openlayers为例,首先下载Openlayers的的zip文件。
要将Openlayers(指定的Web应用程序)安装,只需要解压缩Openlayers压缩文档,将压缩包内的文件放置在对应MS4W相同的目录下,图中Openlayers压缩包内Apached的文件被放至ms4w内Apache文件内,其他文件类似
。
复制完后应发生两件事。1、Web 应用程序目录应显示在/ms4w/apps/中,2、应将新的 httpd_.conf 文档添加到/ms4w/httpd.d/httpd_.conf。
1、Openlayers(Web应用程序)目录应显示在/ms4w/apps/中,如
openlayers-6.1.1
。
2、ms4w/httpd.d/目录中包含Apache配置文档,用于定义计算机/服务器上的哪些文档可通过Web访问。对于您安装的Openlayers(每个 Web 应用进程),将找到httpd_openlayers.conf
(一个新的配置文档)
这些可通过 Web 访问的目录的定义称为 Web 别名。要激活 Web 别名,必须重新启动 Apache(管理员cmd窗口运行apache-restart.bat,或cd至X:\ms4w\Apache\bin,输入命令)。
必须在管理员权限cd至X:\ms4w\Apache\bin,输入这些命令
避个雷,你可能在网上搜到启动Apache服务的命令下面这些,这对于ms4w是错误的:
1.httpd -k start #启动apache服务
2.httpd -k stop/shutdown #关闭apache服务
3.httpd -k restart #重启apache服务
ms4w下Apache服务的名称是“Apache MS4W Web Server”
,所以ms4w的Apache服务的命令需指定服务名称(-n),正确的是:
1.httpd -k start -n “Apache MS4W Web Server” #启动apache服务
2.httpd -k stop/shutdown -n “Apache MS4W Web Server” #关闭apache服务
3.httpd -k restart -n “Apache MS4W Web Server” #重启apache服务
要测试您最新安装的应用进程,请转到 MS4W 主页 index.html 页面(即 http://localhost/)。在 Applications (应用程序)部分中,您现在应该可以找到您刚刚安装的应用进程的链接。选择指向最近安装的应用程序的链接,以查看它是否已正确配置,如下图1、图2。
另一种选择是查找应用进程的 Web 别名,然后直接从 Web 浏览器调用它。例如,如果您安装了最新的 MS4W 版本的Openlayers,则 Web 别名为“Openlayers”。要转到 Openlayers 索引页面,只需输入 http://localhost/openlayers/,如下图3所示。
参考
感谢以下列举、未列举的作者提供的帮助:
安装和配置MapServer(指南):http://webgis.cn/mapserver-setup-setup.html
MapServer官方帮助(权威,详细):http://webgis.cn/mapserver-setup-setup.html
MapServer安装(简洁、明了):https://blog.csdn.net/Oruizn/article/details/111681844
MapServer之安装和基本使用(详细、明了):https://houzw.github.io/2017/01/18/MapServer%E4%B9%8B%E5%AE%89%E8%A3%85%E5%92%8C%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/
windows 安装 apache(启发):https://blog.51cto.com/tech4fei/5985330
MapServer应用(下一节的引导):https://www.cnblogs.com/eshinex/p/10276449.html