成人福利视频在线观看_国产精品日韩久久久久_欧美全黄视频_欧美网色网址

首頁> 資源> 論文>正文

應用ObjectARX開發給水管網GIS系統

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

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

  摘要:在對AutoCAD2000、ObjectARX、給水管網計算機管理系統和GIS分析的基礎上,提出給水管網計算機管理系統開發的一般過程和用ObjectARX和擴展字典功能進行管網系統GIS開發的方法,并通過編寫WDOC軟件系統得到驗證。
  關鍵詞:給水管網;計算機管理;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設計軟件,都是以此為平臺進行二次開發的。在以前的AutoCAD版本中,大多是以AutoLisp作為開發語言,后來擴展到ADS系統[1][2]。現在的AutoCAD2000,提供了更多、更方便的二次開發工具,如VisualLISP、ActivexX、VBA、ADS、ASI等,尤為重要的是,還給出了以面向對象的Visual C++為開發語言的ObjectARX,為以AutoCAD為開發平臺進行CAD軟件二次開發的廣大設計人員提供了一種更為方便、靈活的工具[3]。
  ObjectARX可以共享AutoCAD的地址和空間,深入到系統底層,對AutoCAD進行直接的函數調用,速度快、圖形管理方便,軟件代碼的保密性強。ObjectARX應用程序是一個動態連接庫,不但可以共享AutoCAD的資源,還可以共享Windows、VC++等資源。盡管程序編寫不如AutoLisp方便[4],但其高度的靈活性、強大的功能和對大型系統管理速度的提高,足可以彌補其所有的弱點。
  通過應用ARX進行給水管網多工況優化設計計算軟件WDOC系統的編制[5][6],與AutoLisp/Visual LISP進行比較,并與對象添加擴展數據和擴展字典技術進行了比較,得出用ObjectARX作為編程語言,應用擴展字典技術,可以方便地編寫給水管網GIS系統的結論。

1 給水管網GIS系統功能分析[2]

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

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

2 擴展字典在給水管網GIS系統中的應用

  AutoCAD2000的一個最大突破,就是把圖形管理數據庫化。通過對象字典,可以在給水管網圖形中加入所需要的各種信息,如節點編號、節點流量、自由水頭、用水量變化系數等。
  給水管網的相關部件,如節點、管段等,它們之間都是有相互聯系,而不是相互獨立的。對于管段來說,它由上、下游節點編號、管長、管徑、管道摩阻等固定信息和流量、流速、水頭損失、水力坡度等可變信息組成,并且還同與之相連的控制閥相聯系。每當對管段進行操作時,需同時考慮與之相連的相關部件,并對相關部件進行相應的操作。一般的處理方法是,把相應的非圖形信息存貯于其它類型的數據庫中,每當處理時,可以通過圖形的ID號來查找相應的數據庫,并按照對圖形信息操作的過程,再相應操作數據庫。這種處理方法,在處理速度和靈活度上,存在一定的缺點。而用擴展字典技術,就可以在進行圖形處理的同時,進行相關的數據處理,方便而又迅速。
  擴展數據(xdata)由應用程序創建,并且可以添加到所有圖形對象中。數據使用DXf組碼的1000到1007之間的范圍。擴展數據的優點是有效地利用了空間,并且對添加少量數據到一個對象中是十分方便的。但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變為實體ID號
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系統,如對管段加入諸如管段號、起始節點號、終止節點號、管長、管徑、管段摩阻等,可以用如下簡單的程序加以方便實現。

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

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

3 結束語

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

參考文獻

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


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

論文搜索

發表時間

論文投稿

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