司若辰基于MATLAB的地圖投影設(shè)計概要_第1頁
司若辰基于MATLAB的地圖投影設(shè)計概要_第2頁
免費預(yù)覽已結(jié)束,剩余46頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、學(xué)號 200631130015密級_武漢大學(xué)本科畢業(yè)論文基于 MatLab 的地圖投影設(shè)計院(系)名稱:資源與環(huán)境科學(xué)學(xué)院 專業(yè)名稱:地理信息系統(tǒng) 學(xué)生姓名:司若辰 指導(dǎo)教師:李連營ACHELOR DEGREE THESISOF WUHAN UNIVERSITYMap Projectio n Desig nBased On MatlabCollege :School of Resource and EnvironmentalScie neeSubject :Geographic In formatio n SystemName :Si RuochenDirected by :Li Lia ny

2、ingJune 2010本人簽名:日期:鄭重聲明本人呈交的學(xué)位論文,是在導(dǎo)師的指導(dǎo)下,獨立進行研究工作所 取得的成果,所有數(shù)據(jù)、圖片資料真實可靠。盡我所知,除文中已經(jīng) 注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的 內(nèi)容。對本論文所涉及的研究工作做出貢獻的其他個人和集體,均已 在文中以明確的方式標(biāo)明。本學(xué)位論文的知識產(chǎn)權(quán)歸屬于培養(yǎng)單位。I地圖投影是繪制地圖重要的數(shù)學(xué)基礎(chǔ),沒有地圖投影,地圖就失去了可量算 性這一重要性質(zhì),地圖也就成為了一幅普通的圖畫,失去了實用價值。然而,與 地圖投影相伴而來的往往是復(fù)雜的投影公式和繁瑣的計算過程。好在,近年來計 算機技術(shù)的突飛猛進,地圖投影已經(jīng)可

3、以通過計算機程序自動實現(xiàn),從而把地圖 投影從繁重的計算工作中解放出來?,F(xiàn)在有許多計算機軟件都能進行地圖投影的 相關(guān)工作,而MATLAB(若無特別說明,本文中提到的MATLAB版本均為MATLAB7.6R2008)憑借其出眾的矩陣計算和繪圖能力成為了處理地圖投影問題的 佼佼者。本文就將探討運用MATLA軟件來處理地圖投影相關(guān)問題的方法。本文的研究內(nèi)容主要包括以下四個方面:1、 挖掘MATLA的相關(guān)功能,研究如何運用MATLA實現(xiàn)常用地圖投影的顯示,對投影參數(shù)進行控制,用變形橢圓和等變形線來反映投影變形,以及在投影上繪 制大圓航線和等角航線;2、 在MATLA環(huán)境下自定義投影;3、 在MATLA環(huán)

4、境下探索適合中國及湖北省的地圖投影;4、 研究在MATLA酥境下,運用投影的方法,來實現(xiàn)變比例尺地圖(哈哈鏡 地圖)。關(guān)鍵詞:地圖投影MATLAB中國地圖 變比例尺地圖iiABSTRACTMap project ion is an importa nt mathmatical fun dati on on making a map,withoutwhich a map will be unmeasurable and lose its practical value. The formulas dealing withmap projection are usually too complex

5、 to caculate for man. Thanks to the rapiddevelopment of computer sienee, we can leave the heavy caculations to computers.There are many computer software that can solve map projection problems, andMATLAB(The edition of MATLAB is MATLAB7.6R2008a without special announcement)stands out from all these

6、softwares becauseof its strong abilities on caculati ng matrixesand draw ing pictures. This paper will discuss the method to solve map projectio nproblems with MATLAB.The study aspects in this paper in cludes:1、Study the basic functions relating to map projection,like how to show maps under a specif

7、ic projectio n in MATLAB, how to set projectio n parameters, how to showdistortio ns via tissot and distortio n con tours and how to show great circle routes andrhumb routes on maps;2、Define new projections in MATLAB;3、Using appropriate projections to make Chinese map and HuBei Province map;4、Make v

8、ariable scale map in MATLALB, based on projection theory.Key words:map projection; MATLAB; Chinese map; variable scale map3第 1 1 章緒論.11.1地圖投影相關(guān)背景.11.1.1地圖投影定義.11.1.2地圖投影分類.11.1.3我國地圖投影學(xué)的發(fā)展 .21.2本文的研究內(nèi)容.2第 2 2 章 MATLABMATLAB 的地圖投影系統(tǒng)構(gòu)架.42.1 MATLAB簡介.42.2 MATLAB與地圖投影的聯(lián)系.42.3系統(tǒng)構(gòu)架.6第 3 3 章地圖投影的基本應(yīng)用研究.93.

9、1在MATLAB選擇投影看世界.93.2投影參數(shù)的控制.103.2.1投影參數(shù).103.2.2邊框與網(wǎng)格參數(shù).153.3投影變形.173.3.1變形橢圓 .173.3.2等變形線.193.4大圓航線與等角航線.213.5自定義投影 .24第 4 4 章適合區(qū)域特點的地圖投影研究 .314.1數(shù)據(jù)準(zhǔn)備.314.2適合中國地圖的投影 .314.2.1正軸等角割圓錐投影.314.2.2斜軸偽方位投影.324.3適合湖北省的投影.34第 5 5 章變比例尺地圖投影.365.1運用投影解決變比例尺地圖的理論方法 .365.2基于投影思想的變比例尺地圖在MATLA下的實現(xiàn).37第 6 6 章實驗分析.42

