QGis依赖的第三方库和工具简介

来源:互联网 发布:php进销存管理系统 编辑:程序博客网 时间:2021/06/19 14:54
  • QGis编译文档
  • QGis的编译需要很多第三方的库和工具
  • QGis依赖工具
    • cmake
      • 跨平台的项目工程生成工具,使用它可以生成各个平台的工程文件
    • flex & bison
      • 首先这是两非常牛逼的东西
      • 其次,他们总是在一起使用
      • 它们的前身是lex yacc,现在在unix下还是使用这两个,linux下使用flex bison
      • 大致上它们起这样的作用:它们是两个可执行文件,确切的说是语法解析器。它们有自己的语法规则,配合一些c代码及它们的规则,形成类似脚本的东西,用这样个解析器解析这个“脚本“,生成.c文件,高效的实现某类程序
      • 相关文章
        • http://www.cnblogs.com/itech/archive/2012/03/04/2375746.html
        • http://blog.chinaunix.net/uid-24774106-id-3566855.html
      • windows下有2合1的版本,下载链接暂时找不到了
  • QGis依赖库
    • Qt相关
      • qt库
        • 开源的c++界面库,当然它其实能做的不只是界面
      • qt4-devel
        • qt的开发包,包含依赖库 
      • Qwt
        • Qt下的开源图表库
        • 简单使用
      • qwt5-devel-qt4
    • Gis相关
      • Proj.4
        • 开源的Gis地图投影库,功能包括经纬度坐标与地理坐标的转换、坐标系的转换、基准变换等
        • 编译与简略使用
      • Geos
        • GEOS是“Geometry Engine, Open Source”的含义,提供了OGC规范中简单几何要素对象操作的C++语言的实现。在地理信息系统领域,拓扑模型是重要的,其计算方法简单但是难得以实现。使得GEOS不同于其他项目的也正是“空间谓词”与“空间操作”。空间谓词是比较两个空间对象并返回一个布尔变量值作为结果,它表明了存在于两个空间对象之间特殊的关系。比如典型的空间谓词有Contains(), Intersects(), Touches(), and Crosses()函数等。GEOS项目中对该些函数的实现是异常强壮的,即使是奇异几何对象或是临时的坐标系统运算也不能使其运算不正常或计算错误。目前绝大多数的商业软件仍然在最基础的空间谓词处理上相对成熟,这正是GEOS项目的重要意义。“空间操作”则主要是对两个几何对象进行计算并且返回一个新的几何实体。比较典型的操作函数如Difference(), Union()以及Buffer()等。GEOS中的操作算法已经被广泛的经过了测试。GEOS类库被各类开源空间信息软件项目广泛应用,使用GEOS,它们可以基于最新的规范的几何实体来完成,同时也拥有了复杂空间方法的实现。
        • 简单得说,就是判断两个几何形状之间关系和对两个几何形状进行操作以形成新的几何形状的库
        • 资料
      • GDAL/OGR
        • 空间数据格式处理库,转换与处理绝大多数栅格和矢量空间数据格式
        • 资料
      • GRASS
        • 基本上它就已经是一个GIS了,有界面,独立的程序
        • 维基
        • 官网
        • 在线教程
      • GSL
        • GNU出的用于科学计算的库
        • 简单使用
      • gpsbabel
    • 数据库相关
      • sqlite3
        • 小型数据库,这个不解释了
      • SpatiaLite 
        • SpatiaLite 是一套具有空间数据功能的 SQLite 数据库系统
        • 入门
      • libspatialindex-devel 
      • PostgreSQL
      • Oracle OCI library
        • ORACLE支持需要的DLL
      • expat
        • xml解析库 
        • 简单示例
    • python相关
      • PyQt
        • 可以理解为Qt的Python版本,用于制作GUI  
        • 相关资料汇总
      • QScintilla2
        • 这个似乎不怎么重要,它是一个编辑器,Scintilla编辑器在Qt下的版本。反正windows下编译QGis没用到 
      • SIP
        • SIP是一个自动为C和C++库生成Python扩展模块的工具
        • 在这里可以将一些c/c++库转换成Python模块供PyQt使用
      • 用这三个可以用python开发qt的环境
    • FastCGI
      • CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。
      • FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
    • iconv
      • 用于编码格式转换
    • 其中有些库不是必须的,是根据你的插件需求安装的
      • 根据需要的插件需要的库
0 0
原创粉丝点击