-
>
宇宙、量子和人類心靈
-
>
氣候文明史
-
>
南極100天
-
>
考研數學專題練1200題
-
>
希格斯:“上帝粒子”的發明與發現
-
>
神農架疊層石:10多億年前遠古海洋微生物建造的大堡礁
-
>
聲音簡史
PIE遙感圖像處理二次開發教程 版權信息
- ISBN:9787030697998
- 條形碼:9787030697998 ; 978-7-03-069799-8
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
PIE遙感圖像處理二次開發教程 內容簡介
本書基于PIE-SDK 6.0,以C#.NET 2013為開發語言對遙感圖像處理二次開發實例進行講解。全書共9章,包括PIE-SDK二次開發概述、PIE-SDK主要控件入門、數據基礎操作、遙感數據預處理、遙感數據處理、遙感算法開發、遙感與GIS一體化開發、地圖制圖、系統設計與開發綜合實戰等內容。本書配有大量具有實際背景的編程案例,并給出實現思路和代碼詳解,讀者可對照書中代碼進行練習。本書強調實用性、實戰性和全面性,案例豐富、由易及難、便于自學,展示了基于PIE-SDK進行遙感二次開發的全流程。 本書可作為高等學校遙感、地理信息科學、測繪工程等專業本科生和研究生的教材,也可作為相關專業從業人員和PIE軟件用戶的學習和操作指南,同時還可作為相關領域從事科學研究和工程技術開發人員的參考書。
PIE遙感圖像處理二次開發教程 目錄
序一
序二
前言
第1章 PIE-SDK二次開發概述 1
1.1 遙感圖像處理二次開發技術 1
1.2 PIE-SDK簡介 3
1.2.1 PIE-SDK體系結構 4
1.2.2 PIE-SDK組件庫 5
1.3 PIE-SDK開發方式 11
1.4 PIE-SDK二次開發環境配置 11
第2章 PIE-SDK主要控件入門 12
2.1 地圖控件 12
2.1.1 MapControl介紹 12
2.1.2 IMapControl控件接口 12
2.1.3 IMapControlEvents 事件接口 14
2.1.4 IPmdContents接口 14
2.2 圖層樹控件 15
2.2.1 TOCControl介紹 15
2.2.2 TOCControl控件接口 15
2.3 制圖控件 16
2.3.1 PageLayoutControl 介紹 16
2.3.2 PageLayoutControl 控件的接口 16
2.3.3 IPageLayoutControlEvents事件接口 17
2.3.4 IPmdContents接口 17
2.4 其他控件 17
2.4.1 符號選擇器控件 17
2.4.2 坐標系選擇控件 17
2.5 綜合開發環境搭建和開發實例 18
2.5.1 搭建開發環境 18
2.5.2 添加圖層、刪除圖層、移動圖層 20
2.5.3 地圖放大、地圖縮小、地圖平移、全圖顯示 20
2.5.4 繪制點、線、面和矩形對象 21
2.5.5 鷹眼圖 21
2.5.6 圖查屬性和屬性查圖 22
2.5.7 圖層樹控件和地圖控件關聯 22
2.5.8 圖層樹控件右擊事件 23
2.5.9 制圖控件及其操作 23
2.5.10 圖層樹控件右鍵菜單 23
2.5.11 地圖控件右鍵菜單 23
第3章 數據基礎操作 26
3.1 數據加載 26
3.1.1 加載矢量數據 26
3.1.2 加載柵格數據 27
3.1.3 加載科學數據集 29
3.1.4 加載GDB 地理數據庫 30
3.1.5 加載ArcGIS在線服務 30
3.1.6 加載谷歌在線服務 31
3.1.7 加載高德在線服務 32
3.1.8 加載自定義切片服務(天地圖) 32
3.1.9 加載靜止衛星數據 34
3.1.10 加載Micaps數據 35
3.1.11 加載長時間序列數據 36
3.1.12 加載自定義矢量數據 37
3.1.13 加載自定義柵格數據 37
3.2 地圖瀏覽 38
3.3 信息查看 39
3.3.1 探針工具 39
3.3.2 屬性查詢 39
3.3.3 圖層屬性 40
3.3.4 書簽管理 43
3.4 空間量測 43
3.5 數據顯示控制 44
3.5.1 亮度增強 44
3.5.2 對比度增強 44
3.5.3 透明度控制和標注控制 45
3.5.4 拉伸增強 45
3.5.5 亮度反轉 46
第4章 遙感數據預處理 47
4.1 輻射校正 47
4.2 幾何校正 51
4.3 圖像融合 54
4.4 圖像裁剪 55
4.5 圖像拼接 57
4.6 圖像鑲嵌 58
第5章 遙感數據處理 60
5.1 圖像分類 60
5.1.1 非監督分類 60
5.1.2 監督分類 63
5.1.3 ROI工具 65
5.1.4 分類后處理 66
5.2 圖像變換 70
5.2.1 主成分變換 70
5.2.2 *小噪聲變換 72
5.2.3 小波變換 74
5.2.4 傅里葉變換 75
5.2.5 纓帽變換 77
5.2.6 彩色空間變換 78
5.2.7 去相關拉伸 79
5.3 圖像濾波 80
5.3.1 空域濾波 80
5.3.2 頻域濾波 84
5.3.3 自定義濾波變換 86
5.4 邊緣增強 88
第6章 遙感算法開發 91
6.1 算法簡介 91
6.2 算法調用 92
6.3 擴展算法 93
第7章 遙感與GIS一體化開發 94
7.1 地圖組織與訪問控制 94
7.1.1 什么是PIE的Map 94
7.1.2 理解“層”很重要 103
7.1.3 標繪元素Element 109
7.1.4 地圖事件 111
7.2 PIE-SDK插件管理 112
7.2.1 插件設計原理 112
7.2.2 Command介紹 112
7.2.3 Tool介紹 113
7.2.4 CommandControl介紹 113
7.2.5 插件自定義擴展開發 114
7.3 空間數據管理 116
7.3.1 空間數據模型 116
7.3.2 幾何要素對象 117
7.3.3 空間關系運算 128
7.3.4 空間拓撲關系運算 128
7.3.5 空間坐標系 130
7.3.6 空間數據組織管理 135
7.3.7 矢量數據管理 137
7.3.8 柵格數據管理 145
7.3.9 空間數據管理開發實戰 150
第8章 地圖制圖 151
8.1 地圖標注 151
8.2 標繪元素 151
8.2.1 Element元素 152
8.2.2 點元素 153
8.2.3 線元素 153
8.2.4 面元素 153
8.2.5 文本元素 153
8.2.6 圖片元素 153
8.2.7 箭頭元素 154
8.3 符號樣式設置 154
8.3.1 Symbol對象 154
8.3.2 點狀符號樣式 154
8.3.3 線狀符號樣式 157
8.3.4 面狀符號樣式 161
8.3.5 文本符號樣式 165
8.3.6 符號樣式管理 167
8.4 圖層渲染 168
8.4.1 IFeatureRender接口 168
8.4.2 IFeatureSimpleSymbolRender接口 168
8.4.3 IFeatureUniqueValueRender接口 169
8.4.4 IFeatureClassBreaksRender接口 170
8.4.5 IRasterRender接口 171
8.4.6 IRasterRGBRender接口 172
8.4.7 IRasterStretchColorRampRender接口 172
8.4.8 IRasterColormapRender接口 173
8.4.9 IRasterClassifyColorRampRender接口 173
8.4.10 IRasterUniqueValueRender接口 173
8.4.11 IRasterDiscreteColorRender接口 174
8.4.12 IUniqueValues接口 174
8.4.13 RenderFactory類 175
8.5 專題制圖 175
8.5.1 制圖簡介 175
8.5.2 制圖模板 177
8.5.3 IPageLayout接口 177
8.5.4 IPage接口 180
8.5.5 IPageEvents接口 182
8.5.6 IBackground接口 182
8.5.7 IBorder接口 182
8.5.8 IFrameElement接口 183
8.5.9 IFrameProperties接口 183
8.5.10 IMapFrameElement接口 183
8.5.11 IPaper接口 184
8.5.12 IPrinter接口 184
8.5.13 IRulerSettings接口 185
8.5.14 IShadow接口 185
8.5.15 ISymbolBackground接口 186
8.5.16 ISymbolBorder接口 186
8.5.17 ISymbolShadow接口 186
8.5.18 IMapSurround接口 186
8.5.19 IMapSurroundFrame接口 187
8.5.20 IMarkerNorthArrow接口 187
8.5.21 INorthArrow接口 187
第9章 系統設計與開發綜合實戰 189
9.1 太湖藍藻監測系統簡介 189
9.2 開發思路 189
9.3 系統開發實戰 189
9.4 成果展示 190
主要參考文獻 193
致謝 194
PIE遙感圖像處理二次開發教程 節選
第1章 PIE-SDK二次開發概述 1.1 遙感圖像處理二次開發技術 遙感軟件開發是軟件實體化的過程,是遙感技術得以應用的重要手段。遙感數據處理軟件的實現要基于專業的遙感算法理論、程序架構設計理論及一定的軟件開發能力。目前常見的遙感圖像處理軟件按照其應用場景可以大致分為兩大類:通用遙感圖像處理軟件、面向特定應用領域的遙感圖像處理軟件。通用遙感圖像處理軟件包含了很多通用的遙感處理功能,可應用于不同的遙感領域,如 ENVI、ERDAS IMAGINE、PCI Geomatica、PIE等。面向特定應用領域的遙感圖像處理軟件一般應用于某個領域、某個業務場景或者某個單位等,此類軟件可以從底層開始進行開發,也可以基于通用遙感圖像處理軟件進行二次開發。某些通用遙感軟件提供了很多基礎的遙感處理功能、專業的遙感算法接口、便捷的功能調用方式,在其基礎上進行二次開發可以降低遙感系統開發門檻、縮短開發周期、降低開發難度,開發人員可以根據具體業務需求快速構建解決方案,且不需要考慮底層的實現,這就是二次開發的優勢。近些年隨著遙感技術的不斷發展,越來越多的行業領域需要遙感技術提供支持,對遙感系統的需求也日益增多,遙感業務化軟件平臺逐漸成為行業軟件的重要組成部分。遙感軟件二次開發技術作為遙感系統開發的核心技術之一,在遙感應用領域發揮了重大作用。 ERDAS IMAGINE的二次開發平臺提供了一系列的客戶化工具,擁有基于 SPATIAL MODELER(空間建模工具)和 C Developer's Toolkit(簡稱 C Toolkit)的 EML語言客戶化圖形用戶界面。其中 SPATIAL MODELER提供了面向目標的模型語言環境,空間建模語言(SML)和模型生成器(model maker)提供了操作柵格數據、矢量數據、矩陣、表格及分級數據的函數和操作算子,在定義好模型后,將其轉換為腳本形式,便可用 EML語言為其編寫界面,實現功能客戶化。 C Toolkit為用戶提供了應用編程接口 API,以方便用戶修改軟件的版本或者開發一個完整的應用模塊,從而擴展軟件功能,滿足其特定項目需要。 PCI ProSDK:超圖軟件與加拿大 PCI公司合作推廣的 ProSDK&ProPack。PCI專業軟件開發工具套裝(ProSDK)為用戶提供了用 C++、Java及 Python等編程語言對 Geomatica軟件組件以應用程序的方式進行應用或擴展的能力。使用 ProSDK和 ProPacks能夠讓用戶靈活自由地調用 PCI可插入函數(PPF),并允許用戶自建功能模塊,從而實現用戶特定功能需求的自行定制。 PCISDK 包括:PCI可插入函數架構,支持執行可插入函數(PPF);通用數據庫(GDB)函數,支持利用 C++或 Python語言獲取多種 Geomatics文件格式和數據產品;FIMPORT和 FEXPORT的 PCI可插入函數,分別支持向 GDB讀寫文件操作以及通過 PCIDSK文件實現 GDB交互;連接 Geomatica Focus,利用 Focus接口實現遠程過程調用方法和一系列 Focus操作,如打開 Focus窗口、裝入文件和工程、執行柵格和矢量數據操作等功能。 ProPacks是對 ProSDK的擴展,包含一系列特定應用領域的 PCI可插入函數,如正射校正、影像配準、自動 DEM生成、數據融合、影像增強和企業數據庫支持等。 ENVI是使用 IDL編寫的功能完整的遙感圖像處理平臺。在 ENVI中,用戶可以很方便地通過 IDL及 ENVI提供的二次開發應用程序接口(API)對 ENVI的功能進行擴展,添加新的功能函數。 ENVI平臺的大部分圖像處理功能以函數方式(ENVI Routines)或對象方式(ENVI Task)提供, IDL可以很方便地調用這些函數或對象,同時 IDL本身具有開發圖形用戶界面(GUI)的功能,開發人員可以很方便地基于 ENVI+IDL開發一個業務化平臺(閻殿武,2003;韓培友,2006;董彥卿,2012)。 MapGIS二次開發組件:MapGIS是武漢中地數碼科技有限公司開發的 GIS基礎平臺軟件系統。作為一個 GIS基礎平臺軟件, MapGIS提供了多種二次開發方式,用戶可以在軟件中進行二次開發,開發出適合自己需要的應用系統。 MapGIS的二次開發方式主要有 API函數、MFC類庫、組件開發三種方式。 MapGIS二次開發庫封裝在若干動態鏈接庫(DLL文件)中。MapGIS提供的二次開發方式采用的開發接口獨立于開發工具(MFC類庫開發方式除外),用戶無須學習新的開發工具就可以進行 MapGIS二次開發。 PIE提供的二次開發包是 PIE-SDK。PIE-SDK類似于 ArcGIS二次開發的應用方式,在組件庫劃分、接口組織、方法命名方面與 ArcObject保持了很大的一致性,同時還提供了大量的幫助和示例,大大減少了二次開發人員的學習和開發成本。 PIE-SDK支持國外主流衛星數據的讀取和顯示,針對某些國內衛星數據(如 FY系列、HJ系列),PIE-SDK擁有其衛星軌道和載荷信息等參數,在數據處理精度方面具有優勢。 PIE-SDK支持矢量、柵格、服務、專題、長時間序列等數據類型,并且支持數據的動態坐標轉換。同時 PIE-SDK底層統一了 GIS和 RS的相關接口,減少了中間的數據交換流程,算法運行效率高。 PIE-SDK支持海量數據的精準顯示和瓦片快速顯示,且部分算法充分考慮不同算法的特性,實現系統對相關 CPU和 GPU資源的自動分配,并對資源的分配提供了控制方案。 PIE-SDK支持 C++、C#語言進行二次開發,并且支持用戶通過Python、IDL、Matlab等語言直接調用圖像處理算法構建解決方案,同時還擁有通用、標準的接口規范,并提供完善的幫助、示例、類圖等相關資料。綜上所述,基于 PIE-SDK進行二次開發可以大大降低開發難度,且能夠很好地支持用戶需求,如表1.1所示。 表1.1 現有二次開發軟件對比表 1.2 PIE-SDK簡介 PIE-SDK是航天宏圖信息技術股份有限公司自主研發的、可重用的、通用的 PIE二次開發組件包,集成了專業的遙感影像處理、輔助解譯、信息提取、專題圖表生成、二三維可視化等功能,是一套標準 C++編寫的通用二次開發組件集。底層采用“微內核+插件”式架構,功能模塊之間低耦合,交互方便,可部署在 Windows、Linux、中標麒麟等跨平臺操作系統中;提供多種形式的 API,支持 C++、C#、Python等主流開發語言,提供向導式二次開發功能,可快速構建遙感應用解決方案。類似于 ArcGIS等常見的 GIS、遙感軟件, PIE系列軟件也提供了各個階段和層次的數據處理、加工、分析、展示工具,并組合成不同產品,這些組合產品包含了不同層級的功能,但是從底層邏輯看,都是通過 PIE-SDK所提供的組件來實現的。 PIE-SDK是一組通用跨平臺嵌入式組件,它是 PIE系列軟件的底層組件,用來構建定制和桌面數據處理應用程序,或是向原有的應用程序增加新的功能。通過 PIE-SDK構建的應用,既可以以 GIS功能為核心,也可以以遙感數據處理為核心,該特點使 PIE-SDK特別適合構建遙感與 GIS一體化的應用。 PIE-SDK目前包含 C++和.NET兩個版本。兩個版本都支持插件式開發和組件式開發。本書所述實例代碼為 Microsoft的.NET Framework下的.NET版本,以 C#語言實現,如果選用 C++版本進行開發可參考官方幫助文檔,相關資源獲取請參見本章1.4.2節。 PIE-SDK功能特點包括: (1)支持可見光、紅外、多光譜、合成孔徑雷達(SAR)、激光雷達(LiDAR)等多源衛星遙感數據處理能力。 (2)支持多源海量數據的讀取、顯示與漫游;支持長時間序列數據的動態展示;支持數據格式的快速擴展。 (3)具有面向對象自動分類、智能信息化提取能力。 (4)具有多源海量數據的共享分發和二三維一體化顯示、查詢與分析能力。 (5)具有 CPU-GPU協同計算能力。 (6)便捷的向導式二次開發能力。 (7)支持算法工作流定制功能。 (8)自主可控、內核精簡、支持跨平臺、支持主流開發語言。 1.2.1 PIE-SDK體系結構 開發者使用 PIE-SDK進行應用的二次開發,需要用到 PIE-SDK提供的各類支持開發任務的資源,包括多種應用程序接口、類、方法、類型,這些資源以組件庫的方式提供給開發者。組件庫采用分層架構,將功能相近的對象歸于某一組件庫中或者視為組織到某個命名空間中,從而方便開發者調用。在組件庫劃分、接口組織、方法命名上和 ArcObject保持了很大的一致性,減少了開發者學習的成本。此外,提供了大量的幫助和示例,能夠讓開發人員快速上手。 從 PIE-SDK體系結構中可以看出各層之間向下依賴,這種體系結構具有遷移方便、自由聚合、即插即用、易于重構和復用性高等特點,如圖1.1所示。 圖1.1 PIE-SDK體系結構圖 (1)基礎層:操作系統和依賴的第三方庫。目前 PIE-SDK For .NET只支持 Windows操作系統下 Visual Studio 2010及更高版本集成開發環境(integrated development environment, IDE)進行二次開發。 (2)通用層: Utility庫是 PIE-SDK框架中*底層的一個庫,提供了可以被其他組件庫應用的對象和方法。例如, PIE-SDK基礎對象類 PIE Object、通用數學運算類、數值單位轉換等。 (3)數據層:包括 Geometry庫和 DataSource庫,這兩個庫都是與數據相關的庫。 Geometry庫包含了核心幾何空間對象的定義,如點、線、面等,除此之外,該庫還包含了空間參考對象的定義。DataSource庫包含的對象是用于讀取和操作地理數據庫的,這個庫中包含了核心的地理數據對象,如 FeatureDataset要素數據集對象、 Feature要素對象、 Field字段對象、 RasterDataset柵格數據集對象、 RasterBand柵格波段對象、 ColorTable顏色表對象等。 (4)顯示層:顯示層包含 Display庫和 Carto庫,定義了地圖的顯示樣式和顯示方式。 Display庫包含了顯示圖形所需要的對象,包括 Symbol符號對象和 DisplayTransformation顯示轉換對象。 Symbol符號對象用于修飾幾何形體的表現形式,任何一種幾何形體都必須使用某種 Symbol符號才能顯示在視圖上。 DisplayTransformation顯示轉換對象用于控制地圖坐標和屏幕坐標之間的轉換,維護地圖坐標和屏幕坐標之間的映射關系。 Carto庫包含了為數據表達而服務的各種組件對象,如 MapDocument地圖文檔、 PageLayout布局視圖、 Map地圖、 Layer圖層、 Render渲染、 Element元素等,它們是數據層的數據和顯示層的顯示方式相結合的產物,并且不同的對象之間通過一定的邏輯關系關聯起來,組成地圖的各個要素,直觀地來表達現實世界。 (5)組件層:包括 SystemUI和 AxControls庫,它們是用 PIE-SDK做二次開發*常用的兩個庫。SystemUI庫定義了被 PIE用戶界面組件所使用的對象,如 ICommand命令接口、 ICommandControl命令組件接口、 ITool工具接口、 ITrackerCancel跟蹤取消接口等。 AxControls庫包含了在程序開發中可以使用的可視化組件對象: MapControl(地
- >
伊索寓言-世界文學名著典藏-全譯本
- >
伯納黛特,你要去哪(2021新版)
- >
經典常談
- >
唐代進士錄
- >
姑媽的寶刀
- >
上帝之肋:男人的真實旅程
- >
朝聞道
- >
名家帶你讀魯迅:故事新編