10、6.1可視化界面創(chuàng)建.426.2控件的使用.436.3編寫回調(diào)函數(shù).466.4系統(tǒng)性能評測.4746.4.1基本投影系統(tǒng)性能評測.47642變比例尺投影系統(tǒng)性能評測 .50第 7 7 章總結(jié)與展望.52參考文獻.55致謝.561第1章緒論1.1地圖投影相關(guān)背景1.1.1地圖投影定義眾所周知,地球表面是一個不規(guī)則的曲面,地球橢球面和地球球面也都是不 可展曲面。要把不可展曲面上的圖形信息映在地圖平面上,就需要運用到地圖投 影,這也是地圖投影的主要矛盾。從廣義的角度看,所謂地圖投影,就是建立平 面上的點(用平面直角坐標(biāo)或極坐標(biāo)表示)和地球表面上的點(用緯度和經(jīng)度表 示)之間的函數(shù)關(guān)系,用數(shù)學(xué)式表示即

11、為:(y二以PA)1.1.2地圖投影分類地圖投影可以依據(jù)其外在和內(nèi)在的特征來進行分類。前者表現(xiàn)在投影平面上 經(jīng)緯線投影的形狀上;后者則表現(xiàn)在投影內(nèi)含的變形性質(zhì)上。地圖投影按經(jīng)緯線形狀分類可分為圓柱投影、圓錐投影、方位投影、偽圓柱 投影、偽圓錐投影、偽方位投影和多圓錐投影七種,它們各自的特點如下表1.1-1表1.1-1按經(jīng)緯線形狀進行的投影分類投影種類經(jīng)線形狀緯線形狀限定特征圓柱投影平等直線平等直線經(jīng)緯線正交圓錐投影直線束同心圓弧經(jīng)線間隔相等,交 于緯線圓心方位投影直線束同心圓經(jīng)線夾角等于經(jīng) 差,交于緯線圓心偽圓柱投影對稱曲線平等直線偽圓錐投影對稱曲線同心圓弧偽方位投影對稱曲線同心圓多圓錐投影對

12、稱曲線同軸圓弧以上七種投影按投影軸與地球的位置關(guān)系不同,還可細(xì)分為正軸、斜軸和橫 軸投影;按投影面與地球的位置關(guān)系可細(xì)分為切投影和割投影。2地圖投影按變形性質(zhì)分類可分為等角投影、等距離投影、等面積投影和任意 投影。前三者分別在角度、沿緯線方向的距離、面積上變形為零,任意投影不具 備前三種投影中的任何一種性質(zhì)。1.1.3我國地圖投影學(xué)的發(fā)展地圖投影是地圖重要的數(shù)學(xué)基礎(chǔ),也是地圖制圖學(xué)的重要組成部分,在我國 地圖制圖學(xué)發(fā)展中也處于較為領(lǐng)先的地位。我國地圖投影的發(fā)展主要集中在建國后的三十年。建國初期及二十世紀(jì)五十年代期間,我國的地圖投影學(xué)科以引進和學(xué)習(xí)為主。在此期間譯制的國外教材和專著包括 數(shù)學(xué)制圖

13、學(xué)、數(shù)學(xué)制圖學(xué)實習(xí)材料、地 圖投影法等。同時,我國方俊教授出版的地圖投影學(xué)也成為當(dāng)時地圖投影 領(lǐng)域重要的文獻資料。五十年代后期,我國的學(xué)術(shù)期刊測繪學(xué)報、測繪通報、測繪譯叢等 都刊登了許多地圖投影方面的文章,為我國地圖投影的發(fā)展起了積極作用。同時, 我國一些測繪類院校也陸續(xù)出版了數(shù)學(xué)制圖學(xué)、地圖投影等書籍,對提高 地圖投影學(xué)科教學(xué)質(zhì)量作出了不小的貢獻。從五十年代后期到七十年代末,我國的地圖投影研究者們在地圖投影理論和 實踐應(yīng)用方面都取得了好的成果,一批相關(guān)論文和專著也隨之出版發(fā)表,使我國 地圖投影學(xué)科有了全面而深遠(yuǎn)的發(fā)展。近十幾年來,變比例尺地圖投影也逐漸成為人們研究的熱點。1.2本文的研究內(nèi)容

14、傳統(tǒng)的手工地圖投影計算及展繪工作費時費力,現(xiàn)在隨著計算機技術(shù)的飛速 發(fā)展,地圖制圖工作也已經(jīng)由傳統(tǒng)的手繪方式轉(zhuǎn)向更高效的計算機制圖,然而計 算機環(huán)境下的地圖投影方面問題卻鮮有人研究,相關(guān)的文獻也不多,僅有的一些 相關(guān)文獻也是十幾年前的“古董”,現(xiàn)勢性不強。本文將研究把當(dāng)今工程設(shè)計中十分流行的軟件MATLAB應(yīng)用到地圖投影領(lǐng)域,以提高地圖投影研究及應(yīng)用的效率。本文將基于以下四個方面進行研究:1、MATLAB下地圖投影的基本應(yīng)用。研究在MATLAB環(huán)境下處理基本的地3圖投影問題,如投影的選擇,投影參數(shù)的設(shè)置,投影變形的顯示,大圓航線和等 角航線在投影中的應(yīng)用等;2、自定義投影。在MATLAB中編寫

