【WebGIS】1、基于MS4W的MapServer安装

世界听的明白 2024-10-14 16:03:01 阅读 79

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。

<code>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/。

在这里插入图片描述

<code>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、完成后,请务必按照<code>根目录/ms4w/REQUIREMENTS.txt中的说明在系统上安装 C++Redistributable。

路径:根目录:\ms4w\tmp

文件:VC_redist.x86.exe

安装目录

3、管理员状态下cmd运行<code>根目录\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可访问目录<code>/ms4w/apps/中没有安装web应用(GeoMoose 或 OpenLayers 等 Web 应用)。

在这里插入图片描述

如果你想安装web应用,配置了MS4W的Web应用进程可以在https://ms4w.com/release/apps/上作为单独的zip文档找到。下文以安装Openlayers为例,首先下载Openlayers的的zip文件。

在这里插入图片描述

要将Openlayers(指定的Web应用程序)安装,只需要解压缩Openlayers压缩文档,将压缩包内的文件放置在对应MS4W相同的目录下,<code>图中Openlayers压缩包内Apached的文件被放至ms4w内Apache文件内,其他文件类似。

在这里插入图片描述

复制完后应发生两件事。1、Web 应用程序目录应显示在/ms4w/apps/中,2、应将新的 httpd_.conf 文档添加到/ms4w/httpd.d/httpd_.conf。

1、Openlayers(Web应用程序)目录应显示在/ms4w/apps/中,如<code>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,输入命令)。

<code>必须在管理员权限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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。