2024年3月19日发(作者:)

MapServer配置以及地图发布

*本教程以WIN7 X64操作系统为例。

服务器ms4w_3.0.6

文本编辑器 Visual Studio Code 0.5

地图编辑工具使用QGIS(单纯只是发布地图不需要安装)

一、 MapServer安装配置

MS4W 是MapServer windows下的安装程序 官方地址为:

/ms4w/

下载地址为:

/file/bd2fb63bec6c7c2956ff395403

b34fa8?bkt=p2-nj-944&fid=890678271-253138263&t

ime=1437983098&sign=FDTAXGERLBH-DCb740ccc5511e5e8fedcff06b0

81203-piYW9glHeiaI0k%2F8rXHea6U3sA4%3D&to=qb&fm=Qin,B,G,ny&

sta_dx=47&sta_cs=0&sta_ft=zip&sta_ct=0&fm2=Qingdao,B,G,ny&n

ewver=1&newfm=1&secfm=1&flow_ver=3&pkey=1400bd2fb63bec6c7c2

956ff395403b34fa88199cba7000002edc4df&sl=79822927&expires=8

h&rt=pr&r=277943721&mlogid=4137206892&vuk=890678271&vbdid=3

890359460&fin=ms4w_&fn=ms4w_&slt=pm&uta=0

&rtype=1&iv=0

解压到相关目录 这里直接解压到D盘系统目录结果如下:

Win+R 输入CMD回车进入到命令行模式:

切换到目录命令行 进入解压后的目录

执行 apache-install

NET HELPMSG 3457

呵呵 80端口被占用了

修改apache 端口为8001(因为我的81端口也占了这里根据个人喜

好而定)

端口修改为8001或者其他未占用的端口

重新执行apache-install

安装 就OK了

在IE或其他浏览器中访问

127.0.0.1:8001/cgi-bin/

No query information to decode. QUERY_STRING is set, but empty.

说明安装成功 但是地图是空的

接下来就要进行配置

二、 地图配置(MapFile配置)

进入

D:ms4wtoolsgdal-ogr

执行

ogrinfo D:ms4wdatayulin

ogrinfo信息主要用于查看shpfile等图层信息

拷贝D:ms4wApachecgi-bin目录下的

,xerces-c_3_

lti_lidar_ lti_

geos_

具体直接在根目录下搜

D:ms4wtoolsgdal-ogr

拷贝完成后再执行ogrinfo D:ms4wApachehtdocsYLData

ogrinfo D:ms4wApachehtdocsYLData

qgis下载地址

/qgis/win32/QGIS-OSGeo4W-2.8.2-1-S

etup-x86_

下载完qgis后配置好相关图层信息

发布一个图层Shp文件放到

D:ms4wApachehtdocsYLData

SHP文件如上图

在D:ms4wApachehtdocs目录下新建

内容如下:

MAP # Start of MAP object

NAME "china-region"

STATUS ON

IMAGECOLOR 255 255 255 #图层背景颜色

SIZE 800 600 #尺寸

#EXTENT 70 10 140 60

EXTENT 87.85 31.17 129.58 53.23 #地图视野范围

SHAPEPATH "YLData" #shp文件目录

LAYER

NAME "qxj" #图层名称 URL中用

METADATA

"DESCRIPTION" "qxj"

END

TYPE LINE #图层类型 POINT LINE ???

STATUS OFF

DATA "QXJ_region" #对应的shp图层名

CLASS #样式

NAME "Graticule"

STYLE

COLOR 0 0 0

END

END

END # Layer

END # End of MAP object and map file

保存后在浏览器中输入如下内容:

127.0.0.1:8001/cgi-bin/?MAP=D:/ms4w/Apach

e/htdocs/&layers=qxj&styles=&service=WMS&mode=map&

width=256&format=image%2Fpng&request=GetMap&height=256&srs=

EPSG%3A4326&version=1.1.1

URL中注意layers为需要获取的图层 文件对应的路径

这是地图就会自动加载出来:

* 注意MapServer不支持中文名称路径 所以shp文件名称以及存放

路径不要使用中文。

* MapFile的配置资料网上很多 大家可以直接百度进行研究。

三、 TileCache地图缓存服务配置

python 2.7 下载地址/downloads/

tilecache2.1.1 下载地址 :

/

安装python

解压tilecache到D:/ MS4W/APPS目录下:

在D:ms4whttpd.d目录下新建httpd_

内容如下:

Alias /tilecache/ "D:/ms4w/apps/tilecache-2.11/"

AllowOverride None

Options ExecCGI

Order allow,deny

Allow from all

addHandler cgi-script .cgi .py

编辑D:

主要是第一行:

#!D:/Python27/

from TileCache import Service, cgiHandler, cfgfiles

if __name__ == '__main__':

svc = (*cfgfiles)

cgiHandler(svc)

D:

后边改为

[yulinmap]

type=WMS

url=localhost:8001/cgi-bin/

layers=xz,s,qx,djs,dy,cz,p26ggcs,p25dxfw,p24fjms,p23ssxzf,p

22qcfw,p21cyfw,p20zhxx,p19zzxq,p18gygc,p17gsqy,p16kyjy,p15y

lfw,p14xxyl,p13bgjd,p12lshy,p11syds,p10jrfw,p09sfz,p08gsffq

,p07tcc,p06jyzjqz,p04qcz,p02hczdtz,p02jc,p01zf,ssj,sj,qxj,q

cqj,hpsk,hl,gnq,gyld,xd,tl,sqzl,sqdl,ssd,rxd,qtdl,gds,gd,gs

gls,gjgl

extension=jpeg

size=256,256

bbox=109.0 36.9 109.9 39.5

#resolutions=110, 90, 70, 50, 30, 25, 20 ,4

[cache]

type=Disk

base=F:/tmp/tilecache

添加一个road标签,指定地图服务类型,服务地址,mapfile文件路径,图层名称,栅格格式,空间参考系统编码,例

[road]

type=WMS

url=127.0.0.1/cgi-bin/?map=I:/cn_data/&transparent=true&

layers=road

extension=png

srs=EPSG:4326