久久久久久性生活|欧美二区亚洲一区|欧美婷婷丁香97|五月丁香婷婷精品|一本无码AAAA|亚洲中文免费在线播放|青青草原在线伊人|青草草在线视频永久免费|色婷婷久久色丁香色|黄色三级在线观看

首頁> 資源> 論文>正文

應用ObjectARX開發(fā)給水管網GIS系統(tǒng)

論文類型 技術與工程 發(fā)表日期 2000-04-01
來源 《工業(yè)用水與廢水》2000年第2期
作者 王榮和,潘建華,姚仁忠
關鍵詞 給水管網 計算機管理 GIS ObjectARX
摘要 在對AutoCAD2000、ObjectARX、給水管網計算機管理系統(tǒng)和GIS分析的基礎上,提出給水管網計算機管理系統(tǒng)開發(fā)的一般過程和用ObjectARX和擴展字典功能進行管網系統(tǒng)GIS開發(fā)的方法,并通過編寫WDOC軟件系統(tǒng)得到驗證。

王榮和   同濟大學環(huán)境科學與工程學院污染控制與資源化研究國家重點實驗室,上海 200092
 潘建華,姚仁忠 上海交通大學土木工程系,上?!?00092

  摘要:在對AutoCAD2000、ObjectARX、給水管網計算機管理系統(tǒng)和GIS分析的基礎上,提出給水管網計算機管理系統(tǒng)開發(fā)的一般過程和用ObjectARX和擴展字典功能進行管網系統(tǒng)GIS開發(fā)的方法,并通過編寫WDOC軟件系統(tǒng)得到驗證。
  關鍵詞:給水管網;計算機管理;GIS;ObjectARX
  中圖分類號:TU991.33
  文獻標識碼:A
  文章編號:1009-2455(2000)03-0048-03

Application of ObjectARX in Developing GIS for Water Supply Pipe Network
WANG Rong-he  ?PAN Jian-hua? YAO Ren-zhong

  Abstract:A general procedure for the development of computer management sustem for water supply pipe network and a method of developing GIS (Geology Information System) for the pipe network using ObjectARX and expanded-dictionary technology are described based on the analyses of AutoCAD2000 ObjectARX computer management system for water supply pipe network and GIS which have been verified through the compilation of WDOC software system.
  Key words:water supply pipe network;computer management;GIS;ObjectARX

概述

  AutoCAD是我國給水排水工程領域應用最普遍的CAD平臺之一。目前國內編寫的給水排水工程CAD設計軟件,都是以此為平臺進行二次開發(fā)的。在以前的AutoCAD版本中,大多是以AutoLisp作為開發(fā)語言,后來擴展到ADS系統(tǒng)[1][2]?,F(xiàn)在的AutoCAD2000,提供了更多、更方便的二次開發(fā)工具,如VisualLISP、ActivexX、VBA、ADS、ASI等,尤為重要的是,還給出了以面向對象的Visual C++為開發(fā)語言的ObjectARX,為以AutoCAD為開發(fā)平臺進行CAD軟件二次開發(fā)的廣大設計人員提供了一種更為方便、靈活的工具[3]
  ObjectARX可以共享AutoCAD的地址和空間,深入到系統(tǒng)底層,對AutoCAD進行直接的函數調用,速度快、圖形管理方便,軟件代碼的保密性強。ObjectARX應用程序是一個動態(tài)連接庫,不但可以共享AutoCAD的資源,還可以共享Windows、VC++等資源。盡管程序編寫不如AutoLisp方便[4],但其高度的靈活性、強大的功能和對大型系統(tǒng)管理速度的提高,足可以彌補其所有的弱點。
  通過應用ARX進行給水管網多工況優(yōu)化設計計算軟件WDOC系統(tǒng)的編制[5][6],與AutoLisp/Visual LISP進行比較,并與對象添加擴展數據和擴展字典技術進行了比較,得出用ObjectARX作為編程語言,應用擴展字典技術,可以方便地編寫給水管網GIS系統(tǒng)的結論。