15、投影公式,定義新的投影;3、適合區(qū)域特點的地圖投影研究。研究適合中國和湖北省區(qū)域特點的地圖投 影;4、變比例尺地圖投影。研究具有將地圖特定部分以夸張方式顯示特性的變比 例尺地圖投影。4第2章MATLAB的地圖投影系統(tǒng)構(gòu)架2.1 MATLAB簡介MATLAB最早是在20世紀(jì)70年代由美國新墨西哥大學(xué)計算機科學(xué)系主任Cleve Moler為了減輕學(xué)生編程的負(fù)擔(dān)而編寫的,并由MathWorks公司于1984年 正式推向市場。經(jīng)過幾十年的發(fā)展,MATLAB已成為國際控制界的標(biāo)準(zhǔn)計算軟件,在信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和測量、財務(wù)建模和分析以及計 算生物學(xué)等眾多領(lǐng)域得到了廣泛的應(yīng)用。MATL

16、AB中數(shù)據(jù)的基本單位是矩陣,這與數(shù)學(xué)、工程中所使用的形式十分相 似,因此,用MATLAB解算問題也就比用C、FORTRAN等其它語言更加方便。MATLAB軟件具有以下特點:1、可用于技術(shù)計算;2、可對代碼、數(shù)據(jù)和文件進行管理;3、交互式工具可以按迭代的方式探查、設(shè)計及求解問題;4、數(shù)學(xué)函數(shù)可用于解決線性代數(shù)、統(tǒng)計、篩選、優(yōu)化、數(shù)值積分、傅里葉分析等方面問題;5、二維、三維繪圖功能可用于數(shù)據(jù)的可視化;6有各種工具來構(gòu)建自定義的圖形用戶界面;7、 支持將基于MATLAB的算法與外部應(yīng)用程序和語言(如C、C+、JAVA、FORTRAN等)的集成;8、不支持大寫輸入,內(nèi)核僅支持小寫。2.2 MATLA

17、B與地圖投影的聯(lián)系地圖投影工作中最重要的兩部分就是計算和繪圖。大多數(shù)軟件無法在這兩方 面都做得比較出色。例如C、C+等語言軟件雖然可以用來編程對地圖投影進行自 動計算,但繪圖能力不強,而且代碼比較復(fù)雜,需要較高的編程能力;而CORELDRAW這樣的圖形軟件雖然繪圖能力出眾,但是完全沒有數(shù)值計算能力,也不能 用于地圖投影。5和其它軟件相比,MATLAB在計算和繪圖兩方面的功能都很強大。在計算方面,MATLAB包含了大量計算算法,擁有600多個工程中要用到的 數(shù)學(xué)運算函數(shù)。這些函數(shù)包含了從簡單的基本函數(shù)到諸如矩陣、向量、傅里葉變 換這樣的復(fù)雜函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。函數(shù)中所使用

18、的 算法都是前沿研究成果,且都經(jīng)過了各種優(yōu)化和容錯處理。MATLAB可以用來代替像C、C+這樣的底層語言,而且使用MATLAB還可以大大減少編程的工作量。在繪圖方面,MATLAB具有方便的數(shù)據(jù)可視化功能,可以將向量和矩陣用圖 形表現(xiàn)出來。MATLAB還能進行二維及三維可視化、圖像處理、動畫和表達式作 圖。與老版本相比,新版本的MATLAB在圖形處理功能有了很大的改進和完善, 不僅完善了原有功能,還添加了圖形光照處理、色度處理、四維數(shù)據(jù)的表現(xiàn)等其 它軟件沒有的功能。同時,MATLAB還支持圖形對話這樣的特殊可視化要求。新 版MATLAB在圖形用戶界面上也做了很大改善,更加方便用戶使用。除此之外,

19、MATLAB還具有以下優(yōu)勢:1、友好的工作界面MATLAB中包含了一列工具,如MATLAB桌面、命令窗口、歷史窗口、編 輯器、調(diào)試器、 路徑搜索和瀏覽器。 這些工具中許多都是采用的圖形用戶界面,方便用戶使用MATLAB中的函數(shù)和文件。隨著MATLAB的發(fā)展和不斷升級,其 用戶界面也越來越精制,越來越接近WINDOWS的標(biāo)準(zhǔn)界面,人機交互性更強, 操作更簡便。2、簡單的程序語言MATLAB是一個高級的矩陣語言,具有控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入輸 出和面向?qū)ο蟮木幊烫攸c。用戶既可以在命令窗口中輸入語句同步執(zhí)行命令,也 可以先將程序編寫成一個M文件后再運行。新版本的MATLAB是基于C+語言 基礎(chǔ)

