我如何从地图服务器获取wms-Layer,就像我们使用geoserver一样?

时间:2015-03-13 00:47:11

标签: geoserver wms mapserver

我的问题不是很清楚,但我会尝试解释它。当我们在Qgis中调用geoserver的wms层时,我们写http://adresse/geoserver/wms?我们找到了我们发布的所有图层。我想做同样的事情:写一个mapserver_adresse并获取我用mapserver发布的图层(我不想在adresse中写入mapfile名称)..是 - 它可能,我应该从哪里开始?感谢

1 个答案:

答案 0 :(得分:0)

您必须在可执行mapserv的同一位置编写脚本。在此脚本中,您可以设置变量MS_MAPFILE = / path / your / mapfile,然后执行mapserv。

在Linux上看起来如此:

#! /bin/bash
export MS_MAPFILE=/path/your/mapfile
./mapserv

别忘了#! / bin / bash,否则mapserver将拒绝工作。

将此脚本保存在mapserv所在的位置并使其可执行,即:

chmod +x /usr/lib/cgi-bin/your_script 

现在您可以将它用作qgis中的wms服务器,并使用以下地址:

http://address/cgi-bin/your_script?

如果你想隐藏" cgi-bin"部分也可以用apache来做。

另请参阅mapserver识别的所有其他环境变量:

https://trac.osgeo.org/mapserver/wiki/EnvironmentVariables

在使用Apache的Windows上,您可以使用SetEnvIf指令执行相同的操作,如:

SetEnvIf Request_URI "/cgi-bin/exemplars/BGS_Bedrock_Geology/wms" MS_map file=/ms4w/apps/cookbookExemplars/BGS_Bedrock_Raster_Map/onegeology.map