当前位置: 首页 > news >正文

成都住房和城乡建设厅网站网上教育培训机构哪家好

成都住房和城乡建设厅网站,网上教育培训机构哪家好,免费的网站后台,南宁seo规则1、自主学习QGIS开发虽然QGIS本身功能强大,但还是架不住我们要编写新的功能、新的业务流程、新的算法。前文中我们提到,扩展QGIS有2种方法,一是用Python、C来写QGIS的插件;另一种就是基于QGIS的C API开发独立应用程序。然而后者资…

1、自主学习QGIS开发

虽然QGIS本身功能强大,但还是架不住我们要编写新的功能、新的业务流程、新的算法。前文中我们提到,扩展QGIS有2种方法,一是用Python、C++来写QGIS的插件;另一种就是基于QGIS的C++ API开发独立应用程序。然而后者资料甚少,官方C++ API文档也非常简略,我也不可能把所有功能都列举出来,放到博客里。因此我们想要开发更多功能,就得借助一大利器——PyQGIS的文档了。

2、PyQGIS

Python是一种面向对象、直译式的电脑程式语言,具有近二十年的发展历史。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程式设计语言使用大括号不一样,它使用缩进来定义语句块。

Python由于有着较高的开发效率,并且具有胶水语言的特性,被广泛应用于各种系统当中。ArcGIS与QGIS也不例外。QGIS项目中,使用了sip库来实现Python与C++代码的绑定。QGIS官方称之为PyQGIS。

QGIS软件里面,专门有一个Python的控制台,用于使用Python脚本,实现一些特殊功能。开启方法为:Plugins → Python Console。效果图如下:

由于Python的种种优势,QGIS官方写了一个PyQGIS cookbook的文档,里面对PyQGIS进行了详细的介绍。文档内容包括但不限于:

  • -载入图层

  • -使用栅格图层

  • -使用矢量图层

  • -处理几何形体

  • -投影变换

  • -地图渲染、打印

研究PyQGIS文档,就会发现,里面各个类的名称,与QGIS的C++ API中的名称一样。因此,我们可以通过QGIS的Python文档,来学习QGIS C++的开发。

3、举例——载入图层

上一篇中提到的,我们的第一个QGIS程序中的一个功能,就是打开Shapefile文件,并显示出来。如果我们通过PyQGIS的文档,该怎样学习开发呢?

我们应该先在PyQGIS中,找到相应功能的文档介绍。比如载入图层,就是:http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/loadlayer.html

里面介绍载入OGR图层(Shapefile属于OGR图层),代码如下:

vlayer = QgsVectorLayer("/path/to/shapefile/file.shp", "layer_name_you_like", "ogr")

我们”翻译“成C++的代码,就是:

QgsVectorLayer *vlayer = new QgsVectorLayer("/path/to/shapefile/file.shp", "layer_name_you_like", "ogr");

可以看出来,Python代码转化为C++代码非常方便。

文档中还介绍了载入栅格图层的Python代码:

fileName = "/path/to/raster/file.tif"
fileInfo = QFileInfo(fileName)
baseName = fileInfo.baseName()
rlayer = QgsRasterLayer(fileName, baseName)
if not rlayer.isValid():print "Layer failed to load!"

其对应的C++代码就可以写成:

QString fileName = "/path/to/raster/file.tif";
QString fileInfo = QFileInfo(fileName);
QString baseName = fileInfo.baseName();
QgsRasterLayer *rlayer = new QgsRasterLayer(fileName, baseName);
if (!rlayer.isValid())qDebug()<<"Layer failed to load!";

4、小结

通过PyQGIS文档,我们可以了解QGIS的基本开发方法,也能很容易地将Python代码转化为C++代码。

http://www.ds6.com.cn/news/3828.html

相关文章:

  • 培训 网站 模板在线域名ip查询
  • 做网站需要哪些硬件网页开发流程
  • ajax做网站南昌关键词优化软件
  • vi系统设计济南seo优化外包服务
  • 开封网站建设谷歌google
  • 自己买个服务器做代挂网站b站是哪个网站
  • 巴中城乡建设官方网站西安百度推广开户
  • 做动态影集的网站优化大师的功能有哪些
  • 网站首页设计分析怎么在百度推广
  • 学服装设计真的没有出路吗青岛百度seo排名
  • 安徽住房和城乡建设厅官网专业全网优化
  • 湖南网站建设360o百度收录网站多久
  • 三水网站设计地推拉新app推广平台
  • 做网站建设销售工资市场调研报告怎么写范文
  • 江苏大汉建设实业集团网站最新热搜新闻事件
  • 做预算查价格的网站是哪个电商
  • 广告公司怎么取名大连网络营销seo
  • 网站开发规范培训平台有哪些
  • 移动网站建设书籍推荐怎么推广游戏叫别人玩
  • 利用公共dns做网站解析seo搜索如何优化
  • 自己可以做企业网站吗网络推销平台有哪些
  • 网站注册域名后怎么做seo站内优化技巧
  • 沈阳建设厅官方网站软文网站推荐
  • 独立网站如何做推广网页制作公司排名
  • 如何做聊天网站中国今日新闻
  • 做网站需要哪些资料知乎推广渠道
  • 做驾校题目用什么网站好win10优化
  • WordPress做漫画网站查询网站收录
  • 织梦网站模块个人网站设计方案
  • 网站建设描述怎么写营销团队