20、上開發(fā)的,因此其語法特點與C+類似,并且使用比C+更方便簡單,更加 符合科技人員對數(shù)學(xué)表達式的書寫方式,即使是非計算機專業(yè)人員也能很快掌握 使用。另外,MATLAB語言可移植性好,拓展性強,使之能夠深入到科學(xué)研究及 工程應(yīng)用的各個領(lǐng)域。3、實用的工具箱MATLAB中包含了許多針對專門領(lǐng)域的功能強大的工具箱。MATLAB中的工 具箱種類多樣,有用于小波分析的,有用于信號處理的,有用于仿真的等等,當(dāng) 然也有解決地圖投影問題需要用到的地圖工具箱。這些工具箱一般是由特定領(lǐng)域 的專家開發(fā)的,用戶可以直接使用工具箱來解決相應(yīng)問題,而不再需要自己從底 層開始編寫程序代碼。6既能計算又能繪圖,而且使用簡單方便

21、,MATLAB的確是處理地圖投影問題 的好工具。2.3系統(tǒng)構(gòu)架本次設(shè)計擬設(shè)計兩個系統(tǒng):基本投影系統(tǒng)和變比例尺投影系統(tǒng)。基本投影系統(tǒng)計劃實現(xiàn)以下地圖投影的基本功能:1、用常用的地圖投影顯示地圖;2、對基本投影參數(shù)進行控制;3、用等變形線和變形橢圓顯示投影變形;4、在地圖上繪制大圓航線和等角航線;5、查看當(dāng)前投影的詳細(xì)信息;6用合適的默認(rèn)方式顯示中國地圖和湖北省地圖。其系統(tǒng)框架圖如下圖2.3-1。7圖2.3-1基本投影系統(tǒng)框架圖變比例尺投影系統(tǒng)計劃實現(xiàn)三個功能:1、設(shè)置比例尺差別程度;2、 設(shè)置地圖顯示方式(中心放大、中心縮小及正常顯示);3、設(shè)置地圖顯示的中心位置。其系統(tǒng)框架圖如下圖2.3-2。

22、開始選擇地圖數(shù)據(jù)選擇投影默認(rèn)方式顯示湖北省地投影參數(shù)設(shè)置變形橢圓和等變形線設(shè)置投影信息顯示設(shè)置大圓與等角航線設(shè)置地圖顯示8圖2.3-2變比例尺投影系統(tǒng)框架圖9第3章 地圖投影的基本應(yīng)用研究3.1在MATLAB選擇投影看世界MATLAB地圖工具箱中提供的投影包含了圓柱、圓錐、方位、偽圓柱、偽圓 錐、偽方位、多圓錐等各類型投影共計72個。對于這72種投影,用戶可以直接使用。在MATLAB命令窗口中輸入命令maps,即可得到這72種投影的詳細(xì)信息(如圖3.1-1)。 ntapsMapTools Projectionshasart CylindricalbalthsrtEehrmarut Cylind

23、ricalbehrmannBolshoi Sovietskii At lasMira*bsanEraun Perspective Cylindrical*Cassini Cylindrical-StandardCassini Cylindrical圖3.1-1 MATLAB支持的地圖投影信息設(shè)置投影方式要用到axesm函數(shù)。它的功能是創(chuàng)建一個基于地圖數(shù)據(jù)結(jié)構(gòu)的 地圖坐標(biāo)系(通常為平面直角坐標(biāo)系),用來顯示地圖。MATLAB中地圖坐標(biāo)系的 所有屬性都由axes以及get和set函數(shù)控制。地圖坐標(biāo)系的屬性值由axesm函數(shù)在 坐標(biāo)創(chuàng)建時定義,并可以通過getm和setm對其特性進行查詢和修改。ax

24、esm函數(shù)使用格式如下:axesm投影名稱,屬性名稱,屬性值,,)其中投影名稱為MATLAB提供的72種投影名稱的簡寫,即圖2-1中的“ID STRING”一列。屬性一次可以設(shè)置多個,未設(shè)置的將按MATLAB默認(rèn)方式處理。 關(guān)于屬性的設(shè)置將在本章第二節(jié)做詳細(xì)說明。下面讓我們用一個例子來看看如何在MATLAB中使用地圖投影來顯示地圖信 息。首先,加載地圖數(shù)據(jù)。在MATLAB命令窗口中輸入以下命令完成世界地圖數(shù) 據(jù)的加載:Ian dareas = shaperead(la ndareas.shp,UseGeoCoords,true);然后,用axesm函數(shù)選擇投影方式:CLASSNAMEID ST

25、RINGCylindricalCylindricalCylindricalCylindricalCylindricalCylindricalbr auncassinist dcassini10axesm (mercator, Frame, on, Grid, on);最后,用geoshow函數(shù)顯示地圖:geoshow(la ndareas);結(jié)果為墨卡托投影下的世界地圖,如圖3.1-2。圖3.1-2墨卡托投影下的世界地圖3.2投影參數(shù)的控制3.2.1投影參數(shù)投影參數(shù)是控制地圖投影的范圍、方向、變形分布等屬性的一系列變量。在同樣一種投影下,如果投影參數(shù)不同,地圖的顯示效果也會不同。MATLAB中

