亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-03-20 19:56:19王鵬
        工程建設與設計 2019年18期
        關鍵詞:二次開發(fā)制圖入庫

        王鵬

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

        1 引言

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

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

        2 EPS腳本語言

        2.1 EPS腳本語言概述

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

        2.2 EPS腳本語言特點

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

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

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

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

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

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

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

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

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

        4 EPS V B Scri pt開發(fā)實際應用

        本文以DWG數(shù)據(jù)導入、GDB數(shù)據(jù)導出、房屋屬性賦值及檢查為例,闡述EPS VB Script開發(fā)的具體實現(xiàn)。

        4.1 D W G數(shù)據(jù)導入

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

        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"

        執(zhí)行選擇過濾

        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數(shù)據(jù)導出

        GDB數(shù)據(jù)是目前主流GIS平臺支持的一種空間地理信息數(shù)據(jù)庫,程序通過設定數(shù)據(jù)轉換參數(shù)并結合EPS模板實現(xiàn)GDB數(shù)據(jù)的無損導出。程序執(zhí)行前需首先利用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

        設置數(shù)據(jù)輸出格式。其中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",""

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

        SSProcess.SetDataXParameter"DataBoundMode","0"

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

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

        SSProcess.SetDataXParameter"LayerUseStatus","0"

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

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

        SSProcess.SetDataXParameter"LineWidthUseStatus","0"

        設置輸出數(shù)據(jù)時,是否強制輸出系統(tǒng)字段,0(不輸出)、1(輸出)

        SSProcess.SetDataXParameter"AddSystemFieldMode","0"

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

        SSProcess.SetDataXParameter "EXCHANGE_PDB_Export NoteMode","0"

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

        SSProcess.SetDataXParameter "EXCHANGE_PDB_Export ShapeMode","1"

        startIndex=0

        ......

        End Sub

        4.3 房屋屬性賦值及檢查

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

        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&"房屋面[層數(shù)]無值",x,y,z,objtype,geoID,""

        ......

        SSProcess.ShowCheckOutput

        End Sub

        5 結語

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

        猜你喜歡
        二次開發(fā)制圖入庫
        重磅!廣東省“三舊”改造標圖入庫標準正式發(fā)布!
        無聲手槍如何消音?
        中國食品品牌庫入庫企業(yè)信息公示①
        中國食品(2021年2期)2021-02-24 03:55:35
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        二向反射模型在土地覆被制圖中的應用
        身臨其境探究竟 主動思考完任務——《倉儲與配送實務》入庫作業(yè)之“入庫訂單處理”教學案例
        人間(2015年8期)2016-01-09 13:12:42
        工程制圖課程教學改革探析
        批量地籍圖入庫程序設計方法
        吉林地質(2014年4期)2014-03-11 16:48:17
        精品免费福利视频| 亚洲精品一区二区三区麻豆| 久久久国产乱子伦精品作者| 中文字幕亚洲乱码熟女在线萌芽| 中文字幕无码免费久久99| 日本一区二区高清视频| 亚洲成av人片女在线观看| 亚洲国产成人久久综合下载| 欧美二区视频| 蜜桃色av一区二区三区麻豆 | 欧美午夜理伦三级在线观看| 熟女免费视频一区二区| 欧美日韩精品乱国产| 台湾佬娱乐中文22vvvv| 中日韩欧美成人免费播放 | 国产av一级黄一区二区三区| 大肉大捧一进一出好爽视频| 亚洲红怡院| 国产一区二区三区特黄| 亚洲综合天堂av网站在线观看| 久久精品女人天堂av| 欧美日韩激情在线一区二区| 亚洲AV无码一区二区二三区我| 999国内精品永久免费视频| 人妻av一区二区三区av免费| 日本免费一区二区久久久 | a级毛片免费完整视频| 国产成人精选在线不卡| 国产一区二区一级黄色片| 免费a级毛片18禁网站| 亚洲av男人的天堂在线观看| 久久99亚洲网美利坚合众国| 国产精品自产拍在线18禁| 99爱在线精品免费观看| 日本亚洲欧美在线观看| 男女动态视频99精品| 亚洲综合欧美色五月俺也去| 久久欧美与黑人双交男男| 无码8090精品久久一区| 国产一级r片内射视频播放| 亚洲一区二区三区内裤视|