国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

成都住房和城鄉(xiāng)建設(shè)部網(wǎng)站天津疫情最新消息

成都住房和城鄉(xiāng)建設(shè)部網(wǎng)站,天津疫情最新消息,怎么做微信領(lǐng)券網(wǎng)站,建設(shè)銀行河北分行官網(wǎng)招聘網(wǎng)站1、自主學習QGIS開發(fā)雖然QGIS本身功能強大,但還是架不住我們要編寫新的功能、新的業(yè)務(wù)流程、新的算法。前文中我們提到,擴展QGIS有2種方法,一是用Python、C來寫QGIS的插件;另一種就是基于QGIS的C API開發(fā)獨立應(yīng)用程序。然而后者資…

1、自主學習QGIS開發(fā)

雖然QGIS本身功能強大,但還是架不住我們要編寫新的功能、新的業(yè)務(wù)流程、新的算法。前文中我們提到,擴展QGIS有2種方法,一是用Python、C++來寫QGIS的插件;另一種就是基于QGIS的C++ API開發(fā)獨立應(yīng)用程序。然而后者資料甚少,官方C++ API文檔也非常簡略,我也不可能把所有功能都列舉出來,放到博客里。因此我們想要開發(fā)更多功能,就得借助一大利器——PyQGIS的文檔了。

2、PyQGIS

Python是一種面向?qū)ο?、直譯式的電腦程式語言,具有近二十年的發(fā)展歷史。它包含了一組功能完備的標準庫,能夠輕松完成很多常見的任務(wù)。它的語法簡單,與其它大多數(shù)程式設(shè)計語言使用大括號不一樣,它使用縮進來定義語句塊。

Python由于有著較高的開發(fā)效率,并且具有膠水語言的特性,被廣泛應(yīng)用于各種系統(tǒng)當中。ArcGIS與QGIS也不例外。QGIS項目中,使用了sip庫來實現(xiàn)Python與C++代碼的綁定。QGIS官方稱之為PyQGIS。

QGIS軟件里面,專門有一個Python的控制臺,用于使用Python腳本,實現(xiàn)一些特殊功能。開啟方法為:Plugins → Python Console。效果圖如下:

由于Python的種種優(yōu)勢,QGIS官方寫了一個PyQGIS cookbook的文檔,里面對PyQGIS進行了詳細的介紹。文檔內(nèi)容包括但不限于:

  • -載入圖層

  • -使用柵格圖層

  • -使用矢量圖層

  • -處理幾何形體

  • -投影變換

  • -地圖渲染、打印

研究PyQGIS文檔,就會發(fā)現(xiàn),里面各個類的名稱,與QGIS的C++ API中的名稱一樣。因此,我們可以通過QGIS的Python文檔,來學習QGIS C++的開發(fā)。

3、舉例——載入圖層

上一篇中提到的,我們的第一個QGIS程序中的一個功能,就是打開Shapefile文件,并顯示出來。如果我們通過PyQGIS的文檔,該怎樣學習開發(fā)呢?

我們應(yīng)該先在PyQGIS中,找到相應(yīng)功能的文檔介紹。比如載入圖層,就是: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代碼轉(zhuǎn)化為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!"

其對應(yīng)的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、小結(jié)

通過PyQGIS文檔,我們可以了解QGIS的基本開發(fā)方法,也能很容易地將Python代碼轉(zhuǎn)化為C++代碼。

http://m.aloenet.com.cn/news/34869.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)套餐是什么百度的關(guān)鍵詞優(yōu)化
  • wordpress 5.0.1編輯器seo外包多少錢
  • 十大網(wǎng)站app軟件下載網(wǎng)絡(luò)營銷與策劃試題及答案
  • 做的網(wǎng)站打開慢淮安百度推廣公司
  • 跨境電商亞馬遜seo教程之關(guān)鍵詞是什么
  • 網(wǎng)頁設(shè)計職位優(yōu)化大師下載安裝app
  • 四川華泰建設(shè)集團網(wǎng)站免費做網(wǎng)站網(wǎng)站
  • wordpress 評論框 提示網(wǎng)頁優(yōu)化方案
  • 英文網(wǎng)站建設(shè)方法網(wǎng)站怎么收錄到百度
  • 信陽網(wǎng)站建設(shè)策劃方案廣東今日最新疫情通報
  • 酒類網(wǎng)站建設(shè)方案海南seo排名優(yōu)化公司
  • 黃石做網(wǎng)站的公司網(wǎng)絡(luò)營銷實施計劃
  • wordpress主題下新建頁面網(wǎng)站seo站外優(yōu)化
  • 杭州百度推廣公司有幾家手機優(yōu)化軟件排行
  • 網(wǎng)站建設(shè)的公司哪家是上市公司電商培訓基地
  • 網(wǎng)站建設(shè)公司怎么做業(yè)務(wù)aso優(yōu)化教程
  • 瀘州市住房與城鄉(xiāng)建設(shè)局網(wǎng)站google免費入口
  • 珠海網(wǎng)站制作首頁上線了建站
  • 怎么購買網(wǎng)站空間免費廣告發(fā)布平臺
  • 2023年企業(yè)年報入口推動防控措施持續(xù)優(yōu)化
  • wordpress+4.5+多站點手機百度免費下載
  • 網(wǎng)站設(shè)計怎么做創(chuàng)建自己的網(wǎng)站怎么弄
  • 閔行網(wǎng)站設(shè)計seo專家是什么意思
  • 六安建設(shè)局網(wǎng)站百度搜索關(guān)鍵詞數(shù)據(jù)
  • bec聽力哪個網(wǎng)站做的好網(wǎng)站制作公司排名
  • wordpress tag 別名北京優(yōu)化seo公司
  • 石家莊百度推廣家莊網(wǎng)站建設(shè)提高搜索引擎檢索效果的方法
  • 成都網(wǎng)站排名 生客seo自己搭建網(wǎng)站
  • 網(wǎng)站內(nèi)地圖位置怎么做制作app軟件平臺
  • wordpress如何上傳超過2m合肥seo網(wǎng)站排名