26、對投影參數(shù)的控制主要也是通過axesm函數(shù)實現(xiàn)的,操作方法很 簡單,只需在投影名稱后加上要設(shè)置的參數(shù)名稱及參數(shù)值即可。例如在MATLAB命令窗口輸入以下命令即可得到圖3.2-1。Ian dareas = shaperead(la ndareas.shp,UseGeoCoords,true);axesm (mercator, MapLatLimit,-10 80,M apLon Limit,0 180,Frame, o n, Grid,11o n);geoshow(la ndareas);這個例子對投影顯示范圍進行了設(shè)置,使地圖只顯示南緯10度到北緯80度及東經(jīng)0度到東經(jīng)180度范圍內(nèi)的內(nèi)容。圖

27、3.2-1投影范圍的設(shè)置效果MATLAB支持的地圖投影參數(shù)主要有以下幾種。1、AngleUnits角度單位,用于在角度和弧度之間切換地圖坐標(biāo)系中角度(包括緯度和經(jīng)度) 的單位。其默認(rèn)值是degree?(角度)。2、Aspect投影方位,控制地圖投影的基本方向。命ormal?是其默認(rèn)值,此時地圖投影中的北方向向上,如圖3.2-2;而在?ransverse方向下的投影,北方向向右,如圖3.2-312圖3.2-2北方向上圖3.2-3北方向右3、FalseEasting該參數(shù)會對地圖投影值在水平方向做整體平移,以確保某些地圖投影中的值 非負(fù)。例如在通用橫軸墨卡托投影中,該參數(shù)常被設(shè)為500000米。4

28、、FalseNorthing與上一個參數(shù)功能類似,不過它是將地圖投影值在豎直方向上做整體平移, 同樣是為了確保地圖投影的值非負(fù)。在通用橫軸墨卡托投影中,對于南半球地區(qū), 該參數(shù)常被設(shè)為10000000米。5、MapLatLimit用該參數(shù)可以設(shè)置地圖緯度方向的顯示范圍。 對大多數(shù)投影來說, 可以顯示 可以達到-901390,而對于某些投影,如lambert投影,由于靠近南極地區(qū)形變無窮 大,其顯示范圍不能達到-90度(具體程度隨其標(biāo)準(zhǔn)緯線不同而不同)。6 MapLonLimit該參數(shù)是用來控制地圖經(jīng)線方向的顯示范圍。 對于大多數(shù)投影, 顯示范圍可 以達到-180180,而對于某些投影,如橫軸方

29、位投影,最多只能顯示經(jīng)差180度以內(nèi)的內(nèi)容。7、Map Parallels該參數(shù)的作用是設(shè)置地圖投影的標(biāo)準(zhǔn)緯線。圖3.2-4和圖3.2-5均為lambert投影,前者標(biāo)準(zhǔn)緯線為系統(tǒng)默認(rèn)的15度和75度(割圓錐投影),后者標(biāo)準(zhǔn)緯線設(shè) 置為45度(切圓錐投影)。從兩幅圖的等變形線可能看出標(biāo)準(zhǔn)緯線改變后投影形 變分布的明顯不同。圖3.2-4標(biāo)準(zhǔn)緯線為15度和75度的lambert投影圖3.2-5標(biāo)準(zhǔn)緯線為45度的lambert投影需要注意的是雖然理論上可以對幾乎所有投影設(shè)置標(biāo)準(zhǔn)緯,但MATLAB中可14以設(shè)置標(biāo)準(zhǔn)緯線的地圖投影并不多,一般只能對圓錐投影,如lambert投影,設(shè)置標(biāo)準(zhǔn)緯線。其它投影則

30、采用MATLAB默認(rèn)的標(biāo)準(zhǔn)緯線,不能更改。用戶可以先對 投影信息進行查詢進而了解所用的投影能否設(shè)置標(biāo)準(zhǔn)緯線。例如在MATLAB命令窗口輸入以下命令:h=axesm(mercator);getm(h, nparallels)得到結(jié)果為:ans =1nparallels表示投影可設(shè)置的標(biāo)準(zhǔn)緯線數(shù)量。MATLAB只支持對nparallels值為1或2的投影設(shè)置標(biāo)準(zhǔn)緯線,對值為0的投影設(shè)置標(biāo)準(zhǔn)緯線無效。8、Origin該參數(shù)為一個三維向量latitude Iongitude orientation, latitude和Iongitude控制 投影中心位置,orientation控制投影的北方向的旋轉(zhuǎn)。

31、例如在MATLAB命令窗口輸入以下命令:Ian dareas = shaperead(la ndareas.shp,UseGeoCoords,true);axesm (mercator, Origin,30 60 30,Frame, on, Grid, on);geoshow(la ndareas)得到的結(jié)果投影中心為北緯30度,東經(jīng)60度,北極方向與豎直方向夾角為30度,如圖3.2-6。需要注意的是,該參數(shù)不適用于圓錐投影。另外,設(shè)置了該參數(shù)后,MapLatLimit和MapLonLimit就不起作用了。15圖3.2-6投影中心及北方向的設(shè)置效果322邊框與網(wǎng)格參數(shù)MATLAB中除了可以對地

