999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

EPS腳本技術在D LG制圖入庫一體化生產中的應用

2019-03-20 19:56:19王鵬
工程建設與設計 2019年18期
關鍵詞:二次開發測繪設置

王鵬

(蘭州市勘察測繪研究院,蘭州730030)

1 引言

我國測繪正朝著信息化測繪方向發展,城市測繪將從以傳統地形圖生產為主轉向以地理信息綜合服務為主。EPS軟件是由清華山維公司開發的、具有自主知識產權的面向測繪地理信息生產的軟件系統。該軟件從地理信息系統應用的角度構建數據模型,綜合CAD技術與GIS技術,以數據庫為核心,將圖形和屬性關聯為一體[1],從根本上實現了DLG制圖入庫一體化生產,做到了GIS應用與制圖的便捷統一。同時,EPS平臺支持基于腳本語言的二次開發,用于用戶定制開發平臺不支持的功能以及處理重復性工作。EPS軟件對提高DLG制圖入庫的生產效率,保證成果質量起到很好的促進作用。

對各測繪單位而言,DLG制圖數據與入庫數據的側重點不同,制圖數據強調地理要素的符號化表達,需要根據規范正確、合理、清晰易讀地展示地理信息,不關注屬性信息;而入庫數據不僅要求具有一般地形圖的幾何要素內容,還要求要素具有豐富的屬性信息以及要素間的拓撲關系正確。如何同時滿足DLG制圖、入庫的要求并正確、快速、自動化地提取屬性,是本文進行二次開發的主要出發點。

2 EPS腳本語言

2.1 EPS腳本語言概述

EPS軟件提供了2種二次開發技術,分別是基于基礎庫二次開發和腳本類二次開發,前者主要使用C++作為開發語言,后者主要以VB Script和Java Script作為開發語言,但常用VB Script[2]。EPS VB Script語言是EPS為支持數據處理和功能擴展而面向用戶提供的一門腳本語言,其在EPS腳本編輯器中運行,為解釋性執行[3]。與AutoCAD的ActiveX技術類似,用戶能夠以VB Script或Java Script語言標準為基礎,在EPS平臺內部以編程的方式來訪問EPS提供的對象和函數[4],可根據系統集成的命令語言規則、函數等方便地實現諸如坐標轉換、數據入庫、圖形處理、數據檢查等諸多應用。

2.2 EPS腳本語言特點

EPS沒有多層次的對象模型體系,這一點與AutoCAD的ActiveX技術不同,它僅提供了SSProcess這個系統缺省定義的對象。SSProcess是與EPS平臺交互的主要入口對象,使用系統提供的類方法時需要加上此類名[5]。利用SSProcess可調用EPS平臺暴露給用戶的所有功能函數,包括圖形編輯、數據整理、選擇集操作、數據檢查、數據轉換、坐標轉換等。EPS提供的是面向過程的腳本技術,與AutoCAD的ActiveX開發技術相比,其更加簡潔高效,適用于缺乏面向對象編程知識的廣大測繪工作者,使得他們能將更多的精力集中于業務功能實現上。此外,EPS VB Script提供了外部函數調用功能,能夠實現函數級別的代碼重用,利于構建具有良好邏輯層次的應用模塊。

3 D LG制圖入庫一體化生產

3.1 D LG制圖入庫一體化的關鍵問題

DLG制圖入庫一體化生產,要解決以下5個關鍵問題:(1)其他格式數據的無損導入;(2)滿足制圖數據符合圖式規定的同時,也需滿足入庫數據符合項目要求;(3)圖形注記與入庫屬性值的聯動生產;(4)根據項目需求建立一套完備的檢查方案;(5)無損導出為項目要求的圖形數據和入庫數據。借助EPS模板定制和VB Script開發技術,可較完美地解決上述問題。

3.2 V B Scri pt在EPS平臺的應用

EPS軟件平臺直接編輯的數據為其自有格式(*.edb),EPS雖提供了與其他格式數據的交互轉換功能,但僅是幾何圖形上的簡單轉換,不能實現要素編碼、擴展屬性等的無損輸入和輸出,需借助EPS軟件提供的VB Script技術配合模板定制來實現數據的無損轉換。虞秀花[6]等對EPS平臺的模板定制技術做了較具體的說明,本文不再闡述。

EPS軟件平臺提供了包括空間邏輯檢查、規范編碼檢查、擴展屬性檢查等檢查模型,用戶可根據工程實際需要定制通用的檢查項。但針對工程的特殊要求,需通過VB Script腳本編程進行數據檢查或數據修復。

DLG制圖入庫一體化生產中,可通過EPS平臺的符號化技術和VB Script開發實現圖形注記與屬性值的關聯,從而避免圖面注記與要素屬性不一致的情況發生,從而提高作業效率和數據質量。

