今天給各位分享gis地圖符號(hào)類型的知識(shí),其中也會(huì)對(duì)gis地圖格式進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
目錄一覽:
- 1、GIS地圖: 是什么
- 2、gis符號(hào)系統(tǒng)分類怎么設(shè)定數(shù)值
- 3、ArcGIS入門教程(8)——空間數(shù)據(jù)符號(hào)化
- 4、MAPGIS數(shù)據(jù)類型
GIS地圖: 是什么
GIS,全稱:Geographic Information Science,地理信息科學(xué)的縮寫。它是在計(jì)算機(jī)硬、軟件系統(tǒng)支持下,對(duì)整個(gè)或部分地球表層(包括大氣層)空間中的有關(guān)地理分布數(shù)據(jù)進(jìn)行采集、儲(chǔ)存、管理、運(yùn)算、分析、顯示和描述的技術(shù)系統(tǒng)。
1992年Goodchild提出的,與地理信息系統(tǒng)相比,它更加側(cè)重于將地理信息視作為一門科學(xué),而不僅僅是一個(gè)技術(shù)實(shí)現(xiàn),主要研究在應(yīng)用計(jì)算機(jī)技術(shù)對(duì)地理信息進(jìn)行處理、存儲(chǔ)、提取以及管理和分析過程中提出的一系列基本問題。
與旅游管理的管理系:GIS技術(shù)可以用于旅游管理中。
GIS技術(shù)的應(yīng)用可大可小,可以是地震局的地震預(yù)測(cè)、可以是大銀行的網(wǎng)點(diǎn)選址、可以是創(chuàng)業(yè)公司的用戶分布也可以是你口袋里的旅游攻略。
添加微信好友, 獲取更多信息
復(fù)制微信號(hào)
擴(kuò)展資料
數(shù)據(jù)是GIS的基礎(chǔ),也就是我們上面所說的地理信息,沒有干凈、完整、準(zhǔn)確的數(shù)據(jù),所有的分析都是空談。在一份GIS的項(xiàng)目里面,往往最耗時(shí)的部分就是數(shù)據(jù)的收集和清理。
數(shù)據(jù)的收集往往不是個(gè)人可以做到的,大多數(shù)GISer使用的都是所謂“二手?jǐn)?shù)據(jù)”,即已經(jīng)存在的、由別的個(gè)人和組織已經(jīng)收集的數(shù)據(jù)。數(shù)據(jù)往往又有免費(fèi)數(shù)據(jù)和收費(fèi)的數(shù)據(jù),免費(fèi)數(shù)據(jù)(在美國(guó))通常是由 *** 或者非營(yíng)利組織收集的,而收費(fèi)數(shù)據(jù)則通常由商業(yè)公司收集的。
GIS中使用的數(shù)據(jù)通常分為兩大部分,一部分是地圖部分,即顯示出來的區(qū)域,比如普查數(shù)據(jù)會(huì)有按照普查區(qū)劃分好的地圖呈現(xiàn),另一部分是數(shù)據(jù)部分,也叫做Attribute Table。這個(gè)表格更像我們所想象的“數(shù)據(jù)”該有的樣子,打開之后像是excel的形式。
參考資料來源:百度百科-GIS
gis符號(hào)系統(tǒng)分類怎么設(shè)定數(shù)值
圖層右鍵屬性,符號(hào)系統(tǒng),類別,唯一值,值字段。
選擇類型字段,增加值,點(diǎn)擊值,點(diǎn)擊增加。也可以增加新值。
ArcGIS入門教程(8)——空間數(shù)據(jù)符號(hào)化
掌握ArcMap環(huán)境下各種符號(hào)化的 *** ,理解不同符號(hào)化間的區(qū)別與聯(lián)系。
Shapefile 文件:states.shp、行政區(qū)界.shp;符號(hào)文件:yangshi.style。
打開ArcMap右鍵選擇圖層屬性,選擇【符號(hào)系統(tǒng)】中【要素】類中的【單一符號(hào)】,設(shè)置符號(hào)的顏色。如圖所示。
符號(hào)化結(jié)果如下圖所示。
【唯一值】符號(hào)化,在符號(hào)系統(tǒng)中,選擇【類別】【唯一值】,選擇【值字段】為“NAME”,設(shè)置一個(gè)預(yù)設(shè)的顏色帶。如圖所示。
結(jié)果如下圖所示。
【多個(gè)字段唯一值】與【唯一值】設(shè)置參數(shù)類似,不同點(diǎn)在于多個(gè)字段可以設(shè)置3個(gè)字段來確定符號(hào)的唯一值。如圖所示。
【與樣式中的符號(hào)匹配符號(hào)化】,選擇導(dǎo)入yangshi.style文件,參數(shù)設(shè)置如圖所示。
加載“states”圖層,打開其符號(hào)系統(tǒng)中的數(shù)量類型,選擇分級(jí)色彩,值選擇“POP1990”,歸一化選擇“AREA”,得到1990年人均土地面積。
【分級(jí)色彩】符號(hào)結(jié)果如下圖所示。
【分級(jí)符號(hào)】與【分級(jí)色彩】類似,設(shè)置相同的值和歸一化字段后,結(jié)果如下圖所示。
【比例符號(hào)】,在【類別】中選擇【比例符號(hào)】,設(shè)置比例符號(hào)的樣式和大小值之后,結(jié)果如下圖所示。
【點(diǎn)密度】,選擇點(diǎn)密度符號(hào)化,設(shè)置字段,調(diào)節(jié)點(diǎn)大小和點(diǎn)值之后確認(rèn),結(jié)果如下圖所示。
選擇符號(hào)系統(tǒng)中的【圖表】類中的【餅圖】。
結(jié)果如下圖所示。
柱狀圖和堆疊圖與餅圖設(shè)置類似,結(jié)果如下圖所示。
本實(shí)驗(yàn)中,主要介紹了對(duì)顯示的要素圖層的符號(hào)化,當(dāng)然如果你想出一副漂亮的地圖,你還需要掌握好顏色的搭配以及與地圖顯示大小的配對(duì)。如果你想出一張漂亮的地圖的話,你可以參考一下往屆GIS大賽地圖制圖組的作品,如果你需要出一副標(biāo)準(zhǔn)的地圖的話,那么你就需要去參考國(guó)家1:2000、1:5000、1:10000等不同比例尺下的制圖符號(hào)標(biāo)準(zhǔn)了。關(guān)于地圖符號(hào)的制作,在之后的文章中也會(huì)出現(xiàn),當(dāng)然同時(shí)也包括了如果制作一張標(biāo)準(zhǔn)的圖廓。如果感興趣,你可以點(diǎn)一下關(guān)注,在接下來相當(dāng)長(zhǎng)的時(shí)間內(nèi),我會(huì)來詳細(xì)的介紹這些東西。
在操作過程中,我們一定要注意各個(gè)圖層要素的參考坐標(biāo)系的問題,選擇的坐標(biāo)系不同,對(duì)于出圖結(jié)果的方位以及后面 分析所得到的數(shù)據(jù)都有著極大的差別。
MAPGIS數(shù)據(jù)類型
0 引言
正在開展的國(guó)土資源科學(xué)數(shù)據(jù)共享工程的建設(shè)是一項(xiàng)長(zhǎng)期的工程,其目標(biāo)之一是對(duì)已有資源進(jìn)行整合發(fā)布,以供廣大用戶使用。因此,科學(xué)數(shù)據(jù)共享工程所提供的數(shù)據(jù),其格式必須是能夠讓大多數(shù)用戶都能夠使用的,而能夠被大多數(shù)用戶所使用的數(shù)據(jù)就是當(dāng)前占主流地位的ArcGIS 數(shù)據(jù)。
但是由于一直以來地礦部門所采用GIS 軟件基本上是MapGIS ,導(dǎo)致我們目前擁有大量的MapGIS 格式的GIS 數(shù)據(jù)需要被轉(zhuǎn)換成可供發(fā)布的ArcGIS 數(shù)據(jù)格式。例如:當(dāng)前《水文地質(zhì)圖集》里面的68 幅圖都是MapGIS 格式,需要將其轉(zhuǎn)換成可被共享的ArcGIS 數(shù)據(jù)格式。因此現(xiàn)在的首要任務(wù)是找到便利的手段將MapGIS 數(shù)據(jù)轉(zhuǎn)換成ArcGIS 數(shù)據(jù)。
MapGIS 數(shù)據(jù)向ArcGIS 的轉(zhuǎn)換是一個(gè)復(fù)雜的課題。雖然研究的都是GIS 數(shù)據(jù),由于GIS 數(shù)據(jù)本身的復(fù)雜性,涉及到點(diǎn)、線、區(qū)等不同特征的圖形數(shù)據(jù),MapGIs 與ArcGIs 的數(shù)據(jù)格式和數(shù)據(jù)組織存儲(chǔ)方式都不相同,導(dǎo)致ArcGIS 軟件并不能直接讀取MapGIS 數(shù)據(jù)。所以,當(dāng)前一個(gè)重要任務(wù)就是研究出MapGIS 向ArcGIS 數(shù)據(jù)無損轉(zhuǎn)換工具。
另外,從避免重復(fù)建設(shè)這一角度來看,這一研究課題也具有很深的意義。由于MapGIS 在我國(guó)各領(lǐng)域應(yīng)用十分廣泛,我國(guó)很多GIS 數(shù)字化工作都是基于MapGIS 這一平臺(tái)來加以實(shí)現(xiàn)的。而生產(chǎn)ArcGIS 的 ESRI 公司一直引領(lǐng)著全球GIS 技術(shù)的發(fā)展方向,30 多年來始終保持其全球之一的市場(chǎng)占有率。隨著Arc GIS 平臺(tái)在我國(guó)各領(lǐng)域的應(yīng)用逐漸廣泛,這就需要Arc GIS 軟件能夠讀取已經(jīng)投入大量人力物力進(jìn)行數(shù)字化工作后得到MapGIS 數(shù)據(jù)。否則,就會(huì)造成數(shù)據(jù)矢量化的重復(fù)建設(shè)。
綜上所述,MapGIs 向ArcGIs 數(shù)據(jù)轉(zhuǎn)換研究也就成為了當(dāng)前一個(gè)重要的研究?jī)?nèi)容。
1 現(xiàn)實(shí)轉(zhuǎn)換存在的問題
通過大量的調(diào)研發(fā)現(xiàn),當(dāng)前國(guó)內(nèi)所普遍采用的MapGIS 數(shù)據(jù)向ArcGIS 數(shù)據(jù)轉(zhuǎn)換的 *** 主要是運(yùn)用MapGIS 自身所提供的文件轉(zhuǎn)換模塊來進(jìn)行,其提供的向ArcGIS 轉(zhuǎn)換的方式包括轉(zhuǎn)換成ArcGIS 的SHAPE 格式或者是E00 格式。但是運(yùn)用這種方式轉(zhuǎn)換后會(huì)存在很多問題,不能實(shí)現(xiàn)無損轉(zhuǎn)換,轉(zhuǎn)換后還需要進(jìn)行大量的手工修補(bǔ)工作,因此這種當(dāng)前普遍采用的 *** 會(huì)耗費(fèi)大量的人力、物力,并不能夠很好地滿足實(shí)際需要;另外,經(jīng)研究發(fā)現(xiàn),很多的研究人員發(fā)現(xiàn)了這一問題,也進(jìn)行了大量的研究工作,取得了一定的理論成績(jī),但是卻還沒有形成可供投人使用的成果,即自動(dòng)轉(zhuǎn)換工具。綜上所述,當(dāng)前國(guó)內(nèi)MapGIS 數(shù)據(jù)向ArcGIS 數(shù)據(jù)轉(zhuǎn)換的研究還不很成熟,不能很好地滿足實(shí)際需要。
經(jīng)親自試驗(yàn)MapGIS 文件轉(zhuǎn)換模塊所提供的MapGIs ArCGIS 轉(zhuǎn)換工具后發(fā)現(xiàn)存在著諸多問題。
( l )轉(zhuǎn)換成ArcGIS 的SHAPE 格式時(shí)存在的問題為:
a 、點(diǎn)文件:MapGIS 點(diǎn)文件中的子圖、注釋都用一種不對(duì)應(yīng)的子圖符號(hào)在ArcGIS 中顯示出來,而且對(duì)應(yīng)的顏色都丟失,變?yōu)锳rcGIS 的缺省顏色;
b 、線文件:將MapGIS 線文件轉(zhuǎn)換后,在ArcGIS 中顯示出來時(shí),發(fā)現(xiàn)線的顏色都變成了統(tǒng)一的ArcGIS 的缺省顏色;
c 、區(qū)文件:將MapGIS 區(qū)文件轉(zhuǎn)換后,在ArcGIS 中顯示出來時(shí),發(fā)現(xiàn)區(qū)的顏色都變成了統(tǒng)一的Arc GIS 的缺省顏色,而且因?yàn)镾HAPE 文件并不保存拓?fù)潢P(guān)系,所以MapGIS 區(qū)文件的拓?fù)潢P(guān)系也被丟失。
( 2 )轉(zhuǎn)換成ArcGIS 的E00 格式時(shí)存在的問題為:
a 、點(diǎn)文件:MapGIS 點(diǎn)文件中的子圖、注釋都可以轉(zhuǎn)換過去,但是子圖符號(hào)不對(duì)應(yīng),對(duì)應(yīng)的顏色都丟失,變?yōu)锳rcGIS 的缺省顏色,并且點(diǎn)文件的屬性信息丟失;
b 、線文件:將MapGIS 線文件轉(zhuǎn)換后,在Arc GIS 中顯示出來時(shí),發(fā)現(xiàn)線的顏色都變成了統(tǒng)一的ArcGIS 的缺省顏色,并且線文件的屬性信息丟失;
c 、區(qū)文件:將MapGIS 區(qū)文件轉(zhuǎn)換后,在Arc GIS 中顯示出來時(shí),發(fā)現(xiàn)區(qū)的顏色都變成了統(tǒng)一的ArcGIS 的缺省顏色,而且區(qū)文件的屬性信息丟失。由此可以看出,在將MapGIS 文件向Arc 以S 文件轉(zhuǎn)換的過程中,為使文件正確顯示,按照目前通用的 *** 轉(zhuǎn)換后通常需要進(jìn)行復(fù)雜的手工調(diào)整,而轉(zhuǎn)換的數(shù)據(jù)量較大,這將耗費(fèi)大量的人力、物力和時(shí)間。
2 技術(shù)路線及具體實(shí)施方案
2 . 1 技術(shù)路線的選擇通過研究,發(fā)現(xiàn)通用的數(shù)據(jù)格式轉(zhuǎn)換方式有以下幾種:
( l )常規(guī)的GIS 數(shù)據(jù)格式轉(zhuǎn)化 ***
就是采用某種編程語言首先讀取源數(shù)據(jù)文件,提取源文件中的圖形信息和屬性信息,然后再寫人目標(biāo)文件中去。這種 *** 的優(yōu)點(diǎn)是由于訪問的是明碼數(shù)據(jù)格式,可用程序進(jìn)行直接讀取。但是,這種 *** 會(huì)導(dǎo)致數(shù)據(jù)的丟失,也無法進(jìn)行渲染方式的轉(zhuǎn)換。因此,從根本上來說,此種 *** 無法實(shí)現(xiàn)GIS 數(shù)據(jù)的無損轉(zhuǎn)換。例如:首先將MapGIS 點(diǎn)(wt )、線( wl )、面(wp ) 文件在MapGIS 的文件轉(zhuǎn)換模塊中轉(zhuǎn)換成MapGIS 的明碼文件,運(yùn)用C + +來進(jìn)行編程,讀取MapGIS 明碼文件中的圖形及其屬性的相關(guān)信息,再對(duì)應(yīng)地寫人到ArcGIS 的SHAPEFILE 文件中去。但是MapGIS 的明碼文件不保存圖形的屬性信息,所以無法通過明碼文件之間的轉(zhuǎn)換來實(shí)現(xiàn)數(shù)據(jù)無損轉(zhuǎn)換。
( 2 )利用數(shù)據(jù)格式轉(zhuǎn)換工具
這種 *** 簡(jiǎn)單方便,易于實(shí)現(xiàn),但是通用數(shù)據(jù)格式轉(zhuǎn)換器難以避免的會(huì)丟失一些圖形信息,轉(zhuǎn)換出來的圖形一般還需要一些特別的處理,如圖形顏色設(shè)置,符號(hào)設(shè)置,區(qū)域填充設(shè)置,拓?fù)涞闹亟ǖ取@纾哼\(yùn)用MapGIS 的文件轉(zhuǎn)換模塊,將MapGIS 的點(diǎn)(wt )、線(wl )、面(wp )文件轉(zhuǎn)換成ArcGIS 的E00 格式文件,用ArcGIS 進(jìn)行讀取。這種 *** 只需要借助于MapGIS 現(xiàn)已提供的文件轉(zhuǎn)換模塊就可以進(jìn)行。但是轉(zhuǎn)換后發(fā)現(xiàn)會(huì)存在信息的丟失,轉(zhuǎn)換出來的圖形一般還需要一些特別的處理,如圖形顏色設(shè)置,符號(hào)設(shè)置,區(qū)域填充設(shè)置、拓?fù)涞闹亟ǖ取@纾簩?duì)于點(diǎn)文件,由于兩種軟件的子圖庫并不對(duì)應(yīng),所以會(huì)出現(xiàn)轉(zhuǎn)換后,點(diǎn)圖形文件的子圖顯示不一致現(xiàn)象。
( 3 )利用第三方數(shù)據(jù)文件訪問工具進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換
這種 *** 需要開發(fā)出第三方的數(shù)據(jù)訪問組件。隨著GIS 組件式開發(fā)技術(shù)的逐漸成熟,各種GIS 軟件基本都提供了訪問其本身的GIS 數(shù)據(jù)的組件,如Ar-cobject 可以訪問ESRI ShaPe Files 、Arclnfo Coverage 和VPF 等矢量數(shù)據(jù)格式;MaPGIS SDE 可以訪問MapGIS 的WT 、WL 、WP 等文件的數(shù)據(jù)信息。利用GIS 組件的這種特點(diǎn)可以自己靈活的編寫與其他數(shù)據(jù)格式轉(zhuǎn)換的程序,或者在GIS 系統(tǒng)的二次開發(fā)中集成數(shù)據(jù)格式轉(zhuǎn)換的功能,實(shí)現(xiàn)GIS 數(shù)據(jù)共享。
例如:運(yùn)用VB 工具進(jìn)行編程,運(yùn)用MapGISSDK 和ArcoBJECT 對(duì)MapGIS 和ArcGIS 進(jìn)行二次開發(fā),開發(fā)出實(shí)現(xiàn)MapGIS 到ArcGIS 數(shù)據(jù)轉(zhuǎn)換的組件。
利用第三方數(shù)據(jù)文件訪問工具進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換具有很高的可行性。因?yàn)殡S著GIS 組件式開發(fā)技術(shù)的逐漸成熟,各種GIS 軟件基本都提供了訪問其本身的GIS 數(shù)據(jù)的組件。通過這些提供的組件可以獲取圖形參數(shù),在不同平臺(tái)提供的數(shù)據(jù)接口間進(jìn)行傳遞,實(shí)現(xiàn)對(duì)MapGIS 圖形信息的讀取,并寫人到ArcGIS 的相應(yīng)文件。這種方式比之一種方式具有更高的可行性,比第二種方式更能夠?qū)崿F(xiàn)圖形的正確讀取,節(jié)省人力、物力。
綜合比較這三種數(shù)據(jù)格式轉(zhuǎn)換方式的優(yōu)缺點(diǎn),本次設(shè)計(jì)決定采用第三種方式來進(jìn)行數(shù)據(jù)轉(zhuǎn)換,即利用第三方數(shù)據(jù)文件訪問工具進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。
2 . 2 具體實(shí)施方案
本次設(shè)計(jì)的實(shí)施方案就是避免采用中間格式(如E00)進(jìn)行轉(zhuǎn)換,運(yùn)用VB 編程語言對(duì)這兩個(gè)GIS 平臺(tái)進(jìn)行二次開發(fā),通過MaPGIS 提供的MapGIS SDK 開發(fā)包調(diào)用相應(yīng)的接口實(shí)現(xiàn)對(duì)MapGIS 圖形數(shù)據(jù)文件的訪問,通過ArcGIS 提供的開發(fā)包ArcOBJECTS 調(diào)用相應(yīng)的接口實(shí)現(xiàn)數(shù)據(jù)向目標(biāo)文件的寫人和文件的生成。開發(fā)出可以實(shí)現(xiàn)MapGIS 到AroGIS 進(jìn)行數(shù)據(jù)無損轉(zhuǎn)換的工具,實(shí)現(xiàn)ArcGIS 平臺(tái)對(duì)MapGIS 數(shù)據(jù)的有效讀取。
兩個(gè)GIS 平臺(tái)的數(shù)據(jù)組織方式不同,MapGIS 的數(shù)據(jù)文件包括點(diǎn)文件、線文件、面文件,ArcGIS 的數(shù)據(jù)文件包括點(diǎn)文件、注記文件、線文件、面文件。它們的對(duì)照關(guān)系如表1所示。
具體實(shí)施方案主要分為三個(gè)大的方面:
( l ) MapGIS 文件內(nèi)容的讀取
MapGIS 平臺(tái)提供兩種數(shù)據(jù)格式:一種是MapGIS 明碼數(shù)據(jù)格式,這種格式訪問方便,利用程序可以直讀直取,但是由于此種文件不保存MapGIS 平臺(tái)所生成的屬性信息,所以在本次設(shè)計(jì)中不加以使用;
第二種是MapGIS 自帶的加密數(shù)據(jù)格式,即wT 、WL 、WP 格式,這種格式保存了所有數(shù)據(jù)的內(nèi)容,程序不能直接讀取,但通過調(diào)用MapGIS 提供的開發(fā)包
SDK )可以實(shí)行對(duì)文件的訪問。
本設(shè)計(jì)決定在MapGIS SDK 的基礎(chǔ)上進(jìn)行MapGIs 的wT 、wL 、wP 文件內(nèi)容的全部讀取。包括:
① 點(diǎn)文件的圖形坐標(biāo)、屬性信息、渲染方式(子圖號(hào)、注釋內(nèi)容、顏色、字體等);
讀取點(diǎn)文件的圖形坐標(biāo)信息可通過調(diào)用PNTAREA 的getpos *** 來實(shí)現(xiàn)。
讀取點(diǎn)文件的屬性信息主要是通過讀取字段頭Record- Head 的相關(guān)信息,來獲取相應(yīng)點(diǎn)文件共包含多少字段,字段類型及名稱。通過Record 的item ( index )屬性來獲取每條記錄。
Fori = 0 To pntAi . att . stru . numbfield 一l
pfldname = pntAi . att . stru ( i ) . FieldName
pfldtype = pntAi . att . stru ( i ) . FieldType
¨¨¨¨¨¨
¨¨¨¨¨¨
Next i
代碼中,numbfield 為字段數(shù),F(xiàn)ieldName 為字段名,F(xiàn)ield pe 為字段類型。
Dim att As Record
Dim flag As Integer
flag = pntAi . att . Get ( pi , att )
¨¨¨¨¨¨
¨¨¨¨¨¨
代碼中,att 為Record 類型變量,記錄了相應(yīng)點(diǎn)實(shí)體的屬性記錄值,通過對(duì)att 相應(yīng)屬性的調(diào)用可以讀取各字段對(duì)應(yīng)點(diǎn)實(shí)體的相關(guān)記錄。讀取點(diǎn)文件的渲染方式信息需要調(diào)用PNTAREA 的Getlnfo *** ,通過Pnt-Info 的type 等屬性來獲取點(diǎn)實(shí)體類型、子圖號(hào)等信息;通過Pnt-Info 的iclr 屬性來獲取點(diǎn)實(shí)體的顏色信息。
② 線文件的圖形坐標(biāo)、線顏色、屬性信息;
讀取線文件的圖形坐標(biāo)信息可以通過調(diào)用LinArea 、D_Dotset 、LinArea 的att 屬性以及Get *** 等來實(shí)現(xiàn)。
Dim inf As Lin Info
Dim pos AsD 一Dotset
Dim dot 1 As D Dot
Dim dotZ As D Dot
rtl = linAi . Get ( 11 , pos , inf , dimension )
Set dotl = pos . ltem ( i )
Set dotZ = pos . Item ( i + l )
¨¨¨¨¨¨
¨¨¨¨¨¨
代碼中, li為線實(shí)體號(hào),inf 為L(zhǎng)in--Info 類型變量,pos為D_Dotset 類型變量,pos的Item 屬性是存儲(chǔ)了系列線坐標(biāo)的數(shù)組。
讀取線文件的屬性信息需要用到LinAit 的Get *** 以及stm 屬性,主要是通過讀取字段頭Record _ Head 的相關(guān)信息,來獲取相應(yīng)線文件共包含多少字段,字段類型及名稱。通過Record 的item ( index )屬性來獲取每條記錄。
讀取線文件的渲染方式信息需要調(diào)用LinArea 的Getlnfo *** 。
③ 區(qū)文件的邊界組成坐標(biāo)、區(qū)填充顏色、填充圖案、屬性信息。
讀取區(qū)文件的圖形坐標(biāo)信息需要用到MapGIS SDK 提供的對(duì)象RegArea、D Dotset、D_Dotset 的Count及Item 屬性、Re rea 的Get *** 等。
讀取區(qū)文件的屬性信息需要用到RegAtt 的Get *** ,Record 的item ( index )屬性,主要是通過讀取字段頭Record_Head 的相關(guān)信息,來獲取相應(yīng)區(qū)文件共包含多少字段,字段類型及名稱。通過Record 的item ( index )屬性來獲取每條記錄。
讀取區(qū)文件的渲染方式信息需要調(diào)用RegArea 的Getlnfo *** ,通過Reglnfo的Path 。等屬性來獲取區(qū)實(shí)體填充圖案等信息;通過Reg--Info 的。lr屬性來獲取區(qū)實(shí)體的填充顏色信息。
Dim reginfo As Reg--Info 、
rtl = regAi . Getlnfo ( ri , reginfo )
¨¨¨¨¨¨
¨¨¨¨¨¨
代碼中,reginfo 為Re Info 二類型變量,通過調(diào)用Reg--Info 的dr 屬性可以獲取區(qū)實(shí)體填充顏色信息。
( 2 )圖形數(shù)據(jù)向ArcGIS 接口寫人,生成SHAPE - FILE 文件
目前ArcGIS 使用的shapefile 文件是GIS 的通用文件格式,在該步驟中,決定統(tǒng)一通過訪問ArcGIS 提供的開發(fā)包生成shapefile 數(shù)據(jù)文件。
Shapefile 文件由包含空間信息和屬性信息的三個(gè)文件組成,分別為:坐標(biāo)文件(. shp )、屬性文件( . dbf )、索引文件(. Shx )。
坐標(biāo)文件(. shp )的文件頭是一個(gè)長(zhǎng)度固定(100 bytes )的記錄段,一個(gè)有9 個(gè)int 型和7 個(gè)double 型數(shù)據(jù)。坐標(biāo)文件的實(shí)體信息負(fù)責(zé)記錄坐標(biāo)信息,它以記錄段為基本單位,每一個(gè)記錄段記錄一個(gè)地理實(shí)體目標(biāo)的坐標(biāo)信息,每個(gè)記錄段分為記錄頭和記錄內(nèi)容兩部分(表2 )。
屬性文件(.dbf )用于記錄屬性信息。它是一個(gè)標(biāo)準(zhǔn)的D BF 文件,由頭文件和實(shí)體信息兩部分構(gòu)成(表3 )。
索引文件(.shx )主要包含坐標(biāo)文件的索引信息,文件中每個(gè)記錄包含對(duì)應(yīng)的坐標(biāo)文件記錄距離坐標(biāo)文件頭的偏移量。通過索引文件,可以很方便地在坐標(biāo)文件中定位到指定目標(biāo)的坐標(biāo)信息。生成,hapefile 文件,首先要建立相應(yīng)的字段,這些字段作為屬性數(shù)據(jù)被保存在屬性文件中。
Set pField = New esriGeodat ase . Field
Set pFieldEdit = pField
With pFieldEdit
. Name = " aoname "
. Type = esriFieldType . esriFieldTypeInteger
End With
pFieldsEdit . AddField pField
代碼中,添加了名為“aoname " ,類型為intege類型的字段。
有了字段后,就可以創(chuàng)建shapefile 文件了。
Set pfeatclass = pFWS . CreateFeatureClass ( strName , pFields , Nothing , Nothing , esriFYSimple , strshapeField - Name , " " )
該代碼創(chuàng)建了名為MyshaPeFilepnt 的shenle 文件。
最后就是向shapefile 文件中添加記錄。要用到IFeatureCursor 、IFeatureBuffer 、IFeatureClasS 的insert *** 來向?qū)傩员碇胁迦朊恳粭l記錄,并調(diào)用IFeatureClaSS 的CreateFeatureBuffer 來創(chuàng)建緩沖區(qū)存放這些記錄。
Set pfeaturecursor = pfeatclass . Insert ( True )
Set pFeatureBuffer = Pfeatclass . CreateFeatureBuffer
pFeatureBuffer . Value ( l ) = pPoint
¨¨¨¨¨¨
¨¨¨¨¨¨
nFeatureNumber = pfeaturecursor . InsertFeature ( pFea 一tureBuffer )
該代碼是調(diào)用生成的Shapefile 文件對(duì)應(yīng)的IFeatureClasS 接口的CreateFeatureBuffe : *** 創(chuàng)建緩沖區(qū),通過游標(biāo)IFeatureCursor 的InsertFeature *** 加人記錄。
至此,就生成了shapefile 文件。此時(shí)的shapefile 文件保存了MapGIS 文件的坐標(biāo)信息,屬性信息,但是渲染樣式還沒有對(duì)應(yīng)起來,即圖形的顏色、圖案還沒有達(dá)到一致。需要在下一步的操作中來達(dá)到這一要求。
( 3 ) A rcGIS 工程文件(MXD )的生成
ArcGIS 的數(shù)據(jù)與渲染樣式是分開保存的,數(shù)據(jù)保存在shape 、coverage 、geodatabase 等格式的數(shù)據(jù)文件中,渲染樣式保存在MXD 工程文件中。因此對(duì)渲染樣式方面參數(shù)的寫入主要是通過在相應(yīng)的數(shù)據(jù)文件里添加擴(kuò)展字段,用來存儲(chǔ)這些渲染信息。
具體如下:
① 建立MapGIs 與ArcGIs 符號(hào)對(duì)照表,記錄MapGIS 符號(hào)索引和相應(yīng)ArcGIS 符號(hào)索引;
② 建立ArcGIS 要素文件的擴(kuò)展字段,記錄渲染信息參數(shù),這些記錄渲染信息的擴(kuò)展字段(包括:MapGIS 符號(hào)索引、ArcGIS 符號(hào)索引、MapGIS 顏色號(hào)、對(duì)應(yīng)RGB 顏色)存儲(chǔ)在shapefile 文件的.dbf 文件中;(這部分的工作在第二步生成shapefile 文件字段的時(shí)候已經(jīng)完成)
具體做法為:
根據(jù)MaPGIS 符號(hào)索引號(hào)字段記錄的內(nèi)容,從符號(hào)對(duì)照表中讀取相應(yīng)的ArcGIS 符號(hào),將其寫到對(duì)應(yīng)要素的ArcGIS 符號(hào)索引字段中;
根據(jù)MapGIS 顏色號(hào)字段記錄的內(nèi)容,從顏色對(duì)照表中讀取相應(yīng)的RGB 顏色,將其寫到對(duì)應(yīng)要素RGB 顏色字段中;
詳情見圖1
該文件中,ID 為點(diǎn)實(shí)體號(hào),mappntcoln 為MapGIS 點(diǎn)實(shí)體對(duì)應(yīng)顏色號(hào),mapPntr *** 為顏色號(hào)對(duì)應(yīng)的RGB 值,為字符串類型,R--int為intege類型的red 值,G--int 為integer 類型的green 值,B_int 為integer 類型的hiue 值,這幾個(gè)值在進(jìn)行顏色渲染的時(shí)候會(huì)用到;類型字段存儲(chǔ)的為點(diǎn)類型相關(guān)信息,在進(jìn)行分類為ArcGIS 點(diǎn)文件和注記文件時(shí)會(huì)用到(圖2 )。
各字段對(duì)應(yīng)含義與用途和點(diǎn)文件字段類似,可參見點(diǎn)文件方面的描述(圖3 )。
各字段對(duì)應(yīng)含義以用途與點(diǎn)文件字段類似,可參見點(diǎn)文件方面的描述。
③ 記錄各要素符號(hào)信息后,可根據(jù)這些信息對(duì)各要素進(jìn)行自動(dòng)渲染操作;
利用ARCOBJECTS 中IUniquevalueRenderer 類、StyleGalle類、StyleGalle Item 類、EnumstyleGalle 巧Item 類進(jìn)行符號(hào)匹配顯示;
定義IUniquevalueRenderer 類的Isymbol 屬性來存儲(chǔ)顏色信息,將定義好的IUniquevalueRenderer 賦值給IGeoFeatureLayer ( mapcontrol 控件上加載的shaPe - file 文件),來對(duì)加載的文件進(jìn)行渲染。
Private Function GetRGBColor ( y ourRed As Integer , yourGreen As Integer , yourBhie As Integer ) As IRgbColor
Dim prgb As IRghColor
Set prgb = New RghColor
With prgb
·Red = yourRed
·Green = yourGreen
· Blue = yourBlue
End With
Set GetRGBColor = prgb
End Function
該函數(shù)可以根據(jù)給定的整型數(shù)據(jù)來生成RGB 顏色。
④ 將編輯完的要素保存成.mxd 格式,即ArcGIS 的工程文件。
該過程需要用到IAppliCation 的saveDocument 以及Shutdown *** 。
至此,就完成了對(duì)MapGIS 的完全讀取,并保存成ArcGIS 所支持的數(shù)據(jù)格式。
2 . 3 開發(fā)環(huán)境的選擇
在GIS 二次開發(fā)中,VB 開發(fā)語言具有使用方便、開發(fā)速度快的優(yōu)勢(shì),因此決定采用VB 作為編程語言;另外,還要用到MapGIS SDK 、ArcMAP 、ArcoB - JECTS 開發(fā)包。
4 技術(shù)關(guān)鍵點(diǎn)
本次設(shè)計(jì)中的技術(shù)關(guān)鍵點(diǎn)包括如下幾個(gè)方面:
1 、在點(diǎn)數(shù)據(jù)的讀取和寫入中,由于雙方的點(diǎn)數(shù)據(jù)類型不一致,需要將MapGIs 所提供的注釋類點(diǎn)數(shù)據(jù)寫人到ArcGIS 的注記類文件中,而不是寫到點(diǎn)文件中。
2 、子圖類的點(diǎn)數(shù)據(jù)傳遞時(shí),需要在ArcGIS 數(shù)據(jù)文件中建立擴(kuò)展字段加以存儲(chǔ)子圖的類型信息,還要建立MapGIs 與AroGIS 的子圖對(duì)照表,進(jìn)行進(jìn)一步的轉(zhuǎn)換。
3 、在區(qū)文件的讀取和寫人中,要處理好“島”的問題,即環(huán)中環(huán)的問題,需要調(diào)用接口用算法實(shí)現(xiàn)環(huán)數(shù)、點(diǎn)數(shù)、每個(gè)環(huán)的點(diǎn)數(shù)等信息;另外,還要建立MapGIs 與ArcGIs 區(qū)填充圖案對(duì)照表。
4 、在顏色的處理上,要將MapGIS 的顏色庫文件轉(zhuǎn)換成文本文件,在運(yùn)用MaPGIS SDK 得到顏色號(hào)信息后,根據(jù)顏色號(hào)在文本文件夾中索引出對(duì)應(yīng)的顏色參數(shù)值。還需要在ArcGIS 的數(shù)據(jù)文件里建立擴(kuò)展字段用來存儲(chǔ)傳遞過來的顏色參數(shù)值。另外,還要建立MapGIs 與ArcGIs 的顏色對(duì)照表,加以轉(zhuǎn)換(圖4)。
5 結(jié)論
根據(jù)以上設(shè)計(jì)思路,在VB 開發(fā)環(huán)境下,調(diào)用Mapcls sDK 、ARCMAP 、ARCoBJECT 開發(fā)包進(jìn)行程序設(shè)計(jì),基本實(shí)現(xiàn)了初步設(shè)想,實(shí)現(xiàn)了點(diǎn)、線、面文件在坐標(biāo)、屬性上的完全一致,顏色、圖案信息的基本一致。為后續(xù)GIS 格式轉(zhuǎn)換方面的研究提供了一個(gè)好的解決思路。
gis地圖符號(hào)類型的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于gis地圖格式、gis地圖符號(hào)類型的信息別忘了在本站進(jìn)行查找喔。