32、圖投影的參數(shù)進行設(shè)置,還可以對地圖邊框和網(wǎng)格 進行控制。常用的參數(shù)有以下幾種:1、Frame用于控制地圖邊框的開關(guān)。2、FedgeColor用于控制地圖邊框的邊線顏色。3、FfaceColor用于控制地圖邊框的填充色。4、Grid16用于控制地圖網(wǎng)格(經(jīng)緯線)的開關(guān)。5、Gcolor用于控制地圖網(wǎng)格的顏色6 MeridianLabel用于控制網(wǎng)格緯度注記的開關(guān)。7、ParallelLabel用于控制網(wǎng)格經(jīng)度注記的開關(guān)。8、MlabelParallel用于控制經(jīng)度注記的顯示位置。9、PlabelMeridian用于控制緯度注記的顯示位置。10、MlabelLocation用于控制經(jīng)度注記的間隔。

33、例如在MATLAB窗口輸入以下命令:axesm(Mapproject ion ,mercator,Grid, on ,Frame, on,FedgeColor,r,FfaceColor,.9.91,Gcolor,b,MlabelParallel,south,PlabelMeridian,west,mlabellocation,60,meridianlabel,on, parallellabel,on)結(jié)果如圖3.2-7。17100 W 120* W 60* W CfE U0 E 180* E圖3.2-7網(wǎng)格及邊框的設(shè)置效果3.3投影變形地球表面是一個不規(guī)則的曲面,即使把它一個橢球面或球面,也都

34、是不可展 面。因此,要把這樣的不可展面表現(xiàn)致電平面上,就會不可避免地產(chǎn)生變形,即 投影變形。不同的投影投影有著不同的變形特征,按這些不同的變形特征可以把 地圖投影分為等角投影、等距離投影、等面積投影和任意投影這四大類。了解投 影變形的方法主要是通過變形橢圓和等變形線。3.3.1變形橢圓為了了解投影變形的特征,我們先在投影前地球表面等間隔地設(shè)置一系列微 分圓。投影后,這些微分圓將呈現(xiàn)為一系列大小、形狀、方向不同的微分橢圓。根據(jù)這些微分橢圓的不同形態(tài)就反映了投影變形的不同特征。等角投影的變形橢 圓表現(xiàn)為圓形, 等距離投影的變形橢圓在緯線方向上圓心間距相等, 等面積投影 的各個變形橢圓面積相等。該方

35、法是在19世紀(jì)由法國數(shù)學(xué)家尼古拉斯底索(Nicolas Tissot)提出的。于是在國外,變形橢圓被稱為Tissot in dicatrices,以紀(jì)念這位偉大 的數(shù)學(xué)家。MATLAB地圖工具箱也為我們提供了顯示變形橢圓的功能,用戶可以通過命18令tissot?來顯示變形橢圓,用命令応Imo tissot?消肖除變形橢圓。例如在MATLAB命 令窗口輸入以下命令:Ian dareas = shaperead(la ndareas.shp,UseGeoCoords,true);axesm (mercator,Frame, on, Grid, on);geoshow(la ndareas)tiss

36、ot如圖3.3-1,圖中變形橢圓均為圓形,說明了墨卡托投影的變形性質(zhì)是等角投 影;變形橢圓沿緯線方向間距不相等,說明它不是等距離投影;變形橢圓大小不 同,說明墨卡托投影不是等面積投影。圖3.3-2為balthsrt投影,它的變形橢圓既不是圓形,沿緯線方向間距也不相 等,說明它既不是等角投影,也不是等距離投影。但所有的變形橢圓大小都相等,說明該投影是等面積性質(zhì)的投影。19圖3.3-2 balthsrt投影及其變形橢圓在默認(rèn)狀態(tài)下,變形橢圓沿經(jīng)線和緯線方向的間隔都是30度,微分圓半徑為0.1,每個橢圓由100個點構(gòu)成,顯示為藍色。這些參數(shù)是可以進行人為設(shè)置的。我們先將上面圖3.3-1中原有的變形橢

37、圓去掉,輸入命令:clmo tissot再輸入以下命令將變形橢圓沿經(jīng)線和緯線方向的間距都改為20度,微分圓半徑改為0.05(較原來縮小一半),每個變形橢圓由20個點構(gòu)成,用紅色顯示:圖3.3-1墨卡托投影及其變形橢圓)map-mapproj文件夾下的maplist.m文件中注冊新投影。打開maplist.m,仿照已有投影的注冊格式添加新投影,如要添加一個名 為?MyCylnArea ?的等面積圓柱投影,只需在maplist.m文件的最下方添加以下語句 然后保存文件:i=i+1;list(i).ldStri ng= MyCyl nArea;list(i).CIassificati on = Cy

38、li ndrical; list(i).Name= MyCyl nArea*;list(i).ClassCode = Cyl n;運行該文件會得到以下結(jié)果:ans =1x73 struct array with fields:IdStri ngClassificati onName為曲線圖3.4-4球心投影下的大圓航線圖3.4-5球心投影下的大圓航線27ClassCode結(jié)果顯示有73條記錄,比MATLAB自帶的72個投影多一個,說明剛才添加 的新投影已經(jīng)成功注冊。2、編寫投影文件。創(chuàng)建一個新的m文件,在其中寫入投影公式,格式可以參考toolbox-map-mapproj文件夾下已有的投影文件

