• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AutoCAD的地形圖數(shù)據(jù)新舊標(biāo)準(zhǔn)轉(zhuǎn)換方法的研究

      2012-05-31 11:11:16王光昇
      城市勘測 2012年1期
      關(guān)鍵詞:對照表坡頂字典

      王光昇

      (天津市測繪院,天津 300381)

      1 引言

      我們國家在2007年發(fā)布了新版的基礎(chǔ)地理信息要素數(shù)據(jù)字典和國家基本比例尺地圖圖式,天津市測繪院在基礎(chǔ)地形圖測繪中為與國家標(biāo)準(zhǔn)保持一致,對原有的數(shù)據(jù)字典進行了修訂,于2011年發(fā)布了新版的天津市基礎(chǔ)地理信息要素數(shù)據(jù)字典,新字典對要素的分解表示更加細化,將原有的要素編碼由7位改為10位,相比舊的數(shù)據(jù)標(biāo)準(zhǔn),部分要素的圖面表示方式有了很大的變化。新字典發(fā)布的同時,問題就出現(xiàn)了,盡管已經(jīng)自主研發(fā)了基于新標(biāo)準(zhǔn)的數(shù)據(jù)采集編輯軟件,但現(xiàn)有的數(shù)據(jù)仍然全部是適用的舊標(biāo)準(zhǔn),出現(xiàn)了有新標(biāo)準(zhǔn)而沒有新數(shù)據(jù)的現(xiàn)象,日常的測繪工作無法正常開展。為了解決這一矛盾,本文討論了如何利用程序的方法實現(xiàn)新舊數(shù)據(jù)標(biāo)準(zhǔn)下地形圖數(shù)據(jù)的自動轉(zhuǎn)換。

      2 轉(zhuǎn)換流程

      用程序處理數(shù)據(jù)時,采用什么樣的程序設(shè)計思路要依具體需求而定。處理特定要素時,可以將要素的信息寫在程序里,雖然缺少靈活性,但它僅限于滿足特定的功能;而當(dāng)需要處理的要素種類很多時,就不應(yīng)該把所有的要素信息都固定在程序代碼中,那樣的話,程序員就永遠和數(shù)據(jù)綁定在一起了,用戶每增加一個新要素,程序員就要調(diào)整一次程序。要避免這種情況出現(xiàn),必須在寫程序前進行流程設(shè)計,制定出程序規(guī)則,在規(guī)則允許的范圍內(nèi)指定哪些交給用戶去做,哪些由程序本身完成。本文討論的數(shù)據(jù)轉(zhuǎn)換流程圖,如圖1所示。

      圖1 轉(zhuǎn)換流程

      2.1 定制轉(zhuǎn)換規(guī)則

      定制規(guī)則的目的是讓所有地物都能在轉(zhuǎn)換規(guī)則中找到匹配的項,所以規(guī)則要定義得適當(dāng)。本文以交通類要素為例,定制的轉(zhuǎn)換規(guī)則如表1所示。

      交通要素轉(zhuǎn)換規(guī)則 表1

      表1中對交通(JT)類的地形要素制定了12項轉(zhuǎn)換規(guī)則,從規(guī)則列表中可以看出,大部分規(guī)則的不同之處就在于處理的屬性項有所區(qū)別。這實際上暴露了目前數(shù)據(jù)存儲中的一些問題:目前大部分用戶在存儲自定義信息時還是使用擴展數(shù)據(jù)(XData),這種信息存儲方式有數(shù)量的限制,不能超過128Kb,而且存儲的信息不能像一般的數(shù)據(jù)庫那樣可以依據(jù)字段名稱進行查詢。而這樣的不足可以通過使用對象擴展詞典來解決,如:“extDict.SetAt("searchKey",xRec);”,我們注意到,SetAt函數(shù)的第一個參數(shù)表示擴展記錄的搜索關(guān)鍵字,它就類似于數(shù)據(jù)庫表中的字段名稱,用它可以很方便地查詢用戶信息。

      2.2 編寫轉(zhuǎn)換對照表

      在確定了轉(zhuǎn)換的規(guī)則后,編寫轉(zhuǎn)換對照表的工作就可以完全交給用戶去做了。對照表結(jié)構(gòu)如表2所示。

      轉(zhuǎn)換對照表 表2

      3 程序設(shè)計與實現(xiàn)

      3.1 編寫轉(zhuǎn)換程序

      編寫轉(zhuǎn)換程序?qū)嶋H上就是對轉(zhuǎn)換規(guī)則的程序化,每個規(guī)則對應(yīng)一個應(yīng)用程序模塊。以表1中的規(guī)則2為例,介紹程序處理的流程:

      第一步,用SQL語句在轉(zhuǎn)換對照表中讀取JT類且轉(zhuǎn)換規(guī)則為2的所有記錄,(SETQ A(DSQL_ASSOCQUERY DB“SELECT*FROM code WHERE CLASS=’%S’AND ID='%s’”“JT”“2”)),語句中以DSQL_為前綴的函數(shù)是用ObjectARX環(huán)境編寫的供LISP來調(diào)用的函數(shù),程序中集成了開源的SQLite程序,所以它可以很方便地操作SQLite數(shù)據(jù)庫文件,我們的所有轉(zhuǎn)換對照文件都是用SQLite數(shù)據(jù)庫表來管理的;

      第二步,循環(huán)處理數(shù)據(jù)集中的記錄,按照表2中的字段讀取每條記錄的新舊編碼、類型、轉(zhuǎn)換規(guī)則ID等信息;

      第三步,以編碼作為過濾條件,通過LISP語句建立選擇集循環(huán)處理,處理的內(nèi)容包括:圖層、編碼、顏色等通用屬性,其他屬性的處理依實體類型而不同,如線性實體需要修改線型、線寬、線型比例等;文字實體需要修改字體、字高、長寬比、旋轉(zhuǎn)角度等。

      3.2 制定關(guān)聯(lián)規(guī)則,建立關(guān)聯(lián)關(guān)系

      在新版天津市基礎(chǔ)地理信息要素數(shù)據(jù)字典中,對地物的關(guān)聯(lián)關(guān)系作出了明確的規(guī)定。建立關(guān)聯(lián)關(guān)系的目的是為了將組成一個實體的各個部分或?qū)⑷舾蓪嶓w表示為一個整體而建立起數(shù)據(jù)關(guān)系,如圖2所示。

      圖2 關(guān)聯(lián)關(guān)系

      圖2表示“已加固的斜坡式一般堤”,坡頂線和坡底線以及中間的描述符都是獨立的CAD實體,要讓它們之間建立聯(lián)系,共同來表示一個地形要素。方法是通過給這一組對象都添加一個共同的標(biāo)識碼,標(biāo)識碼是隨機生成的,每個標(biāo)識碼是不重復(fù)的。Windows系統(tǒng)的全局唯一標(biāo)識(GUID)恰好可以滿足這一需求。

      在新舊數(shù)據(jù)轉(zhuǎn)換過程中要將這些零散的對象準(zhǔn)確地關(guān)聯(lián)在一起,必需建立一系列關(guān)聯(lián)規(guī)則,以此來約束程序按照指定的次序搜索相關(guān)要素,如表3所示。

      關(guān)聯(lián)關(guān)系規(guī)則 表3

      以圖2所示坡坎線為例,將關(guān)聯(lián)規(guī)則中的4A和4B兩項規(guī)則程序化,即需要作兩步處理:

      首先由坡頂線創(chuàng)建“緩沖區(qū)1”(見圖3),然后通過緩沖區(qū)選擇坡頂線附近的符號線和符號塊,為了避免搜索到其他鄰近的坡坎的符號,需要在程序中進行邏輯控制,邏輯條件是:坡坎的符號線與坡頂線之間的最近距離是0,每一對符號塊與符號線在坡頂線的同側(cè),且與符號線的距離恒定。搜索完成后,建立坡頂線與符號線和符號塊的關(guān)聯(lián)。

      其次是由坡底線創(chuàng)建“緩沖區(qū)2”,再通過緩沖區(qū)選擇與它相交的符號線(見圖3中傳導(dǎo)線),坡底線的標(biāo)識碼由符號線(傳導(dǎo)線)繼承過來,這樣坡頂線、符號線、符號塊以及坡底線就通過相同的標(biāo)識碼聯(lián)系在一起了。

      圖3 建立緩沖區(qū)搜索關(guān)聯(lián)

      3.3 后期處理

      有些地形要素在新舊圖示中的表示方式有很大的區(qū)別,這些要素?zé)o法實現(xiàn)全自動轉(zhuǎn)換,需要在程序處理后再進行人工編輯。而有些要素盡管可以用程序自動處理,但為了避免編輯錯誤,處理后也需要人工確認,為此須將每個程序編輯過的要素添加到自定義的實體定位列表,便于用戶核查,如圖4所示。

      圖4 后期處理與實體定位

      3.4 數(shù)據(jù)檢查

      在完成圖形的轉(zhuǎn)換處理后,還要對轉(zhuǎn)換后的圖形進行質(zhì)量控制,我們依據(jù)新版的數(shù)據(jù)字典編寫了檢查程序(見圖5),檢查程序從要素屬性、空間關(guān)系、拓撲關(guān)系等多方面對地形圖進行檢查,極大地提高了數(shù)據(jù)檢查的效率,同時也最大限度地保證了新舊標(biāo)準(zhǔn)地形數(shù)據(jù)的轉(zhuǎn)換質(zhì)量。

      圖5 數(shù)據(jù)檢查

      4 結(jié)語

      筆者在研究地形圖數(shù)據(jù)新舊標(biāo)準(zhǔn)轉(zhuǎn)換的過程中,將SQLite數(shù)據(jù)庫技術(shù)引入到轉(zhuǎn)換規(guī)則設(shè)計及對照表信息管理中,用戶可以根據(jù)自己的需要匹配要素規(guī)則、修改轉(zhuǎn)換配置文件,這種設(shè)計方式增強了程序功能的延展性,使得數(shù)據(jù)轉(zhuǎn)換的流程控制更加靈活。

      目前該轉(zhuǎn)換程序已經(jīng)廣泛應(yīng)用于天津市測繪院2011年的1∶2 000地形圖修測項目中。

      [1]余承飛,方勇.AutoCAD 2000二次開發(fā)技術(shù)(ObjectARX)[M].北京:人民郵電出版社,1999

      [2]佟里欣.AutoCAD 2000探秘–AutoLISP入門[M].北京:海洋出版社,2000

      [3]張長勛.AutoCAD VisualLISP程序開發(fā)技術(shù)[M].北京:國防工業(yè)出版社,2005

      [4]Jay A.Kreibich.Using SQLite[M].O’Reilly Media,2010

      [5]GB/T 20257.1-2007,1 ∶500 1 ∶1 000 1 ∶2 000地形圖圖式[S].

      [6]天津市基礎(chǔ)地理信息要素數(shù)據(jù)字典第一部分:1∶500、1 ∶2000[S].

      猜你喜歡
      對照表坡頂字典
      開心字典
      家教世界(2023年28期)2023-11-14 10:13:50
      開心字典
      家教世界(2023年25期)2023-10-09 02:11:56
      礦車路線迷宮
      礦車路線迷宮
      2019年成考院校招生簡章審核對照表
      我是小字典
      正版字典
      讀者(2016年14期)2016-06-29 17:25:50
      ISO?9001:2015與ISO?9001:2008之間的對照表
      中國纖檢(2016年3期)2016-04-07 18:48:48
      本刊常用符號對照表
      橋梁調(diào)坡頂升關(guān)鍵技術(shù)之頂升支撐技術(shù)探討
      六枝特区| 老河口市| 罗源县| 武清区| 县级市| 正宁县| 霍州市| 淅川县| 漳平市| 田阳县| 普兰店市| 铜鼓县| 阳山县| 五原县| 宜黄县| 扶风县| 白山市| 闽清县| 林口县| 进贤县| 隆安县| 丹寨县| 图们市| 贵州省| 丽水市| 普陀区| 公安县| 共和县| 玛多县| 巴塘县| 旅游| 青铜峡市| 扬州市| 长垣县| 福贡县| 扎赉特旗| 贵南县| 永靖县| 龙海市| 万源市| 深泽县|