18.2. 使用qgis-server 和 qgis 发布地图¶
18.2.1. 将qigs项目添加到qgis-server的文件夹¶
创建一个新的文件夹(也可以不创建放在cgi-bin目录下,但是遍历时只是默认第一个,读取到后不会 访问其他文件)
cd /usr/lib/cgi-bin
sudo mkdir MyProject
cd MyProject
将qgis_mapserv.fcgi和wms_metadata.xml链接到这个新文件夹中
sudo ln -s ../qgis_mapserv.fcgi && sudo ln -s ../wms_metadata.xml
如果文件不能被操作可能是权限原因修改文件夹的权限
sudo chmod +777 /usr/lib/cgi-bin/MyProject
将QGIS项目文件。链接到该文件夹。然后重启Apache,这个步骤有两种方法
建立链接
sudo ln -s /home/dir/file.qgs /usr/lib/cgi-bin/MyProject/file.qgs
直接复制文件
/usr/lib/cgi-bin/MyProject
重启web server
sudo service apache2 restart
18.2.2. 建立wms图层¶
打开qgis客户端点击图层>添加图层> 添加矢量图层,如 图 18.4

图 18.4 添加矢量图层¶
“项目”菜单下的“项目属性”,转到“OWS服务器”选项卡,如 图 18.5 。 快捷键: shift ctrl p,如 图 18.6 。

图 18.5 建立ows服务(1)¶

图 18.6 建立ows服务(2)¶
继续向服务器添加QGIS项目,现在我们在项目中添加WMS层以将其连接到服务器, 因此请转到 “图层>添加图层>添加WMS / WMTS 图层”,如 图 18.7 。

图 18.7 创建wms图层¶
现在创建一个新的连接,并为URL添加你的参数必须是这样的,如图 图 18.8 。

图 18.8 添加wms图层¶
http://localhost:port/cgi-bin/dir/qgis_mapserv.fcgi?
http://localhost:port/cgi-bin/dir/qgis_mapserv.fcgi?map=/home/dir/to/file.qgs&
勾选'忽略GetMap / GetTile URI'和'忽略GetFeatureInfo URI'框,然后勾选'OK'。
确保你的网址指向'http//localhost/cgi-bin/dir/qgis_mapserv.fcgi' 最好指定qgis项目文件的完整路径,'cgi-bin'文件夹中的文件夹以及用作wms源的任何shapefile, 'qgis_mapserv.fcgi'文件和'wms_metadata.xml'文件。 现在在“添加图层”对话框中选择“图像编码”到PNG,因为它是具有多个特定坐标的最佳格式。
点击连接,图 18.9

图 18.9 连接图层¶
在我们回到您的QGIS项目之前,检查您可以将新创建的WMS图层添加回QGIS, 就像使用来自不同来源的任何其他WMS一样。当您点击“连接”按钮时,您应该看到之前创建的图层列表, 如果没有,请返回并查看本文开头的内容。 选择一个图层并单击“添加”,图层应作为普通的qgis图层显示在图层面板中,图 18.10。

图 18.10 查看图层¶
在左下角的WMS图层,右键单击然后转到“属性”并记下边界框坐标或图层范围,图 18.11 。

图 18.11 查看坐标参照系¶
继续向下滑动,查看图层范围,图 18.12。

图 18.12 查看图层范围¶
在浏览器中我们现在可以在url的'GetMap'部分中使用这些坐标
http://localhost/cgi-bin/dir/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&SRS=EPSG:4326&REQUEST=GetMap&map=/home/dir/to/file.qgs&BBOX=''&WIDTH=1500&HEIGHT=1200&LAYERS=''&STYLES=''&FORMAT=image/png
在这部分url中,在apache2主机服务器上找到qgis-server可执行文件
http://localhost:81/cgi-bin/airport/qgis_mapserv.fcgi?
这称为WMS服务,它的版本和目标空间参考系统,因为我们正在使用ESPG:4326。
SERVICE=WMS&VERSION=1.3.0&SRS=EPSG:4326&
此REQUEST部分是从自定义后保存的qgis项目文件源获取“map”的请求。
REQUEST=GetMap&map=/home/dir/to/file.qgs&
此BBOX设置检索到的图像边界的大小以及浏览器中图像区域的“宽度”和“高度”坐标。
&BBOX=-179.135999,-72.781500,179.194999,89.246600&
最后一部分是WMS各层的描述和显示。没有指定 STYLES
,因为它指定了.qgs文件。最后,输出格式是png图像,图 18.13。
&STYLES=''&FORMAT=image/png

图 18.13 输出格式¶