最近在做毕业设计,准备开发一种栅格数据的空间索引,也顺便实现一下从本科毕业开始的宏愿,于是进行了调研,选择了这套解决方案,即利用PostGIS做后台,Mapserver做服务,OpenLayers做交互实现WebGIS的开发。
测试1:利用QGIS+Mapserver+OpenLayers实现栅格数据的可视化
参考文章:优快云博文
1、利用QGIS添加Raster文件,并生成Mapserver的map文件;
这里需要熟练使用QGIS的Plugins,而高版本的QGIS对PostGIS,Mapserver的支持并不好,因此推荐采用1.8.0版的QGIS进行操作。
此外,QGIS并不原生支持PostGIS的Raster数据,因此这也是强烈推荐低版本QGIS的原因。
S1、下载,安装,打开QGIS1.8.0【点击打开链接】,添加Raster图层
S2、添加插件MapServer Export
S3、将栅格图层导出为map文件。
2、利用Mapserver发布map文件,并测试;
不建议自己编译Mapserver,采用官方发布的ms4w在线下载就好了。配置过程中顺风顺水,问题不大。
截至到此,参照参考博文中1-6步即可实现。
S1、下载并安装ms4w点击打开链接。
S2、配置map文件。
安装ms4w,将map文件配置到ms4w目录下:ms4w/Apache/htdocs,之后重新ms4w服务,即在cmd中启动apache-restart。
根据cmd中的ERROR提示,修改.map文件中的部分相对路径。例如找不到文件云云。
注意,如需要执行apache-install,请用管理员权限启动命令行。
S3、本地测试map文件。
输入 http://127.0.0.1/cgi-bin/mapserv.exe?MAP=D:/ms4w/ms4w/Apache/htdocs/marsmap.map&LAYERS=ALL&MODE=MAP,对map文件进行测试。
本人的map文件测试结果如下【火星全球影像】
3、利用Mapserver发布WCS服务并测试;
详情参考:MapServer官方帮助
S1、修改.map文件以发布WCS服务,语法和要求见