1 給水管網GIS系統(tǒng)功能分析[2]

  給水管網GIS系統(tǒng),不同于一般的需要存貯大量的非圖形和圖形信息的GIS系統(tǒng),而是有其特殊性,主要表現(xiàn)在如下幾個方面:即地形、地貌信息只是作為背景知識,不需要存貯大量的非圖形信息;節(jié)點、管段、閥門、水泵等之間都有固定的相互聯(lián)系;管網GIS除具有GIS的功能外,還需具備管網水力計算、設計、管理、調度等方面的功能。因此,建立給水管網GIS系統(tǒng),不能單純地從一般GIS的功能進行系統(tǒng)分析和設計,而是需針對給水管網的目的和特點進行。
  自20世紀90年代初開始,深圳自來水公司就開始進行GIS系統(tǒng)的開發(fā),開辟國內自來水行業(yè)GIS的先河。上海、北京、南京、廣州等城市的自來水公司也先后開始進行GIS系統(tǒng)的開發(fā),當前國內大中型城市的自來水公司都正著手進行這一領域的研究與開發(fā)工作。但到目前為止,尚沒有一個單位開發(fā)的給水管網GIS系統(tǒng)能夠承擔起真正的GIS功能,其根本原因在于各單位只是為了開發(fā)GIS而開發(fā)GIS,沒有考慮給水管網系統(tǒng)的特殊性和開發(fā)給水管網GIS的真正目的:集給水管網水力計算模型、優(yōu)化設計與調度管理模型、SCADA (Supervisory Control And Data Acquisition)、PLC (Programming Logical Control)、管網GIS為一體的給水管網計算機管理系統(tǒng)?,F(xiàn)大多數單位開發(fā)的給水管網GIS系統(tǒng)與管網水力計算模型、SCADA等系統(tǒng)相互獨立,信息不能共享。因此存在信息的更新、模型管理、實測數據等不統(tǒng)一和工作重復的問題。另外,由于各部門行政管理的不一致,更增加了系統(tǒng)的復雜性和軟件運行上的難度,造成許多給水管網GIS系統(tǒng),一旦開發(fā)工作完成,則該GIS生命即自行結束的狀況。

  從圖1可以看出,合理的管網計算機管理系統(tǒng),應是以數據庫為核心,現(xiàn)狀分析、管網模型、GIS、SCADA、水量預測預報、優(yōu)化設計、CAD、優(yōu)化調度等模塊都是計算機管理系統(tǒng)的內容之一。其主要的內在聯(lián)系是:GIS系統(tǒng)提供管網圖形信息;管網現(xiàn)狀分析對GIS基礎數據進行校正,使GIS能夠符合實際工作的要求;管網模型是對管網系統(tǒng)進行水力分析,基礎數據來源于GIS;水表和用戶可以在GIS中查詢;水量預測預報系統(tǒng),是以數據庫中的歷史數據為基礎進行分析;SCADA系統(tǒng)用于把管網、水廠、泵站等的實測數據傳送到數據庫,便于其它系統(tǒng)利用這些數據進行分析;優(yōu)化設計則是在現(xiàn)狀分析和GIS系統(tǒng)的基礎上,進行規(guī)劃、設計與分析;CAD則直接可以利用GIS的基礎數據和優(yōu)化設計結果,進行施工圖設計;報表輸出,是按照自來水公司的要求,定期產生報表系統(tǒng);圖形管理是對GIS圖素的添加、刪除,對工程施工圖、管網模型圖、現(xiàn)狀分析圖等進行管理。優(yōu)化調度是利用數據庫的基礎資料、當日當時的現(xiàn)狀資料、GIS的圖形資料、SCADA的實測資料、水量預測的供水資料等進行全范圍調度管理,并發(fā)送調度指令。

