下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MapGIS常見問題中地?cái)?shù)碼集團(tuán)平臺(tái)二次開發(fā)支持部本期常見問題要緊由 MapGIS開發(fā)平臺(tái)C/S開發(fā)問題組成,涉及部份 B/S開發(fā)問題.1、基于MapGIS開發(fā)平臺(tái),如何通過代碼實(shí)現(xiàn)修改線的圖形參數(shù)操作,包括可變顏色、 可變筆寬、線型等參數(shù)?答:可依照如下步驟實(shí)現(xiàn):(1)在MapGIS軟件中假設(shè)需查看線、區(qū)等要素的圖形參數(shù),需開啟復(fù)原顯示功能,可通過編寫代碼手動(dòng)開啟復(fù)原顯示功能.(2)在復(fù)原顯示模式下,線是通過MapGIS符號(hào)庫(kù)的線型來顯示的,而線型符號(hào)那么由幾部份組成,而每一部份假設(shè)采取固定顏色或固定筆寬的模式,那么無法看到修改后的線型參數(shù).只有在某一部份采取可變顏色或可變筆寬的情形下,對(duì)圖
2、形信息中的相關(guān)項(xiàng)的修改才會(huì)有成效,因此能夠通過修改符號(hào)庫(kù)的相關(guān)線型的顏色模式或筆寬模式來到達(dá)成效.(3) 一個(gè)線型能夠通過線型號(hào)+輔助線型號(hào)來唯一確信,以COM1件式開發(fā)C黜言為例的線屬性如下:mcLinInfo. libID :輔助線型號(hào)mcLinInfo. linstyID :線型號(hào)(4)基于COMS件式開發(fā)C黜言的復(fù)原顯示實(shí)現(xiàn)代碼如下:mcLinInfolineInfo = new mcLinInfo();/線信息mcGeoVarLinevarLine = new mcGeoVarLine();/折線對(duì)象點(diǎn)對(duì)象mcDot dot1 = new mcDot();mcDot dot2 = n
3、ew mcDot();點(diǎn)對(duì)象賦值dot1.x = 50;dot1.y = 50;dot2.x = 200;dot2.y = 200;/添加到折線對(duì)象varLine.Append2D(dot1);varLine.Append2D(dot2); /設(shè)置線參數(shù)lineInfo.linstylD = 21;linelnfo.liblD = 4;lineInfo.xscale = 20;lineInfo.yscale = 20; /畫圖IXDisplay display = this.axMapXView1.Display;畫圖對(duì)象display.DispLine(ptGeom as IGeoLine,
4、 lineInfo as mcLinInfo, 6);/依照線參數(shù)顯示對(duì)應(yīng)的線display.DisplayOption.SymbolShow = true;/開啟復(fù)原顯示功能display.DispLine(varLine, lineInfo as mcLinInfo, 0);/重繪制線2、在查看地圖的進(jìn)程中,常要通過不同比率顯示地圖,如何通過代碼實(shí)現(xiàn)依照必然的 顯示比率顯示地圖的功能?答:步驟如下:(1)用戶常常將顯示比率與比例尺相混淆,比例尺一樣應(yīng)用于地圖數(shù)據(jù)打印輸出時(shí),表示圖上距離與實(shí)際距離的比值.而顯示比率一般是指基于某一顯示設(shè)備顯示地圖的邏輯范圍與顯示設(shè)置的分辨率的關(guān)系,實(shí)現(xiàn)的成效
5、那么是依照用戶輸入的顯示比率來放大或縮小地圖,顯示成效如下:部 帖汩 HWKp SHN4)gl唯 到妙曜 星VW ntHW 和fettflM H*5 13 第咫 *0??;上不占/ Mif# .上 .- '. W Bllttf工工 3飛飛,中卡 工+出署事烏里也口法 Q« & B 口4 J 二tm ,=* T = XM :"丁 ld0plK團(tuán)F?l團(tuán)匕)F1B曰匚川t的就-匚二.mESaL.jg、j tm.而*fj 11?口單0.: I汽口卜rI'.厘9:%-U : 'J廣?小 L J甌距JiB -" .'El圖1 1 : 1
6、0000顯示比率顯示成效;黑 IfT-JJ -MM1: E" WJ1J dWAlk J ".*105 MHIi 甘班匐包H I4UJ HfJ.JJ <S 3曜M:H三二三三"二二二七 53315 T.53舟目齒懶引的室的融回G 一山 W圖2 1 : 250000顯示比率顯示成效(2)顯示比率近似值計(jì)算公式a.顯示比率=當(dāng)前邏輯范圍/設(shè)備范圍;b.當(dāng)前比例尺=設(shè)備范圍(毫米值)/實(shí)際的顯示范圍(毫米值)c.設(shè)備范圍的值是依照 96像素/英寸,1英寸毫米來計(jì)算.(3)以C/S模式,COMfi件式開發(fā)C獻(xiàn)言為例,部份實(shí)現(xiàn)代碼如下:/當(dāng)前比例尺public stri
7、ng scalejs()(/設(shè)備范圍double sbfw = gisOper.AxMapView1.Width;/gisOper為 workspace 對(duì)象sbfw = (sbfw / 96) * 25.4 /那個(gè)地址顯示器設(shè)置為 96像素,以實(shí)際值為主/實(shí)際顯示范圍IXDisplay display = null;display = gisOper.AxMapView1.Display;mcRectrect = display.Transformation.DispRect;doublesjfw = rect.xmax - rect.xmin;sjfw = (sjfw * Math.PT
8、* 6371000000) /180; /取地球的平均半徑,取得近似的實(shí)際距離/當(dāng)前比例尺int x = Convert.ToInt32(sjfw/sbfw);srtingscaledq = "1 : " + Convert.ToString(x);/取得當(dāng)前比例尺3、在進(jìn)行符號(hào)庫(kù)操作時(shí),添加符號(hào)成功,但看不到成效,應(yīng)該如何解決?答:在進(jìn)行符號(hào)庫(kù)設(shè)置的進(jìn)程中,需要注意以下幾點(diǎn):(1)坐標(biāo)值是像素乘以5000,比方dot.x = 0.2*5000;(2)符號(hào)數(shù)據(jù)長(zhǎng)度必需設(shè)為80, mcSymbolHead.DataLen = 80 ;(3)以C/S模式,COMfi件式開發(fā),C
9、黜言為例,實(shí)現(xiàn)代碼如下:mcMapSymbolLibClassmcLibClass = new mcMapSymbolLibClass();/符號(hào)庫(kù)類intnnnn = mcLibClass.get_BaseNum(meSymbolType.mePntSymbol);/設(shè)置點(diǎn)符號(hào)intnSymCount = mcLibClass.SymbolNum;mcMapSymbolmcSymbol = new mcMapSymbol();/ 符號(hào)對(duì)象mcSymbolHeadm_symHead = new mcSymbolHead();m_symHead.symbolType = meUnitSymbol
10、Type.meVectPoint;/設(shè)置符號(hào)類型為矢量點(diǎn)m_symHead.ItemNum = 1;m_symHead.SymbolName = "test113"m_symHead.DeleteFlag = false;/設(shè)置坐標(biāo)值m_symHead.OrgX = 5000;m_symHead.OrgY = 5000;/注意1m_symHead.DataLen = 80;mcDots dots = new mcDots();mcDot dot = new mcDot();/那個(gè)地址需要利用設(shè)備坐標(biāo),三個(gè)點(diǎn)dot.x = 0;dot.y = 0;dots.Add(dot);
11、dot.x = 5000;dot.y = 5000;dots.Add(dot);dot.x = 10000;dot.y = 5000;dots.Add(dot);dot.x = 0;dot.y = 0;dots.Add(dot);mcSymbolItemClassmcSymItem = new mcSymbolItemClass();/ 符號(hào)圖元對(duì)象mcSymItem.ItemType = meSymbolItemType.mePolygon;/ 填充區(qū)/填充區(qū)參數(shù)mcSymItem.InterC010r = 1;mcSymItem.OuterC010r = 1;mcSymItem.DateL
12、en = 4;mcSymItem.OuterPen = 1;mcSymItem.SInterPenWidth = 1;mcSymItem.CirNum = 1;/注意2,順序m_symHead.SymbolNo= mcLibClass.get_BaseNum(meSymbolType.mePntSymbol) + 1;mcSymbol.SymbolHead = m_symHead;intrtn = mcSymbol.AppendItem(mcSymItem, dots, "");intnAddFlag = mcLibClass.AppendSymbol(mcSymbol);
13、nSymCount = mcLibClass.SymbolNum;/注意3mcLibClass.WriteSymbol(mcSymbol);/更新符號(hào)庫(kù)mcLibClass.SaveLib();4、如何實(shí)現(xiàn)圖層透明顯示?答:以COM&件式開發(fā)C黜言為例,有兩種實(shí)現(xiàn)方式,如下:(1)方式一:提供(MapGISK9新增加接口),m_regLayer.SetProperty("TRANSPARENT", 50);(2)方式二:mcSFeatureLayer提供了對(duì)區(qū)圖層透明顯示和填充模式的設(shè)置:設(shè)置區(qū)填充顯示方式0/1/2 ,只填充區(qū)/只繪制邊線/填充區(qū)并繪制邊線,代碼如
14、下:Sub SetRegFillDispMode(ByVal mode As Integer, linf As mc_basObj7Lib.ILinInfo) 的成員設(shè)置顯示透明度,代碼如下:Sub SetTransparent(ByVal per As Integer)的成員5、MapGIS K9中如何操作屬性字段類型為圖片的屬性值?答:步驟如下:(1)在K9中屬性字段類型為圖片類型的字段,字段內(nèi)容是圖片的絕對(duì)途徑,能夠?qū)ζ溥M(jìn)行操作,但中間必需有解碼的進(jìn)程.(2)以C/S模式,COM1件式開發(fā),C黜言為例,實(shí)現(xiàn)進(jìn)程如下:mcGDBServersvr = new mcGDBServer();s
15、vr.Connect("MapGISlocal", "", "");/連接數(shù)據(jù)源mcGDataBasegdb=svr.get_gdb("sample");/ 翻開數(shù)據(jù)庫(kù)mcSFeatureClssfcls=gdb.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls;sfcls.Open("Ku6_1.wl", 0);/翻開簡(jiǎn)單要素類/查詢OID為1的要素的信息mcObjectID id=new mcObjectID();id.Int=1;mcReco
16、rdrcd = null;sfcls.GetAtt(id, out rcd);objectob;/獲取名稱為“ aaa的要素信息,該屬性為圖片類型rcd.GetFldVal("aaa", out ob);byte bt = System.Text.Encoding.Unicode.GetBytes(string)ob);/轉(zhuǎn)化成二進(jìn)制字節(jié)string str = System.Text.Encoding.ASCII.GetString(bt);/轉(zhuǎn)化成 StringImage img = Image.FromFile(str);/輸出圖片6、MapGIS IGServer中
17、包含哪些數(shù)據(jù)組織形式?答:MapGISIGServer采納“縱向多級(jí),橫向網(wǎng)絡(luò)方式治理海量多源異構(gòu)數(shù)據(jù).IGServer 平臺(tái)通過發(fā)布數(shù)據(jù)效勞實(shí)現(xiàn)數(shù)據(jù)資源的應(yīng)用與共享,支持二維、三維數(shù)據(jù).二維數(shù)據(jù)組織形式包括矢量數(shù)據(jù)和瓦片數(shù)據(jù)兩種大體方式,其中矢量數(shù)據(jù)又包括矢量地圖文檔、矢量圖層兩種類型.矢量圖層概述:矢量圖層亦即存儲(chǔ)在本地文件(*.HDF)或網(wǎng)絡(luò)數(shù)據(jù)源中的地理數(shù)據(jù),依照地理數(shù)據(jù)的 幾何約束類型能夠分為點(diǎn)、線、面這三種,相關(guān)于地理數(shù)據(jù)庫(kù)而言,能夠簡(jiǎn)單地明白得為三種類型簡(jiǎn)單要素類.在同一地理數(shù)據(jù)庫(kù)中,矢量圖層具知名稱唯一性,即能夠通過矢量圖層的名稱來唯一確信一個(gè)矢量數(shù)據(jù).矢量地圖文檔概述:矢量地
18、圖文檔亦即復(fù)合文檔,它采納了復(fù)合結(jié)構(gòu),其文件內(nèi)部邏輯結(jié)構(gòu)類似文件系統(tǒng)的治理結(jié)構(gòu).它是地圖的一種數(shù)據(jù)的綜合表現(xiàn)和治理形式,存儲(chǔ)了組成地圖的各類制圖元素, 包括題目、指北針、圖例、比例尺、布局、數(shù)據(jù)窗體、圖層等.矢量地圖文檔的地圖 Map,要緊作用是集中的治理這些獨(dú)立的圖層,為用戶歸納、合分析地理數(shù)據(jù)等提供手腕.而圖層只是作為地理數(shù)據(jù)的一種引用,亦即對(duì)矢量圖層的引用,指向位于本地或網(wǎng)絡(luò)數(shù)據(jù)庫(kù)中的地理數(shù)據(jù)集,并非是在物理上存儲(chǔ)地理數(shù)據(jù),以 *.Map的形 式存在.瓦片數(shù)據(jù)概述:為了提升互聯(lián)網(wǎng)電子地圖的響應(yīng)速度,改善大數(shù)據(jù)量地圖的閱讀成效及流暢度,地圖瓦片應(yīng)運(yùn)而生.將必然范圍內(nèi)的地圖進(jìn)行縱向和橫向分幅
19、,依照不同的品級(jí),依照指定的尺寸和指定格式進(jìn)行切割,取得假設(shè)干行和列的矩形圖片庫(kù),這些矩形地圖切片就稱之為地圖瓦片.這些切割而成的假設(shè)干行和列的地圖瓦片庫(kù)呈現(xiàn)正金字塔形的數(shù)據(jù)結(jié)構(gòu),在IGServer中將其存儲(chǔ)到一個(gè)臨時(shí)的*.HDF文件中,那個(gè)存儲(chǔ)瓦片庫(kù)的 HDF文件和前面提及的存儲(chǔ)本地 數(shù)據(jù)源的地理數(shù)據(jù)庫(kù)的 HDF文件沒有任何關(guān)系.在IGServer中,瓦片數(shù)據(jù)的生成有兩種方式:預(yù)生成和實(shí)時(shí)動(dòng)態(tài)生成.預(yù)生成事實(shí)上 確實(shí)是依照用戶需求級(jí)數(shù)和范圍,通過工具一次性生成所有的瓦片,并存儲(chǔ)到HDF文件中.該HDF文件能夠存儲(chǔ)到效勞器上或本地,在需要顯示應(yīng)用的時(shí)候, 依照用戶請(qǐng)求的瓦片的級(jí)數(shù)及行列號(hào),從HDF中檢索出瓦片并實(shí)現(xiàn)自動(dòng)拼接.實(shí)時(shí)動(dòng)態(tài)生成方式, 那么會(huì)在本地生成臨時(shí)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.3+測(cè)量液體和固體的密度+(基礎(chǔ)測(cè)量篇)++2024-2025學(xué)年人教版物理八年級(jí)上冊(cè)
- 上海立達(dá)學(xué)院《災(zāi)害衛(wèi)生學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 學(xué)校家庭假期安全教育:呵護(hù)孩子的快樂成長(zhǎng)
- 上??苿?chuàng)職業(yè)技術(shù)學(xué)院《精神健康社會(huì)工作》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海交通職業(yè)技術(shù)學(xué)院《國(guó)際結(jié)算A》2023-2024學(xué)年第一學(xué)期期末試卷
- 活動(dòng)設(shè)計(jì)方案畢業(yè)答辯
- 上海建設(shè)管理職業(yè)技術(shù)學(xué)院《空間環(huán)境與試驗(yàn)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)人事管理制度匯編大合集
- 上海海洋大學(xué)《數(shù)據(jù)庫(kù)原理與技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)員工管理制度集粹匯編
- 江蘇省南通市2023-2024學(xué)年五年級(jí)(上)期末數(shù)學(xué)試卷
- 藥店競(jìng)選店長(zhǎng)述職報(bào)告
- 2024年高考語文二輪復(fù)習(xí):語言綜合運(yùn)用新情境新題型(練習(xí))
- 外貿(mào)業(yè)務(wù)員跟客戶簽保密協(xié)議書范文
- 物聯(lián)網(wǎng)技術(shù)應(yīng)用與維護(hù)賽項(xiàng)樣題(中職組)
- 2024專業(yè)技術(shù)人員繼續(xù)教育考試題庫(kù)及參考答案
- 計(jì)算機(jī)程序設(shè)計(jì)語言(Python)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- DB14∕T638-2011人工影響天氣固定作業(yè)站點(diǎn)建設(shè)規(guī)范
- 連續(xù)催化重整基礎(chǔ)知識(shí)
- 渡船項(xiàng)目評(píng)價(jià)分析報(bào)告
- 薪資調(diào)整合同(2篇)
評(píng)論
0/150
提交評(píng)論