• 
    

    
    

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

      ?

      Delphi實現(xiàn)Topcon全站儀自動展點

      2016-05-30 06:21:00吳曉峰徐景欣王大偉
      科技創(chuàng)新導報 2016年17期
      關鍵詞:數(shù)據(jù)格式測繪

      吳曉峰 徐景欣 王大偉

      摘 要:隨著現(xiàn)代電子測量技術(shù)日新月異的發(fā)展,Topcon全站儀以其較高的性價比被廣泛用于測繪行業(yè),操作簡單易學,數(shù)據(jù)結(jié)構(gòu)科學合理。由Borland公司推出的Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應用程序開發(fā)工具,它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,采用了彈性可重復利用的完整的面向?qū)ο蟪绦蛘Z言、當今世界上最快的編譯器、最為領先的數(shù)據(jù)庫技術(shù)。該文結(jié)合Topcon測圖數(shù)據(jù),利用Delphi實現(xiàn)了數(shù)據(jù)下載、預處理、展點一系列方法。

      關鍵詞:Topcon 數(shù)據(jù)格式 展點 Delphi 測繪

      中圖分類號:TP3 文獻標識碼:A 文章編號:1674-098X(2016)06(b)-0082-03

      1 Topcon數(shù)據(jù)存儲格式

      拓普康內(nèi)存中的數(shù)據(jù)分測量坐標數(shù)據(jù)文件和坐標數(shù)據(jù)文件,前者是數(shù)據(jù)采集模式下生成的文件,在儀器中用“M”標識;后者是為放樣模式準備的坐標文件,在儀器中用“C”標識。對兩者數(shù)據(jù)下載后進行分析,測量數(shù)據(jù)所記錄的信息是完整的測量信息,反映的是測量的過程與采集成果,而坐標數(shù)據(jù)文件相對簡單,是點的坐標記錄集合。以下分別截取一個測量數(shù)據(jù)和坐標數(shù)據(jù)片斷,“//”后為注釋。

      JOB Z08010, //數(shù)據(jù)采集文件名

      INST GTS-330 Ver.3.30 //儀器型號、內(nèi)置系統(tǒng)版本

      UNITS M,D //單位,此處為米、度

      STN T44,0.000, //測站標識 測站點號 儀器高

      XYZ 504882.246,3803796.484,0.000 //測站坐標標識 測站點N、E、Z值

      BS T45,0.000 //后視標識 后視點號 棱鏡高

      XYZ 504888.430,3803837.337,-1.992 //后視坐標標識 后視點N、E、Z值

      SS 1,0.000,F(xiàn)W //前視測點標識 前視點號 棱鏡高 測點標識碼

      XYZ 504853.177,3803776.161,1.469 //前視坐標標識 前視測點N、E、Z值

      SS 2,0.000,L

      XYZ 504854.387,3803776.077,1.864

      ……

      1,1125.057,1122.351,50.413,L //前視點號 前視測點N、E、Z值,測點標識碼

      2,1132.123,1126.359,50.744,F(xiàn)W

      ……

      2 數(shù)據(jù)下載

      配合全站儀使用的下載工具一般由廠家提供,比如拓普康的T_COM軟件,但這種軟件輸出的數(shù)據(jù)格式是由軟件提供者控制的,在操作與使用環(huán)節(jié)上用戶難以根據(jù)自己的需要靈活定制。在Delphi開發(fā)平臺上,數(shù)據(jù)下載功能可以借助Spcomm控件實現(xiàn),與數(shù)據(jù)通信相關的幾個重要屬性:端口CommName、波特率BaudRate、數(shù)據(jù)位ByteSize、奇偶位ParityCheck、停止位StopBits,這些屬性既可以在程序設計過程中指定,也可以在程序運行期間指定。

      電腦與儀器通信參數(shù)要保持一致。通過激發(fā)數(shù)據(jù)下載動作,執(zhí)行事件

      procedure

      TfrmDataChg.Comm1ReceiveData(Sender:Tobject;Buffer:Pointer;Buffer Length: Word);

      var

      s: string;

      begin

      SetLength(s, BufferLength);

      Move(Buffer^, pchar(s)^, BufferLength);

      memo1.Lines.Add(s);

      end;

      下載的數(shù)據(jù)是可識別ASSIC格式,顯示在Memo1控件中,可以進一步保存或處理。

      3 數(shù)據(jù)預處理

      在對數(shù)據(jù)文件格式及各組成部分含義明確理解的情況下,使用高級程序語言進行數(shù)據(jù)文件信息的提取、分離、處理。該文利用Delphi對數(shù)據(jù)進行讀取與處理。

      3.1 算法設計

      程序的主要算法是:打開測量數(shù)據(jù)文件,逐行讀取數(shù)據(jù)行,查找標識“XYZ”行并定位,以其為參照向前一行定位,查找行首標識“STN、BS、SS”并判斷該行性質(zhì),對本行進行信息分離、提取。

      3.2 程序?qū)崿F(xiàn)

      (1)文件的打開,利用Delphi中的OpenDialog控件。

      If OpenDialog1.Execute then filename:=OpenDialog1.FileName;

      (2)逐行讀取數(shù)據(jù)文件,使用語句Readln(file,LineStr),同時創(chuàng)建Tstringlist對象,用于保存讀入的數(shù)據(jù)行,每讀一行,stringlist自動加一。

      (3)設計循環(huán)變量i,查找“XYZ”,使用語句If Pos('XYZ',Strings[i])>0來判斷,如果為真值表示找到坐標數(shù)據(jù)行,分離坐標與編碼。

      (4)向前定位至Strings[i-1],使用語句If Pos('STN',Strings[i-1])>0 來判斷是否為測站,使用語句If Pos('BS',Strings[i-1])>0 來判斷是否為后視定向點,使用語句If Pos('SS',Strings[i-1])>0來判斷是否為前視點,確定本行性質(zhì)后對元素進行分離、提取。

      (5)將(3)、(4)分離出來的信息進行拼裝,形成坐標記錄。

      4 CAD展點

      通過前面的工作,已經(jīng)完成了從原始數(shù)據(jù)到整理后的帶編碼坐標數(shù)據(jù),下面介紹利用Delphi將坐標數(shù)據(jù)展點到CAD文件中。CAD展點的實質(zhì)是向CAD模型空間輸入文本或插入塊。Delphi是借助Com技術(shù)實現(xiàn)的,使用CreateOleObject將啟動AutoCad,然后以Ole方式對AutoCad進行控制。具體步驟如下:

      (1)在Delphi中定義Ole變量。

      var

      obj_Acad,obj_ModelSpace,obj_ActiveDoc,Ole_point,obj_lays,obj_lay,obj_TestStyle,obj_TextStyles,obj_txt,obj_blk,obj_att: OleVariant;

      (2)創(chuàng)建Ole對象。

      obj_Acad:=CreateOleObject('AutoCad.Application');

      (3)取得當前文檔與模型空間。

      obj_ActiveDoc:= obj_acad.activedocument;

      obj_ModelSpace:=obj_ActiveDoc.ModelSpace;

      (4)創(chuàng)建圖層并置為活動圖層。

      obj_lays:=obj_activedoc.layers;

      obj_lay:=obj_lays.add('points');

      obj_activedoc.activelayer:=obj_lay;

      (5)定義輸入文本樣式。

      obj_TextStyles:=obj_ActiveDoc.TextStyles;

      obj_TestStyle:=obj_TextStyles.Add('SBD');

      obj_TestStyle.FontFile:='txt.shx';

      obj_TestStyle.width:='0.8';

      obj_ActiveDoc.activeTextStyle:=obj_TestStyle;

      (6)定義插入點,獲取坐標。

      Ole_point:=VarArrayCreate([0,2],VT_R8);

      Ole_point[0]:=py;Ole_point[1]:=px;Ole_point[2]:=pz;

      (7)插入文本,完成展點。

      txt:=pno+pcode; //點名與編碼

      obj_txt:=obj_ModelSpace.AddText(txt,VarArrayRef(Ole_Point),edit4.Text );

      obj_txt.color:=clrindex;

      (8)對所有坐標點進行循環(huán)。

      特別注意的是,拓普康下載數(shù)據(jù)會有“舍棄”大數(shù)的模式,比如點128,3572191.473,509150.692,-1.474,ZL,下載的結(jié)果可能是128,72191.473,9150.692,-1.474,ZL,這時要通過程序X加3500000Y加500000進行修正。

      5 結(jié)語

      拓普康全站儀操作簡單,精度可靠,記錄方便,對其數(shù)據(jù)格式的理解有助于后續(xù)的數(shù)據(jù)處理工作。該文介紹了一種實用的數(shù)據(jù)讀取算法并依據(jù)此算法進行程序化,同時針對生產(chǎn)中經(jīng)常進行CAD展點,介紹了如何用CAD外部語言實現(xiàn)的方法。

      參考文獻

      [1] 李向東,劉學杰,伍順運.Topcon全站儀內(nèi)存在測繪中的應用[J].北京測繪,2003(1):37-39.

      [2] 田春來,邢煒光,邢衛(wèi)民,等.全站儀數(shù)據(jù)格式轉(zhuǎn)換程序的設計與實現(xiàn)[J].測繪通報,2008(9):67-69.

      [3] 趙晉睿,蘇宗躍.拓普康GTS-600型全站儀原始數(shù)據(jù)的處理[J].甘肅科技,2009,25(8):28,49-50.

      [4] 張永林,杜軍和.VisualBasic編寫拓普康通訊程序[J].城市勘測,2006(6):26-28.

      猜你喜歡
      數(shù)據(jù)格式測繪
      浙江省第一測繪院
      工程測繪中GNSS測繪技術(shù)的應用
      在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
      電子測試(2018年1期)2018-04-18 11:52:49
      測繪新技術(shù)在測繪工程中的應用
      江西建材(2018年4期)2018-04-10 12:37:38
      基于水利標準數(shù)據(jù)格式的BIM數(shù)據(jù)管理和水利BIM生態(tài)探索
      04 無人機測繪應用創(chuàng)新受青睞
      無人機在地形測繪中的應用
      電子制作(2017年9期)2017-04-17 03:01:00
      世界首個可記錄物體內(nèi)部結(jié)構(gòu)等復雜信息的3D打印數(shù)據(jù)格式問世
      出版與印刷(2016年3期)2016-08-15 00:45:53
      測繪簡史
      論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應用
      高雄市| 东乡族自治县| 额尔古纳市| 芷江| 滨海县| 凤庆县| 阜城县| 重庆市| 六枝特区| 平阳县| 临潭县| 丽水市| 祁门县| 凤山县| 浑源县| 恩平市| 松滋市| 冕宁县| 怀安县| 小金县| 江华| 民丰县| 电白县| 宿松县| 北流市| 察雅县| 古交市| 武定县| 庆安县| 兰考县| 中超| 嘉黎县| 龙泉市| 绥芬河市| 新乡市| 保德县| 宾川县| 青神县| 寿宁县| 亳州市| 柳河县|