39、。寫好后將文件保存在toolbox-map-mapproj文件夾下即可。以上兩步順序可以調(diào)換,完成這兩步操作后新投影就可以使用了,使用方法和MATLAB中自帶投影的使用方法完全相同。我用該方法自定義了涉及圓錐、圓柱、方位、偽方位、偽圓柱這五類的七個 投影。1、等距離圓錐投影投影公式:x=rho*s in( theta)y=rhoO-rho*cos(theta)其中rho=R*(G-phi)theta=n *(lambda-lambda0)rho0=R*(G-phi0)G=cos(phi1)/n+phi1n=(cos(phi1)-cos(phi2)/(phi2-phi1)式中l(wèi)ambda。、ph

40、i0為投影中心,phi1、phi2為標(biāo)準(zhǔn)緯線。結(jié)果如圖3.5-1。28圖3.5-1自定義等距離圓錐投影2、等面積圓柱投影投影公式:x=R(lambda-lambdaO)cos(phi_s)y=Rs in( phi)/cos(phi_s)式中l(wèi)ambdaO為中央經(jīng)線,phi_s為標(biāo)準(zhǔn)緯線。結(jié)果如圖3.5-2圖3.5-2自定義等面積圓柱投影3、等角方位投影 投影公式:x=rho*cos(theta) y=rho*s in( theta) rho=2*ta n(z/2)theta=a29式中z為天頂距,a為方位角。結(jié)果如圖3.5-3圖3.5-2自定義等角方位投影4、偽方位投影投影公式:x=rho*c

41、os(theta)y=rho*s in( theta)第一種偽方位投影中,rho=ztheta=a+0.005308/0.453786*z*si n(3*(15+a)第二種偽方位投影中,rho=ztheta=a-0.1*z/(2*pi/3)*si n(2*a)式中z為天頂距,a為方位角。第一種投影很適合用作中國地圖投影,在下一 章中將作詳細(xì)介紹;第二種投影等變形線像一顆花生,比較貼合大西洋的輪廓,30因此適用于“大西洋圖”。這兩種投影的結(jié)果分別如圖3.5-4和圖3.5-5。5、偽圓柱投影(1) 烏爾馬耶夫任意偽圓柱投影投影公式:x=R*(psi/(a*b)+K*ps i3/(3*a*b)y=R

42、*a*lambda*cos(psi)sin( psi)=b*cos(phi)式中a b、K為常數(shù),當(dāng)取a=0.8773826, b=0.8,K=0.414524時,結(jié)果如圖3.5-6。(2) 種可調(diào)節(jié)經(jīng)緯線間隔的偽圓柱投影投影公式:x=R*(phi+a*phi3)y=R*(1-b*phi2)*(c-d*lambda3)*lambda調(diào)節(jié)系數(shù)a、b、c、d可以改變經(jīng)緯線間隔,當(dāng)取a=1/12 , b=0.162338, c=0.87,d=0.000952426時,結(jié)果如圖3.5-7。31圖3.5-4適合中國地圖的自定義偽方位投影32$1z1乜r9圖3.5-5適合大西洋地圖的自定義偽方位投影33圖

43、3.5-6烏爾馬耶夫任意偽圓柱投影圖3.5-7可調(diào)節(jié)經(jīng)緯線間隔的偽圓柱投影34第4章適合區(qū)域特點的地圖投影研究4.1數(shù)據(jù)準(zhǔn)備由于MATLAB中沒有現(xiàn)成的中國地圖和湖北省地圖的數(shù)據(jù),因此先要下載相應(yīng)的數(shù)據(jù)。網(wǎng)上的免費數(shù)據(jù)很多,我的中國地圖數(shù)據(jù)下載自國家基礎(chǔ)地理信息系 統(tǒng)網(wǎng)(http:/nfgis. 湖北省數(shù)據(jù)下載自Csd n網(wǎng)(http:/ 數(shù)據(jù)組成。需要注意的是,在MATLAB中讀取下載的數(shù)據(jù)時要包含數(shù)據(jù)的完整路徑,不 能像讀取MATLAB自帶文件時那樣只用文件名,否則無法找到文件。例如使用MATLAB自帶的Iandarea.shp文件時只需用data=shaperead(andarea.sh

44、p)即可,而 使用下載的文件時則要使用完整路徑data=shapereadD:My bou2_4l.shp?,即使將下載文件與MATLAB自帶文件放 在同一目錄下也必須使用完整路徑。4.2適合中國地圖的投影4.2.1正軸等角割圓錐投影中國地圖投影在將南海諸島作插圖處理時主圖一般采用正軸等角割圓錐投影,兩條標(biāo)準(zhǔn)緯線一般為phi仁25度,phi2=47度。附圖中南海諸島接近赤道,緯 度較低,可采用正軸圓柱投影。這里就直接用MATLAB中提供的lambert投影作為主圖投影,mercator投影作為附圖投影。制圖代碼及注解如下:land = shaperead(D:My Docume ntsMATL

45、ABdatabou2_4p.shp,UseGeoCoords, true);%讀取省界數(shù)據(jù)bou nd=shaperead(D:MyDocume ntsMATLABdatabou2_4l.shp,UseGeoCoords, true);%讀取國界數(shù)據(jù)h1= axesm(lambert,m aplatlim,15 55,m aplo nlim,70140,m apparallels,253547); %設(shè)置主圖投影參數(shù)tightmap;geoshow(la nd,facecolor,1 1 .4);geoshow(bo un d);h2 = axes(pos,.7 .2 .2 .2);%添加附圖

46、并設(shè)置其位置和大小axesm(mercator,m aplatlim,0 22,m aplo nlim,100 120); %設(shè)置附圖投影參數(shù)axis autogeoshow(la nd,facecolor,1 1 .4);geoshow(bo un d);由于該圖有兩個圖形顯示窗口,每個窗口中要顯示兩套數(shù)據(jù),因此等待時間要稍長一些。結(jié)果如圖4.2-1(等變形線表示的是距離變形)。圖4.2-1正軸等角割圓錐投影下的中國地圖4.2.2斜軸偽方位投影中國全圖投影(南海諸島不作插圖處理)可采用斜軸偽方位投影,投影中心為phi0=35度,lambda0=105度。MATLAB中沒有提供適合中國地圖的偽

47、方位投影,因此要自定義適合中國地圖的偽方位投影。36偽方位投影的一般公式為x=rho*cos(theta)y=rho*s in( theta)rho=f1(z)theta=f2(z,a)式中z為天頂距,a為方位角。以選定的投影區(qū)域中某點為原點,投影中的極角具有以下函數(shù)形式:theta=a-c*(z/z n)q*si n(K*a)式中c、q、K、zn為參數(shù)。zn是制圖區(qū)域中心到最遠(yuǎn)邊界的天頂距。K決定投影網(wǎng)對稱軸個數(shù)。參數(shù)q和c可在使等變形線與區(qū)域輪廓近似一致的條件下計 算得到。對于中國全圖而言,取rho=R*z,即近似于方位投影中的等距離投影(但在偽 方位投影中不保持等距離)。令R=1,可解得

48、面積變形公式為:P= z/si n(z)*(1-K*c* (z/ zn )q*cos(K*a)中國疆域的外輪廓在西北、東北和南海是三個向外突出的方向,它們之間則 是三個凹進去的方向,每兩個突出方向間的夾角近似為120度,因此取K值為3。由投影中心為北緯35度,東經(jīng)105度估算得zn約為26度。為使邊緣角度變形不 致太大,取q=1。設(shè)凹進處a=0度,則突出處a=60度,凹進處z估計為14度,令 區(qū)域輪廓凸出與凹進點面積變形相等,代入面積變形公式,有14/si n(14)*(1-3*c*14/36*cos(0)=26/si n( 26)*(1-3*c*26/26*cos(180)解得c=-0.00

49、5308。為使等變形線向中國區(qū)域輪廓形狀近一步逼近,計算theta時,可將方向角a加上15度。最后得到適合制作中國全國的方位投影為:x=rho*cos(theta)y=rho*s in( theta)rho=ztheta=a+0.005308/0.453786*z*si n(3*(15+a)在MATLAB中將該投影命名為ProjectionForChina,簡稱PFC。用該投影制作37中國全圖的代碼如下:UseGeoCoords, true);bou nd=shaperead(D:MyDocume ntsMATLABdatabou2_4l.shp,UseGeoCoords, true);h1=

50、 axesm(PFC,maplatlim,15 55,maplonlim,70 140,origin,35 105 0);geoshow(la nd,facecolor,1 1 .5);geoshow(bo un d);結(jié)果如圖4.2-2(等變形線表示面積變形)。4.3適合湖北省的投影湖北省處于中緯度地區(qū),面積18.59萬平方公里,在投影選擇上屬于“不大的” 區(qū)域,適宜采用正軸等角割圓錐投影。這里采用lambert投影,標(biāo)準(zhǔn)緯線為phi1=30.5度,phi2=32度。制圖代碼如下:data=shaperead(D:My湖北省.shp, UseGeoCoords,true);h=axesm(l

51、ambert,maplatlim,28.733.4,maplo nlim,107.9116.7,mapparallels,30.5 32);tightmap;geoshow(data)結(jié)果如圖4.3-1。landshaperead(D:MyDocume ntsMATLABdatabou2_4p.shp,38圖4.2-2偽方位投影下的中國地圖圖4.3-1正軸等角割圓錐投影下的湖北省地圖39第5章變比例尺地圖投影5.1運用投影解決變比例尺地圖的理論方法Muller曾提出,人類的空間推理是以一種有序的方式對思維對象進行各種層 次的抽象,以便使自己既看清了細(xì)節(jié),又不被支節(jié)問題干擾了主干。這就要求圖 面重點地區(qū)詳細(xì)表示而將要部分要適當(dāng)壓縮。變比例尺地圖正好可以滿足這一要 求。變比例尺地圖有一種“哈哈鏡”效果,可以將地圖中感興趣的部分以某種夸 張的方式表現(xiàn)出來,達到提高地圖信息載負(fù)量和優(yōu)化地圖可視化效果的目的。為 較好解決可視化空間擁擠問題,F(xiàn)airbairn提出了從城市中心到邊緣地區(qū)呈線性降低 比例尺的可視化方法。Harrie針對移動制圖的需求,基于坐標(biāo)變換思想系統(tǒng)地研究 了變比例尺可視化的變形問題。王橋

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論