2 擴展字典在給水管網GIS系統(tǒng)中的應用

  AutoCAD2000的一個最大突破,就是把圖形管理數據庫化。通過對象字典,可以在給水管網圖形中加入所需要的各種信息,如節(jié)點編號、節(jié)點流量、自由水頭、用水量變化系數等。
  給水管網的相關部件,如節(jié)點、管段等,它們之間都是有相互聯(lián)系,而不是相互獨立的。對于管段來說,它由上、下游節(jié)點編號、管長、管徑、管道摩阻等固定信息和流量、流速、水頭損失、水力坡度等可變信息組成,并且還同與之相連的控制閥相聯(lián)系。每當對管段進行操作時,需同時考慮與之相連的相關部件,并對相關部件進行相應的操作。一般的處理方法是,把相應的非圖形信息存貯于其它類型的數據庫中,每當處理時,可以通過圖形的ID號來查找相應的數據庫,并按照對圖形信息操作的過程,再相應操作數據庫。這種處理方法,在處理速度和靈活度上,存在一定的缺點。而用擴展字典技術,就可以在進行圖形處理的同時,進行相關的數據處理,方便而又迅速。
  擴展數據(xdata)由應用程序創(chuàng)建,并且可以添加到所有圖形對象中。數據使用DXf組碼的1000到1007之間的范圍。擴展數據的優(yōu)點是有效地利用了空間,并且對添加少量數據到一個對象中是十分方便的。但xdata被限制在16K和DXF組碼,為使用帶來許多不便[7][8]。
  擴展字典解決了擴展數據的一系列缺點,提供了一個具有添加數據能力更強、更靈活的機制。每個對象都可以有一個擴展字典,可以容納任意一套AcDbObject對象。利用這一機制,若干應用程序可以附加數據到同一個對象上。下面是一個利用擴展字典技術,對管段信息進行擴展的VC++程序[3]:
  selectObject()函數提示用戶選擇實體,在選擇到實體后,打開并返回指向這一實體的指針。

AcDbObject* selectObject(AcDb::OpenMode openMode)?
? {ads_name en;? ads_point pt;
char handleStr[132]; AcDbobjectId eId;
Acad::ErrorStatus retStat;
acedEntSel(" 請選擇實體:",en,pt); ∥提示用戶選擇實體
retStat=acdbGetObjectId(eld?en); ∥把ads name變?yōu)閷嶓wID號
AcDbObject* pObj;?
if((retStat=AcdbOpenObject(pObj,eId,openMode))?。?AcAd::eOk)?
{∥打開實體
AcutPrintf(“打開實體錯誤?。?!”);
return NULL;
?}
return pObj;? ∥返回實體指針
?}

  createXrecord()函數,用于對選擇實體添加數據字典。其中Name為擴展字典名,head為通過Ads_buildlist()建立的數據表。

void creatXrecord(char* Name,struct resbuf* head)
{AcDbXrecord*pXrec=new AcDbXrecord;? AcDbObject* pO
bj;?
AcDbObjectId dictObjId,?xrecObjId;? AcDbDictionary* pDict;?
pObj=selectObject(AcDb::kForWrite); ∥調用selectObject()函數
if(pObj=NULL) return;? ∥如果選擇實體不存在,則退出
pObj->createExtensionDictionAry() ∥建立選擇實體空的擴展字典
dictObjId=pObj->extensionDictionAry();∥得到所選擇實體的擴展字典的ID號
pObj->close();? ∥關閉選擇實體
AcdbOpenObject(pDict,dictObjId,AcDb::kForWrite)? ∥打開擴展字典并準備加入新的數據
pDict->setAt(Name,pXrec,xrecObjId);
pDict->close();? ∥關閉擴展字典
pXrec->setFromRbChAin(*head); ∥添加數據表到擴展字典數據庫
pXrec->close();? ∥關閉數據表
?}

  通過 createXrecord()函數,可以添加任何數據、角度、文字、坐標等到實體中去。對于給水管網GIS系統(tǒng),如對管段加入諸如管段號、起始節(jié)點號、終止節(jié)點號、管長、管徑、管段摩阻等,可以用如下簡單的程序加以方便實現(xiàn)。