此外,通過VB Script開發可實現自動化批量處理,簡化操作,達到提高生產效率的目的。

4 EPS V B Scri pt開發實際應用

本文以DWG數據導入、GDB數據導出、房屋屬性賦值及檢查為例,闡述EPS VB Script開發的具體實現。

4.1 D W G數據導入

程序通過逐行讀取text文檔,該文檔第一列為DWG圖層名,第二列為EPS編碼,分別針對點、線、面、注記進行DWG圖層到EPS編碼/注記分類的轉換,從而實現DWG數據的無損導入。程序的主要代碼如下:

Sub OnClick()

Dim arrFileLines()

Dim objFSO

Dim objFile

Dim i as integer

Dim l as integer

Dim a()as string

i=0

SSProcess.PushUndoMark

清空選擇集

SSProcess.ClearSelection

清空選擇條件

SSProcess.ClearSelectCondition

設置選擇條件為只選擇點對象

SSProcess.SetSelectCondition"SSObj_Type","=","POINT"

執行選擇過濾

SSProcess.SelectFilter

去除點名

SSProcess.ChangeSelectionObjAttr"SSObj_name",""

讀取text文檔,文檔第一列為DWG圖層名,第二列為EPS編碼

Set objFSO=CreateObject("Scripting.FileSystemObject")

Set objFile=objFSO.OpenTextFile("d:hrb c-bm.txt",1)

逐行讀取text文檔,分別針對點、線、面、注記進行圖層到編碼/注記分類的轉換。

For l=LBound(arrFileLines)To UBound(arrFileLines)

SSProcess.ClearSelection

SSProcess.ClearSelectCondition

SSProcess.SetSelectCondition "SSObj_Type","==","POINT"

SSProcess.SetSelectCondition"SSObj_LayerName","==",trim(a(0))

SSProcess.SelectFilter

SSProcess.PushUndoMark

SSProcess.ChangeSelectionObjAttr"SSObj_Code",trim(a(1))

Next

......

End Sub

4.2 G D B數據導出

GDB數據是目前主流GIS平臺支持的一種空間地理信息數據庫,程序通過設定數據轉換參數并結合EPS模板實現GDB數據的無損導出。程序執行前需首先利用EPS模板技術定制要素導出的編碼、幾何類型、要素類名稱等信息。程序的主要代碼如下:

Sub OnClick()

Dim fso,f1,f2,s

Set fso=CreateObject("Scripting.FileSystemObject")

Set f1=fso.GetFile(pathname)

fileName=Replace(edbFileName,".edb","")&".gdb"

SSProcess.ClearDataXParameter

設置數據輸出格式。其中22對應的是ArcGIS Mdb格式。

SSProcess.SetDataXParameter"DataType","22"

設置輸出使用編碼對照表名稱。

SSProcess.SetDataXParameter "FeatureCodeTBName","FeatureCodeTB_MDB"

設置輸出使用符號描述表名稱。

SSProcess.SetDataXParameter "SymbolScriptTBName","SymbolScriptTB_MDB"

設置輸出使用注記分類表名稱。

SSProcess.SetDataXParameter "NoteTemplateTBName","NoteTemplateTB_MDB"

SSProcess.SetDataXParameter"ExportPathName",""

設置數據輸出范圍方式。0(所有數據)、1(選擇集數據)、2(當前圖幅)、3(緩沖區)、4(指定編碼閉合地物)、5(指定 ID 閉合地物)、6(所有圖幅)

SSProcess.SetDataXParameter"DataBoundMode","0"

設置符號打散方式。0(自動打散)、1(根據編碼表設定打散)、2(全部不打散)

SSProcess.SetDataXParameter"SymbolExplodeMode","1"設置數據輸出層名使用狀態。0(按編碼表設定層名輸出)、1(按地物設定層名輸出)

SSProcess.SetDataXParameter"LayerUseStatus","0"

設置內嵌符號圖層輸出方式。0(按符號描述設定輸出)、1(與主地物同層輸出)

SSProcess.SetDataXParameter"ExplodeObjLayerStatus","0"設置線寬使用狀態。0(按編碼表設定線寬輸出)、1(按地物設定線寬輸出)

SSProcess.SetDataXParameter"LineWidthUseStatus","0"

設置輸出數據時,是否強制輸出系統字段,0(不輸出)、1(輸出)

SSProcess.SetDataXParameter"AddSystemFieldMode","0"

設置PDB數據轉換中的注記輸出模式,0(直接轉換為ArcGIS 的 Annotation)、1(所有注記轉換為線方式)、2(所有注記轉換為點方式)、3(注記分別按點和線方式轉換)

