于洋
摘要:隨著數(shù)據(jù)庫技術(shù)的發(fā)展,當(dāng)使用各種數(shù)據(jù)庫存儲(chǔ)地理空間數(shù)據(jù)及其屬性時(shí),生成的地理元素的符號(hào)化與地形數(shù)據(jù)的表達(dá)和使用有關(guān),這已成為制圖學(xué)中必須解決的問題。使用清華山維EPS軟件的模板控制技術(shù),不僅可以有效地管理數(shù)據(jù)存儲(chǔ),還可以自定義不同的模板,以解決實(shí)際工作中地理元素符號(hào)化的不同需求。通過介紹EPS腳本語言的特點(diǎn),根據(jù)實(shí)際需要編寫了地形圖檢查腳本文件,并詳細(xì)介紹了兩個(gè)“ mdb輸出腳本、檢查”腳本示例,實(shí)踐證明,數(shù)字地形圖可以實(shí)現(xiàn)。通過使用書面腳本文件實(shí)現(xiàn)半自動(dòng)檢查并提高工作效率。
關(guān)鍵詞:mdb輸出;半自動(dòng)化;二次開發(fā)腳本
數(shù)據(jù)是存儲(chǔ)在地理數(shù)據(jù)存儲(chǔ)表中的,實(shí)體對(duì)象的特定符號(hào)(即符合國際或工業(yè)標(biāo)準(zhǔn)的示意圖符號(hào))由實(shí)體特征和符號(hào)描述表定義和實(shí)現(xiàn)。兩個(gè)主要部分之間的通信橋梁是實(shí)體代碼和注釋分類編號(hào)。
EPS平臺(tái)中的任何點(diǎn),線或面對(duì)象都具有代碼屬性,然后該代碼是代碼表示的一系列實(shí)體的主要定義,例如實(shí)體類型,圖層,顏色,線型,線寬其他屬性,所有這些都在FeatureCodeTB表中定義,并且代碼的相應(yīng)符號(hào)描述在SymbolScriptTB表中定義,其中Code為兩個(gè)表之間的鏈接。
1.研究的目的
針對(duì)業(yè)務(wù)的需要在EPS下二次開發(fā)腳本,目的是實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換的功能。例如:輸出mdb腳本。
2.EPS腳本的語言組織
EPS腳本語言在EPS腳本編輯器中運(yùn)行,腳本編集器在EPS平臺(tái)下運(yùn)行。腳本語言運(yùn)行是屆時(shí)執(zhí)行是解釋執(zhí)行。該腳本使用目錄樹組織腳本,并支持新腳本分組,刪除腳本分組,創(chuàng)建新腳本,保存腳本和執(zhí)行腳本。
腳本組織文件名為SSProcess.TXT,腳本代碼使用VBS或JSS作為擴(kuò)展名,并統(tǒng)一存儲(chǔ)在EPS程序執(zhí)行目錄下的SCRIPT目錄中。
SSProcess是系統(tǒng)默認(rèn)定義的對(duì)象。不需要在腳本中特別定義,可以直接使用。 SSProcess是EPS腳本語言的固有對(duì)象。 SSProcess對(duì)象的功能包括項(xiàng)目管理,選擇集操作,圖形編輯操作,數(shù)據(jù)分類和數(shù)據(jù)轉(zhuǎn)換。坐標(biāo)轉(zhuǎn)換和系統(tǒng)設(shè)置功能。它是與EPS平臺(tái)進(jìn)行交互的主要入口對(duì)象,因此在編輯每個(gè)腳本之前,必須在函數(shù)之前添加SSProcess。例如,要打開現(xiàn)有的EPS項(xiàng)目數(shù)據(jù)庫,您需要編寫“ SSProcess。Open-Database”。使用“ SSProcess。函數(shù)名稱”方法來調(diào)用SSProcess對(duì)象的方法。許多操作都基于對(duì)象的腳本功能。
EPS腳本的輸入功能是OnClick。必須在每個(gè)腳本文件中定義OnClick函數(shù)。通常,只需在輸入功能OnClick下編寫簡單的批處理操作即可,但是如果要實(shí)現(xiàn)復(fù)雜的“多操作”步驟,則需要自定義多個(gè)“Function”功能。
EPS 腳本由多種接口構(gòu)成,不同的數(shù)據(jù)排序需要不同的界面來編輯腳本。例如,平臺(tái)常用的數(shù)據(jù)處理接口是SSProcess;項(xiàng)目管理界面為SSProject;屏幕繪制功能界面為SSView;共享參數(shù)接口為SSParameter;流水線處理接口為SSPipe;現(xiàn)場處理接口是SSurvey等。
實(shí)體編碼特征及符號(hào)描述表定義:FeatureCodeTB_500,SymbolScriptTB,NoteTemplateTB。
FeatureCodeTB_500:實(shí)體代碼功能表;在FeatureCodeTB表中,字段名稱:代碼指的是關(guān)鍵字段;別名轉(zhuǎn)換為對(duì)方系統(tǒng)的代碼;過濾器用于過濾是否分散并輸出地理元素時(shí)將其過濾掉。如果值為1,則表示另一方的系統(tǒng)不需要此代碼。否則,值為0。爆炸中斷,輸出中斷時(shí)地理元素是否中斷。如果值為1,則它將分解為其他功能并根據(jù)SymbolScript表中代碼的描述進(jìn)行輸出;否則該值為0,則Byname項(xiàng)目應(yīng)為有效代碼。
SymbolScriptTB:符號(hào)描述表;
NoteTemplateTB:注記分類定義表;
3.EPS腳本的語言的實(shí)際應(yīng)用實(shí)例
(1)針對(duì)mdb輸出腳本的編寫。
Sub OnClick()
SSProcess.ClearDataXParameter
SSProcess.SetDataXParameter”DataType”,”22”
SSProcess.SetDataXParameter”FeatureCodeTBName”,”FeatureCodeTB_500MDBOUT”
SSProcess.SetDataXParameter”SymbolScriptTBName”,”SymbolScriptTB_500MDBOUT”
SSProcess.SetDataXParameter”NoteTemplateTBName”,”NoteTemplateTB_500MDBOUT”
SSProcess.SetDataXParameter”SymbolExplodeMode”,”1”? ‘符號(hào)打散方式 1(根據(jù)編碼表設(shè)定打散)
SSProcess.SetDataXParameter”ExportPathName”,””? ? ?‘輸出路徑
SSProcess.SetDataXParameter”DataBoundCode”,”0”? ? ?‘?dāng)?shù)據(jù)綁定碼
SSProcess.SetDataXParameter”LayerUseStatus”,”0”? ? ? ‘圖層使用狀況
SSProcess.SetDataXParameter”ExportAttrMode”,”1”? ? ?‘輸出數(shù)據(jù)時(shí),擴(kuò)展屬性輸出方式
SSProcess.SetDataXParameter”AddSystemFieldMode”,”0”? ‘輸出數(shù)據(jù)時(shí),是否強(qiáng)制輸出系統(tǒng)字段0(不輸出)
SSProcess.SetDataXParameter”EXCHANGE_PDB_ExportEmptyLayer”,”0”
SSProcess.SetDataXParameter”EXCHANGE_PDB_ExportNoteMode”,”0”
‘輸出層名
SSProcess.SetDataXParameter”ExportLayerCount””1”
SSProcess.SetDataXParameter”ExportLayer1”,”點(diǎn)狀陸地水系要素”
‘輸出層名對(duì)照
SSProcess.SetDataXParameter”LayerRelationCount”,”1”
SSProcess.SetDataXParameter”LayerRelation1”,”點(diǎn)狀陸地水系要素:LandwaterPt”
‘屬性對(duì)照表
SSProcess.SetDataXParameter”TableFieldDefCount”,”2”
SSProcess.SetDataXParameter”TableFieldDef01”,”點(diǎn)狀陸地水系要素,0,gb,gb,byname,,dblong,10”
SSProcess.SetDataXParameter”TableFieldDef02”,”點(diǎn)狀陸地水系要素,0,direction,direction,,,dbDouble,8,”
SSProcess.ExportData
MegBox”數(shù)據(jù)輸出完成”
End Sub
4.結(jié)束語
清華山維的EPS模板技術(shù)功能強(qiáng)大且復(fù)雜。它遵循其慣例和要求來定制新模板,這需要大量工作,但具有很高的使用價(jià)值。通過本文的研究和討論,可以相信,自定義一個(gè)好的特殊模板是必須充分發(fā)揮軟件功能和標(biāo)準(zhǔn)化數(shù)據(jù)管理的一項(xiàng)工作。具體工作可以從以下幾個(gè)方面完成:
(1)熟悉模板框架,了解模板中每個(gè)表的功能??梢酝ㄟ^Access軟件打開模板,從而可以輕松查看模板中的表。通過查看,您可以闡明每個(gè)表的一般功能以及表之間的對(duì)應(yīng)關(guān)系。
(2)進(jìn)行備份并在修改前做標(biāo)記。模板的修改必須更新到數(shù)據(jù)庫,并且無法撤消并在更新后返回。更改模板之前進(jìn)行備份。您可以備份整個(gè)模板文件或模板中的表。符號(hào)描述表支持文本注釋功能,該功能可用于解釋,標(biāo)記和促進(jìn)對(duì)關(guān)鍵句子的閱讀和理解。
(3)漸進(jìn)式定制。可以逐步改進(jìn)自定義過程,并且可以逐步修改每個(gè)子代碼或功能。完成一個(gè)步驟后,可以立即查看更改,并且可以在子代碼完成后嵌套符號(hào)。漸進(jìn)式定制方法可以減少難度并完成復(fù)雜的功能。
清華山維EPS腳本語言很適合于用戶二次開發(fā)。通過腳本語言的編寫及應(yīng)用,找到更高效的整理工程內(nèi)部數(shù)據(jù)、質(zhì)量檢查等工作的捷徑。
參考文獻(xiàn):
[1]GB/T20257.1-2007,國家基本比例尺地圖圖式第1部分:1:500 1:1000 1:2000地形圖圖式[s].
[2]CJJ8-99.城市測量范圍[s].
[3]北京清華山維新技術(shù)開發(fā)有限公司.EPS2008地理信息工作站使用說明書[Z].2010(8).
[4]北京清華山維新技術(shù)開發(fā)有限公司.EPS2008腳本語言幫助[Z].2010(8).
[5]北京清華山維新技術(shù)開發(fā)有限公司.EPS2008地理信息工作占模板控制技術(shù)[Z].2010(8)
[6]平紅星,王禮,祁孟可.數(shù)字地形圖的檢查內(nèi)容及方法[J].科技傳播,2012(10):194-195.