导航:首页 > 源码编译 > qgis编译怎么这么难

qgis编译怎么这么难

发布时间:2025-08-06 11:11:50

A. mapserver的mapfile文件怎么调式

一、手工修改:

这种方式槛太高,首先需要了解mapfile文件的结构,需要熟读Mapfile宝典《Mapfile
Reference》,搞清楚每个参数的详细含义,一般人没有个把星期是搞不懂的。

二、其它软件输出:

目前部分开源软件支持输出MapServer格式的文件,像QGIS
,MapWinGIS等,ArcGIS也有相关的插件可以输出mapfile,但它们输出的文件往往会丢失很多信息,像符号等很容易丢失,而且容易出错,在MapServer中无法直接使用,还需要打开做进一步修改,也就是说还需要了解Mapfile的文档结构。

我一直在想为什么MapServer就没有配置工具呢?其实,关于MapServer的工程文件配置界面,已经有其他人做过相关的开发,有几个这方面的开源项目,都是BS架构开发的,个人感觉比较好的是maplab,做的比较深入,功能也相对比较丰富,但不知道什么原因,这些项目到目前为止都停止开发了,maplab最后的版本可能是maplab-<?xml:namespace
prefix = st1
/>,比较老了,已经不支持现在的MapServer5,,可能是维护起来比较困难,大家都放弃开发了。

工作中我们也有这方面的需求,开发一个mapfile生成工具,这个光荣的任务是由我来承担的,由于我以前是做组件开发的,相对来说更熟悉CS架构,并不打算用BS的方式来开发。MapServer可以生成的C#类库,本来想用它在C#中直接做用户界面,但不知道什么原因,在ASP.NET项目中用C#调用这些类库是没有问题的,但在Windows应用程序项目中便问题多多(难道是封装出来的类库只能再BS架构中用?)。时间紧迫没精力去研究太深,后来我索性用自己最擅长的技术了,管他麻不麻烦,先实现了再说。具体实现就是将MapServer的C类库重新封装成了一系列COM接口,然后再在C#中调用自己封装的接口来做界面,很快地便实现了一个小工具。有人可能会问,为什么不直接用VC做界面,没什么原因,就是我不喜欢,太麻烦,C#开发界面多方便,呵呵。

总体来说我对这个小工具还是很满意的,功能也不多,就像是一个小型的GIS软件,由地图显示、图层列表、工具条和菜单几个部分组成,可以直接打开MapServer的mapfile文件并显示,如果打开map文件出错可以显示详细的错误信息,也可以新建一个mapfile文件,直接向mapfile中添加图层,对其配置符号,设置标注,可见比例尺等。对打开的mapfile文件可以进行缩放等各种浏览操作,mapfile的各种属性配置基本都可以修改并实时的体现在工具的显示界面中,修改到自己满意了之后,可以将mapfile文件输出,直接在MapServer中调用。

甚至可以加上属性查询、空间量算等功能,所有MapServer能实现的功能都可以做到这个小工具中,当然这些都是后话了,工作中不需要这些所以也就没有实现。

完成之后,发现这就是一个小型的桌面GIS系统,虽然开始开发的时候感觉这么做走了弯路,现在想想这也是一条可取之路,开源软件的更新频率很高,如果MapServer的底层库函数发生了变化,也只需要将它的C类库重新编译一次就可以继续使用了,即使MapServer扩展了功能模块,我们也只需要再增加相关的接口便可以。维护起来相对比较简单,软件的持续更新也就有了保障。

阅读全文

与qgis编译怎么这么难相关的资料

热点内容
电压低压缩机工作怎么样 浏览:173
ol刷金app哪个好 浏览:394
html转ubbphp 浏览:88
mmm编译完如何打包 浏览:61
返利券app如何实名 浏览:54
压缩裤男图片 浏览:954
linux磁盘标签 浏览:379
java身份证号码验证 浏览:280
网页设计CSS外边框代码编译 浏览:124
考程序员都考什么 浏览:950
程序员特别困怎么回事 浏览:25
php替换颜色 浏览:500
你的个人文件夹满了怎么回事 浏览:531
命令att 浏览:827
必须添加的java编译器选项 浏览:716
linux磁盘修复命令 浏览:1002
python提取tuple类型 浏览:89
数控编程中什么是地址符 浏览:80
微信新增服务器是什么意思 浏览:809
常德云服务器存储 浏览:696