void PipeXrec()
{? float PipeDiAmeter,?PipeLength,?PipeHW;
   char FromPoint[15],ToPoint[15],PipeNo[15];
∥此處可以通過程序系統(tǒng)或人工輸入法,獲得管段的有關信息
∥……
struct resbuf* head;?
head=AcutBuildList(?
AcDb::kDxfText,F(xiàn)romPoint,AcDb::kDxfText,ToPoint,?
AcDb::kDxfReAl,PipeDiAmeter,? AcDb::kDxfReAl,
?PipeLength,?
AcDb::kDxfReAl,PipeHW,?
0);
createXrecord(PipeNo,head);
?}

  用同樣的處理技術,可以把擴展字典信息提取出來,從而可以方便地對圖形信息進行實時操作。
  可以看出,只要編寫如上所述的小程序,就可以在給水管網GIS中進行方便的管網信息加入、查詢、提取與操作。

3 結束語

  給水管網GIS系統(tǒng)的建立,不同于其它專業(yè)的GIS,各圖形元素不但有其自身的物理意義,而且圖形元素之間還存在相應的內存聯(lián)系。因此,給水管網GIS系統(tǒng)建立的關鍵在于管網系統(tǒng)的水力分析,為管網調度和管理提供決策的依據,而不僅僅是簡單的管網圖形分析。
  通過對ObjectARX的應用與分析和對WDOC軟件系統(tǒng)的開發(fā),得到以AutoCAD2000為工作平臺,用ObjectARX和擴展字典進行二次開發(fā)實現(xiàn)給水管網GIS的功能,不但功能強大,而且方便靈活,尤其是使GIS與管網模型、優(yōu)化設計計算、延時水力模擬、現(xiàn)狀分析和監(jiān)測點選擇等多個功能集成設計,達到實現(xiàn)給水管網計算機管理的初步目的和要求。

參考文獻

  [1]?王榮和,劉志強.給水排水工程CAD.同濟大學教材科 [中國建筑工業(yè)出版社作為全國通用教材出版中],1997.
  [2] 中國給水五十年回顧-第七屆年會論文集[C].中國建筑工業(yè)出版社,1999.
  [3]?余承飛,方勇.AutoCAD2000二次開發(fā)技術(ObjectARX)[M].人民郵電出版社,1999.
  [4]?王榮和,顧國維.水處理工程CAD的智能設計,環(huán)境背景值和環(huán)境容量研究[M].科學出版社,1993.
  [5]?王榮和,顧國維.優(yōu)選管徑法在給水管網優(yōu)化設計中的應用[J].中國給水排水,1998,(1):14~17.
  [6]?王榮和,顧國維.給水管網多工況優(yōu)化設計的實用性[J]中國給水排水,1999,15(4):39~40.
  [7]?王榮和,顧國維.擴展實體數據在給排水工程CAD中的應用[J].化工給排水設計,1998,(4):51~54.
  [8]?顧國維.?水污染治理技術研究[M].上海:上海同濟大學出版社,1997.


作者簡介:
  王榮和,博士、副教授,上海,同濟大學環(huán)境科學與工程學院。

論文搜索

發(fā)表時間

論文投稿

很多時候您的文章總是無緣變成鉛字。研究做到關鍵時,試驗有了起色時,是不是想和同行探討一下,工作中有了心得,您是不是很想與人分享,那么不要只是默默工作了,寫下來吧!投稿時,請以附件形式發(fā)至 paper@h2o-china.com ,請注明論文投稿。一旦采用,我們會為您增加100枚金幣。