SSProcess.SetDataXParameter "EXCHANGE_PDB_Export NoteMode","0"

設置輸出PDB數據時Shape輸出方式(腳本未指定Shape字段時有效),0(2D)、1(3D)

SSProcess.SetDataXParameter "EXCHANGE_PDB_Export ShapeMode","1"

startIndex=0

......

End Sub

4.3 房屋屬性賦值及檢查

程序用于為房屋賦【層數】【結構】屬性值且同時檢查房屋內注記是否合理。程序的主要代碼如下:

Sub OnClick()

SSProcess.PushUndoMark

SSProcess.ClearSelection

SSProcess.ClearSelectCondition

SSProcess.SetSelectCondition "SSObj_Code", "=", "3103013,3103014,3108003"

SSProcess.SelectFilter

geoCount=SSProcess.GetSelGeoCount()

Dim arID1(100),idCount1

Dim fwCS(10),idCountCS

For i=0 To geoCount-1

polygonID=SSProcess.GetSelGeoValue(i,"SSObj_ID")

ids = SSProcess.SearchInnerObjIDs (polygonID,3,"3990022",0)

If ids=""Then

geoID=SSProcess.GetSelGeoValue(i,"SSObj_ID")

SSProcess.GetSelGeoPoint i,0,x,y,z,ptype,name

SSProcess.AddCheckRecord"檢查","房屋面","自定義腳本檢查類->房屋面注記檢查","ID為:"&geoID&"房屋面[層數]無值",x,y,z,objtype,geoID,""

......

SSProcess.ShowCheckOutput

End Sub

5 結語

本文基于EPS 2008平臺的模板定制和VB Script開發技術解決了DLG制圖、入庫一體化生產的關鍵問題,數據處理簡捷高效,自動化水平較高,對提高DLG生產效率并保證成果質量具有重要意義。本技術已成功應用于蘭州市數字線化圖(DLG)的生產和地理信息建庫項目,驗證了本文提供方法的有效性。

猜你喜歡
二次開發測繪設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
浙江省第一測繪院
工程測繪中GNSS測繪技術的應用
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發
04 無人機測繪應用創新受青睞
無人機在地形測繪中的應用
電子制作(2017年9期)2017-04-17 03:01:00
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 国产va免费精品观看| 伊人成人在线视频| 亚洲无码37.| 精品国产免费观看一区| 亚洲国产亚洲综合在线尤物| 午夜小视频在线| 亚洲人成亚洲精品| 99热免费在线| 成人噜噜噜视频在线观看| 无码区日韩专区免费系列| 欧美在线黄| 四虎影视永久在线精品| 99久久人妻精品免费二区| 欧美无遮挡国产欧美另类| 真人免费一级毛片一区二区| 91精品人妻互换| 亚洲美女一区| 91黄视频在线观看| 国产97色在线| 91亚洲影院| 国产91九色在线播放| 国产成人av大片在线播放| 国产成人AV综合久久| 精品一区二区无码av| 色男人的天堂久久综合| 在线精品亚洲一区二区古装| 91麻豆久久久| 玩两个丰满老熟女久久网| 九一九色国产| 国产第一页免费浮力影院| 无遮挡一级毛片呦女视频| 国产真实乱了在线播放| 色婷婷天天综合在线| 成人午夜免费视频| 色婷婷综合在线| 国内精品小视频福利网址| 国产精品护士| 91精品国产自产在线观看| 亚洲成人高清无码| 亚洲欧美日韩另类在线一| 美女视频黄又黄又免费高清| 亚洲人成在线精品| 日韩小视频在线观看| 国产成人精品2021欧美日韩| 国产农村妇女精品一二区| 高h视频在线| 国产精品第一区在线观看| 亚洲美女视频一区| 日韩av电影一区二区三区四区| 国产成人AV综合久久| 亚洲欧美日韩另类| 欧洲一区二区三区无码| 国产乱子伦一区二区=| 国产18在线播放| 精品国产网站| 国产内射在线观看| 成年女人18毛片毛片免费| 国产成人免费手机在线观看视频| 欧美第一页在线| 天天综合网亚洲网站| 视频一本大道香蕉久在线播放| 久久久久亚洲精品成人网| 一区二区欧美日韩高清免费| 熟妇丰满人妻av无码区| 日本三级欧美三级| 亚洲第一黄色网址| 国产迷奸在线看| 四虎成人精品| 91无码视频在线观看| 亚洲成a人片77777在线播放| 99re在线免费视频| 91啪在线| 欧美福利在线| 国产毛片高清一级国语| 四虎综合网| 啪啪国产视频| 找国产毛片看| 最新午夜男女福利片视频| 中国一级特黄大片在线观看| 999国内精品视频免费| 欧美日韩成人| 夜夜爽免费视频|