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