地下管網(wǎng)數(shù)據(jù)導(dǎo)入程序設(shè)計(jì)思想_第1頁(yè)
地下管網(wǎng)數(shù)據(jù)導(dǎo)入程序設(shè)計(jì)思想_第2頁(yè)
地下管網(wǎng)數(shù)據(jù)導(dǎo)入程序設(shè)計(jì)思想_第3頁(yè)
地下管網(wǎng)數(shù)據(jù)導(dǎo)入程序設(shè)計(jì)思想_第4頁(yè)
地下管網(wǎng)數(shù)據(jù)導(dǎo)入程序設(shè)計(jì)思想_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.地下管網(wǎng)數(shù)據(jù)導(dǎo)入程序設(shè)計(jì)思想1問(wèn)題描述基礎(chǔ)數(shù)據(jù)的獲取在排水管網(wǎng)地理信息系統(tǒng)的建設(shè)過(guò)程中處于至關(guān)重要的地位。而排水公司已有的數(shù)據(jù)包括以下幾種:規(guī)劃局提供的文本格式的數(shù)據(jù),DWG格式的數(shù)據(jù)。文本格式的數(shù)據(jù)不能直接被ARCGIS使用,所以需要把文本格式的數(shù)據(jù)導(dǎo)入到SDE數(shù)據(jù)庫(kù)中。2文本數(shù)據(jù)格式(參見(jiàn)附件)3兩個(gè)具體的文本文件文件名:P1716L 管網(wǎng)類型:排水管P22100水泥 600 昆明市排水公司 0546 0546P008 0 2281935.752 64789.183 0 1.6081962.032 64791.040 1.68 1.6881988.253 64792.794 1.69 1

2、.6982040.805 64796.286 1.72 1.7282060.655 64797.751 1.75 1.7582087.099 64799.701 1.95 1.9582113.206 64801.417 1.86 1.8682138.663 64803.058 2.00 2.0082165.066 64804.876 2.00 2.0082190.782 64806.573 1.80 1.8082216.584 64808.321 1.78 1.7882242.540 64810.124 1.80 1.8082268.401 64811.922 1.82 1.8282312.8

3、88 64814.624 1.93 1.9382339.323 64815.923 1.95 1.9582365.415 64817.354 1.80 1.8082391.956 64818.698 1.93 1.9382418.354 64820.111 1.98 1.9882444.449 64821.470 2.00 2.0082470.457 64822.801 2.20 2.2082496.755 64824.296 2.15 2.1582560.964 64827.347 1.96 0 文件名:P1716L 管網(wǎng)類型:排水井P2222382560.964 64827.347 188

4、6.139 污水檢修井 塑料 0.0000 179170P001 EP2815 0546P008 P2222382496.755 64824.296 1886.316 污水檢修井 塑料 0.0000 179169P009 EP2816 0546P008 P2222382470.457 64822.801 1886.338 污水檢修井 塑料 0.0000 179169P008 EP2817 0546P008 P2222382444.449 64821.470 1886.244 污水檢修井 塑料 0.0000 179169P007 EP2818 0546P008 P2222381935.752 6

5、4789.183 1885.926 污水檢修井 塑料 0.0000 179167P001 EP2819 0546P008 P2222381962.032 64791.040 1886.004 污水檢修井 塑料 0.0000 179167P002 EP2820 0546P008 P2222381988.253 64792.794 1886.016 污水檢修井 塑料 0.0000 179167P003 EP2821 0546P008 P2222382040.805 64796.286 1886.046 污水檢修井 塑料 0.0000 179168P001 EP2823 0546P008 P2222

6、382060.655 64797.751 1886.064 污水檢修井 塑料 0.0000 179168P002 EP2824 0546P008 P2222382087.099 64799.701 1886.236 污水檢修井 塑料 0.0000 179168P003 EP2825 0546P008 P2222382113.206 64801.417 1886.129 污水檢修井 鑄鐵 0.0000 179168P004 EP2826 0546P008 P2222382138.663 64803.058 1886.267 污水檢修井 鑄鐵 0.0000 179168P005 EP2827 05

7、46P008 P2222382165.066 64804.876 1886.257 污水檢修井 鑄鐵 0.0000 179168P006 EP2828 0546P008 P2222382190.782 64806.573 1886.090 污水檢修井 鑄鐵 0.0000 179168P007 EP2829 0546P008 P2222382216.584 64808.321 1886.056 污水檢修井 鑄鐵 0.0000 179168P008 EP2830 0546P008 P2222382242.540 64810.124 1886.147 污水檢修井 鑄鐵 0.0000 179168P0

8、09 EP2831 0546P008 P2222382268.401 64811.922 1886.130 污水檢修井 鑄鐵 0.0000 179169P001 EP2832 0546P008 P2222382312.888 64814.624 1886.236 污水檢修井 鑄鐵 0.0000 179169P002 EP2833 0546P008 P2222382339.323 64815.923 1886.231 污水檢修井 鑄鐵 0.0000 179169P003 EP2834 0546P008 P2222382365.415 64817.354 1886.095 污水檢修井 鑄鐵 0.0

9、000 179169P004 EP2835 0546P008 P2222382391.956 64818.698 1886.162 污水檢修井 鑄鐵 0.0000 179169P005 EP2836 0546P008 P2222382418.354 64820.111 1886.226 污水檢修井 鑄鐵 0.0000 179169P006 EP2837 0546P008 4設(shè)計(jì)思路從附件可以看出,該格式不僅用來(lái)描述排水管網(wǎng),還用來(lái)描述其它地下管網(wǎng),如:供水、電力等。為了今后導(dǎo)入其它管網(wǎng)數(shù)據(jù)的方便,數(shù)據(jù)導(dǎo)入程序應(yīng)該考慮到其共同特征,把不同管網(wǎng)數(shù)據(jù)導(dǎo)入的共同部分提取出來(lái)形成一個(gè)基礎(chǔ)架構(gòu)(Frame

10、Work),同時(shí)為與不同管網(wǎng)類型相關(guān)的部分定義共同的接口(Interface)。這樣,當(dāng)需要導(dǎo)入某種類型的管網(wǎng)數(shù)據(jù)時(shí),只需要提供對(duì)這些接口與該管網(wǎng)類型相關(guān)的特定實(shí)現(xiàn)即可。實(shí)際中,由于某些原因,文本文件的格式與規(guī)定的格式有出入,其差別在于屬性項(xiàng)的起始列與終止列與規(guī)定的格式不同,故設(shè)計(jì)時(shí)應(yīng)該為考慮到這個(gè)因素。5解決方案使用文件來(lái)描述線要素和點(diǎn)要素文本文件的結(jié)構(gòu),描述點(diǎn)要素文本文件結(jié)構(gòu)的文件稱作PFS(Point File Structure,點(diǎn)要素文本文件結(jié)構(gòu)),其擴(kuò)展名為PFS, 描述線要素文本文件結(jié)構(gòu)的文件稱作LFS(Line File Structure,線要素文本文件結(jié)構(gòu)),其擴(kuò)展名為L(zhǎng)F

11、S。PFS的結(jié)構(gòu)如下:第一行:”點(diǎn)要素文本文件結(jié)構(gòu)” 用于標(biāo)識(shí)PFS 第二行:類別標(biāo)識(shí) 用于區(qū)分不同類型的PFS第三行:每個(gè)點(diǎn)要素在文本文件中所占的行數(shù)第四行開(kāi)始至結(jié)束:每行表示一個(gè)屬性信息項(xiàng)*屬性信息項(xiàng):要素的每個(gè)屬性用一個(gè)信息項(xiàng)來(lái)描述,稱為屬性信息項(xiàng)LFS的結(jié)構(gòu)如下:第一行:” 線要素文本文件結(jié)構(gòu)” 用于標(biāo)識(shí)LFS 第二行:類別標(biāo)識(shí) 用于區(qū)分不同類型的LFS第三行:每個(gè)線要素的屬性部分在文本文件中所占的行數(shù)第四行:每個(gè)描述線要素空間信息的點(diǎn)在文本文件中所占的行數(shù)第五行:一個(gè)特殊的屬性信息項(xiàng),頂點(diǎn)點(diǎn)數(shù):描述線要素空間信息包含的點(diǎn)數(shù)第六行至結(jié)束:前邊每行表示一個(gè)屬性信息項(xiàng),而后邊每行表示一個(gè)空

12、間信息項(xiàng)*二者之間的分界由程序決定*空間信息項(xiàng):描述線要素空間信息的點(diǎn)的每個(gè)屬性用一個(gè)信息項(xiàng)來(lái)描述,稱為空間信息項(xiàng)信息項(xiàng)的結(jié)構(gòu):第一部分:屬性(空間信息的點(diǎn)的屬性 或者 點(diǎn)要素、線要素的屬性)名稱第二部分:該屬性位于每個(gè)組成要素的文本行中的第幾行,從1開(kāi)始編號(hào)第三部分:該屬性位于屬性所在行中的起始列第四部分:該屬性位于屬性所在行中的終止列每部分之間用英文的逗號(hào)分隔,除屬性名稱可為UniCode外,其它部分必須為ASCII6分析與設(shè)計(jì) 基礎(chǔ)架構(gòu)(FrameWork)的功能1. 利用用戶定義的PFS和LFS, 完成從文本文件提取空間和屬性信息.2. 把提取的空間和屬性信息轉(zhuǎn)換到特定類型管線。顯然,

13、第一步與管線的類型無(wú)關(guān),而第二步與管線的類型無(wú)關(guān),為了使轉(zhuǎn)換過(guò)程相對(duì)獨(dú)立于管線的類型,需要對(duì)不同類型的管線與數(shù)據(jù)導(dǎo)入相關(guān)部分提供共同的接口,而各類型的管線負(fù)責(zé)實(shí)現(xiàn)這些接口,這樣就可以實(shí)現(xiàn)導(dǎo)入過(guò)程相對(duì)獨(dú)立于管線的類型。而空間和屬性信息轉(zhuǎn)換到特定類型管線則依賴于管線的類型。為此,用一些類來(lái)實(shí)現(xiàn)上述目標(biāo)?;A(chǔ)架構(gòu)(FrameWork)包含的類、窗體、模塊:1 StructureItem 中文名:信息項(xiàng) 類型:CoClass功能:用于描述PFS和LFS的屬性信息項(xiàng)或者空間信息項(xiàng)關(guān)系:屬性&方法:無(wú)2 PointFileStructure 中文名:點(diǎn)要素文本文件結(jié)構(gòu)類型:CoClass功能:用于

14、描述點(diǎn)要素文本文件的結(jié)構(gòu)關(guān)系:包含若干個(gè)StructureItem,包含一個(gè)PointFeatureClass屬性&方法:Public LineCount As Integer 每個(gè)要素屬性的行數(shù)Public Property Set PointFeatureClass(ByVal pPointFeatureClass As IPointFeatureClass)設(shè)置所屬線要素類 Public Property Get PointFeatureClass() As IPointFeatureClass獲取所屬線要素類 Public Sub AddItem(ByRef pItem As

15、StructureItem)功能:增加點(diǎn)要素的屬性信息項(xiàng)參數(shù):pItem 待增加的屬性信息項(xiàng) Public Sub SetItems(pStructureItem() As StructureItem) 功能:設(shè)置點(diǎn)要素的屬性信息項(xiàng) 參數(shù):pStructureItem 用于設(shè)置的點(diǎn)要素屬性信息項(xiàng) Public Sub GetItems(pStructureItem() As StructureItem) 功能:獲取點(diǎn)要素的屬性信息項(xiàng) 參數(shù):out pStructureItem 用于返回的點(diǎn)要素屬性信息項(xiàng)的數(shù)組 Public Function GetItem(nItem As Integer)

16、As StructureItem 功能:獲取點(diǎn)要素nItem位置的屬性信息項(xiàng) 參數(shù):nItem 位置 返回值:nItem位置的屬性信息項(xiàng) Public Function GetItemCount() As Integer功能:獲取每個(gè)點(diǎn)要素包含的信息項(xiàng)數(shù)返回值:每個(gè)點(diǎn)要素包含的信息項(xiàng)數(shù) Public Function GetItemByName(sPropertyName As String) As StructureItem功能:獲取屬性名稱為sPropertyName的屬性信息項(xiàng)參數(shù): sPropertyName 屬性名稱返回值:屬性名稱為sPropertyName的屬性信息項(xiàng) Publi

17、c Function LoadFile(FileName As String) As Boolean功能:從名稱為FileName的文件加載PointFileStructure參數(shù): FileName 文件名稱返回值:true 成功 false 失敗 Public Sub EditPFS()打開(kāi)frmPFSEditor來(lái)編輯文件結(jié)構(gòu) Public Function SaveFile(FileName As String) As Boolean功能:保存PointFileStructure到名稱為FileName的文件參數(shù): FileName 文件名稱返回值:true 成功 false 失敗3

18、LineFileStructure 中文名:點(diǎn)要素文本文件結(jié)構(gòu)類型:CoClass功能:用于描述點(diǎn)要素文本文件的結(jié)構(gòu)關(guān)系:包含若干個(gè)StructureItem,包含一個(gè)PointFeatureClass屬性&方法: Public PropertyLineCount As Integer 每個(gè)要素屬性的行數(shù)Public SpaceLineCount As Integer 每個(gè)空間信息項(xiàng)所占的行數(shù)Public Property Set LineFeatureClass(pLineFeatureClass As ILineFeatureClass)設(shè)置所屬線要素類 Public Proper

19、ty Get LineFeatureClass() As ILineFeatureClass獲取所屬線要素類 Public Sub AddPropertyItem(pItem As StructureItem)功能:增加線要素的屬性信息項(xiàng)參數(shù):pItem 待增加的線要素屬性信息項(xiàng)Public Sub SetPropertyItems(pStructureItem() As StructureItem) 功能:設(shè)置線要素的屬性信息項(xiàng) 參數(shù):pStructureItem 用于設(shè)置的線要素屬性信息項(xiàng)Public Sub GetPropertyItems(pStructureItem() As Str

20、uctureItem) 功能:獲取線要素的屬性信息項(xiàng) 參數(shù):out pStructureItem 用于返回的線要素屬性信息項(xiàng)的數(shù)組Public Function GetPropertyItem(nItem As Integer) As StructureItem 功能:獲取線要素nItem位置的屬性信息項(xiàng) 參數(shù):nItem 位置 返回值:nItem位置的屬性信息項(xiàng)Public Function GetPropertyItemCount() As Integer功能:獲取每個(gè)線要素包含的信息項(xiàng)數(shù)返回值:每個(gè)線要素包含的信息項(xiàng)數(shù)Public Function GetPropertyItemByNa

21、me(sPropertyName As String) As StructureItem功能:獲取屬性名稱為sPropertyName的屬性信息項(xiàng)參數(shù): sPropertyName 屬性名稱返回值:屬性名稱為sPropertyName的屬性信息項(xiàng)Public Function LoadFile(FileName As String) As Boolean功能:從名稱為FileName的文件加載LineFileStructure參數(shù): FileName 文件名稱返回值:true 成功 false 失敗Public Function SaveFile(FileName As String) As

22、Boolean功能:保存LineFileStructure到名稱為FileName的文件參數(shù): FileName 文件名稱返回值:true 成功 false 失敗Public Sub EditLFS()打開(kāi)frmLFSEditor來(lái)編輯文件結(jié)構(gòu)Public Sub AddSpaceItem(pItem As StructureItem)功能:增加組成線要素的點(diǎn)的信息項(xiàng)參數(shù):pItem 待增加的組成線要素的點(diǎn)的信息項(xiàng)Public Sub SetSpaceItems(ByRef pStructureItem() As StructureItem)功能:用pStructureItem來(lái)設(shè)置組成線要素

23、的點(diǎn)的信息項(xiàng)參數(shù):pStructureItem 用來(lái)設(shè)置組成線要素的點(diǎn)的信息項(xiàng)Public Sub GetSpaceItems(pStructureItem() As StructureItem)功能:用pStructureItem來(lái)獲取組成線要素的點(diǎn)的信息項(xiàng)參數(shù):pStructureItem 用來(lái)獲取組成線要素的點(diǎn)的信息項(xiàng)數(shù)組Public Function GetSpaceItem(nItem As Integer) As StructureItem功能:獲取組成線要素的點(diǎn)的信息項(xiàng),位置為nItem參數(shù):nItem 位置返回值:位置為nItem,組成線要素的點(diǎn)的信息項(xiàng)Public Funct

24、ion GetSpaceItemCount() As Integer功能:獲取組成線要素的點(diǎn)的信息項(xiàng)數(shù)返回值:組成線要素的點(diǎn)的信息項(xiàng)數(shù)Public Function GetSpaceItemByName(sPropertyName As String) As StructureItem功能:獲取組成線要素的點(diǎn)的信息項(xiàng),信息項(xiàng)名稱為sPropertyName參數(shù):sPropertyName 信息項(xiàng)名稱返回值:名稱為sPropertyName的信息項(xiàng)4 PointFile中文名:點(diǎn)要素文本文件類型:CoClass功能:根據(jù)PFS把點(diǎn)要素文本文件轉(zhuǎn)換為線要素并加入ImportDirector.Imp

25、ortWorkspace的點(diǎn)要素集關(guān)系:包含一個(gè)點(diǎn)要素文本文件的結(jié)構(gòu)PFS,包含一個(gè)對(duì)ImportDirector的引用屬性&方法: Public FileName As String 文本文件名Public Property Get ImportDirector() As ImportDirector獲取對(duì)ImportDirector的引用Public Property Set ImportDirector(pImportDirector As ImportDirector) 設(shè)定對(duì)ImportDirector的引用Private Sub ParseText(sPointText()

26、 As String, sPropertyStrings() As String)功能:把包含要素信息的文本根據(jù)m_pPointFileStructure解析為若干個(gè)子項(xiàng)參數(shù):sPointText 待解析的文本參數(shù):sPropertyStrings 解析后的文本例如:sPointTextP2222382560.964 64827.347 1886.139 污水檢修井 塑料 0.0000 179170P001 EP2815 0546P008 Public Function File2Features() As Boolean功能:讀取文本文件,并獲得點(diǎn)要素的信息,調(diào)用ParseText來(lái)完成轉(zhuǎn)換

27、返回值:TRUE 無(wú)錯(cuò)誤,F(xiàn)ALSE有錯(cuò)誤Public Property Set PointFileStructure(pPointFileStructure As PointFileStructure) 設(shè)定PFSPublic Property Get PointFileStructure() As PointFileStructure 獲取PFS 5 LineFile中文名:線要素文本文件類型:CoClass功能:根據(jù)LFS把點(diǎn)要素文本文件轉(zhuǎn)換為線要素并加入ImportDirector.ImportWorkspace的線要素集關(guān)系:包含一個(gè)點(diǎn)要素文本文件的結(jié)構(gòu)PFS,包含一個(gè)對(duì)Import

28、Director的引用屬性&方法: Public FileName As String 文本文件名Public Property Get ImportDirector() As ImportDirector獲取對(duì)ImportDirector的引用Public Property Set ImportDirector(pImportDirector As ImportDirector) 設(shè)定對(duì)ImportDirector的引用 Private Sub ParsePropertyText(sLineText() As String, sPropertyStrings() As String)

29、功能:把包含要素屬性信息的文本按照屬性信息項(xiàng)的結(jié)構(gòu)解析為若干個(gè)子項(xiàng)參數(shù):sLineText 待解析的文本參數(shù):sPropertyStrings 解析后的文本例如:sLineText如下水泥 600 昆明市排水公司 0546 0546P008 05 Private Sub ParseSpaceText(sLineText() As String, sSpaceStrings() As String, nPointCount As Integer)功能:把包含空間信息的文本按照空間信息項(xiàng)的結(jié)構(gòu)解析為若干個(gè)子項(xiàng)參數(shù):sLineText 待解析的文本參數(shù):sSpaceStrings 解析后的文本參數(shù):

30、nPointCount線包含的點(diǎn)數(shù)e.g. 如果sLineText如下:82496.755 64824.296 0 2.1582560.964 64827.347 1.96 1.9682563.860 64827.663 1.86 1.8682562.951 64796.443 0.88 0.8882563.553 64784.549 0.74 0那么:nPointCount=5sSpaceStrings為82496.75564824.29602.1582560.96464827.3471.961.9682563.86064827.6631.861.8682562.95164796.4430.

31、880.8882563.55364784.5490.740Public Function File2Features() As Boolean 功能:讀取文本文件,并獲得要素的屬性和空間信息,調(diào)用ParsePropertyText和ParseSpaceText來(lái)完成轉(zhuǎn)換 返回值:TRUE 無(wú)錯(cuò)誤,F(xiàn)ALSE有錯(cuò)誤Public Property Set LineFileStructure(pLineFileStructure As LineFileStructure)設(shè)定LFSPublic Property Get LineFileStructure() As LineFileStructure

32、獲得LFS6 IPointFeatureClass中文名:點(diǎn)要素類類型:Abstract功能:1.為ImportWorkspace類提供PFS文件有效性驗(yàn)證2.管理特定類型的點(diǎn)要素類:如排水井3.創(chuàng)建特定類型的點(diǎn)要素:如排水井4.創(chuàng)建特定類型的點(diǎn)要素文本文件結(jié)構(gòu):如排水井的文本文件結(jié)構(gòu)關(guān)系:包含一個(gè)點(diǎn)要素文本文件的結(jié)構(gòu)PFS,包含一個(gè)對(duì)ImportDirector的引用關(guān)系:實(shí)例化點(diǎn)要素文本文件的結(jié)構(gòu)PFS,實(shí)例化點(diǎn)要素屬性&方法: Public Function GetFeatureClassName() As String 獲得要素類名稱Public Function GetPro

33、pertyName(Index As Integer) As String 獲得指定位置的要素類文本文件定義的某個(gè)屬性名稱Public Function CreatePointFileStructure() As PointFileStructure 創(chuàng)建點(diǎn)要素文本文件結(jié)構(gòu)Public Function CreatePointFeature(PropertyStrings() As String) As IPointFeature根據(jù)從文本文件獲得的屬性屬性值創(chuàng)建點(diǎn)要素:如排水井Public Function GetPropertyCount() As Integer 獲得要素類文本文件定義的

34、屬性個(gè)數(shù)7 LineFeatureClass中文名:線要素類類型:Abstract功能:該接口的功能:1.為ImportWorkspace類提供PFS文件有效性驗(yàn)證2.管理特定類型的線要素類:如排水管線3.創(chuàng)建特定類型的線要素:如排水管線4.創(chuàng)建特定類型的線要素文本文件結(jié)構(gòu):如排水管線的文本文件結(jié)構(gòu)關(guān)系:實(shí)例化線要素文本文件的結(jié)構(gòu)LFS,實(shí)例化線要素屬性&方法: Public Function GetFeatureClassName() As String 獲得要素類名稱 Public Function GetPropertyName(Index As Integer) As Stri

35、ng 獲取屬性信息第index項(xiàng)的屬性名Public Function GetSpaceName(Index As Integer) As String 獲取組成線要素的點(diǎn)的空間信息 第index項(xiàng)的名稱Public Function CreateLineFileStructure() As LineFileStructure 創(chuàng)建特定類型的線要素文本文件結(jié)構(gòu):如排水管線線的文本文件結(jié)構(gòu)Public Function CreateLineFeature(PropertyStrings() As String, SpaceStrings() As String) As ILineFeature功

36、能:創(chuàng)建線要素參數(shù):PropertyStrings 要素屬性信息參數(shù):SpaceStrings 組成線要素的點(diǎn)的空間信息返回值:創(chuàng)建的特定類型的線要素文本文件結(jié)構(gòu)remarks: PropertyStrings()的首個(gè)為空間信息項(xiàng)的數(shù)量Public Function GetPropertyCount() As Integer 每個(gè)線要素的屬性信息項(xiàng)數(shù)Public Function GetSpaceCount() As Integer 組成線要素的點(diǎn)的空間信息項(xiàng)數(shù)8 IPointFeature中文名:點(diǎn)要素類型:Abstract功能:1.Text2PointFeature負(fù)責(zé)用字符串來(lái)初始化對(duì)

37、象,如果有錯(cuò)誤,返回false2.X,Y為空間信息3.SourceFile為要素所在的源文件屬性&方法:Public Property Let SourceFile(ByVal FileName As String)功能:設(shè)置要素所在的源文件Public Property Get SourceFile() As String功能:獲取要素所在的源文件Public Property Get Point() As esriCore.IPoint功能:獲取要素的點(diǎn)空間信息返回值:點(diǎn)Public Function Text2PointFeature(PropertyStrings() As S

38、tring) As Boolean功能:負(fù)責(zé)用字符串來(lái)初始化點(diǎn)要素對(duì)象,如果有錯(cuò)誤,返回false參數(shù):PropertyStrings() 描述點(diǎn)要素屬性信息的文本返回值:如果有錯(cuò)誤,返回false,否則返回true9 ILineFeature中文名:線要素類型:Abstract功能:1.Text2LineFeature負(fù)責(zé)用字符串來(lái)初始化線要素對(duì)象,如果有錯(cuò)誤,返回false2.SourceFile為要素所在的源文件3.獲取線要素的點(diǎn)數(shù)4.獲取組成線要素的點(diǎn)5.獲取組成線要素的線段數(shù)5.獲取組成線要素的線段關(guān)系:包含若干個(gè)LinePoint屬性&方法: Public Function

39、 Text2LineFeature(PropertyStrings() As String, SpaceStrings() As String) As Boolean功能:Text2LineFeature負(fù)責(zé)用字符串來(lái)初始化對(duì)象,如果有錯(cuò)誤,返回false參數(shù):PropertyStrings() 描述線要素屬性信息的文本參數(shù):SpaceStrings() 描述線要素空間信息的文本返回值:如果有錯(cuò)誤,返回false,否則返回truePublic Property Let SourceFile(ByVal FileName As String)功能:設(shè)置要素所在的源文件Public Propert

40、y Get SourceFile() As String功能:獲取要素所在的源文件Public Property Get PointCount() As Integer功能:獲取線要素的點(diǎn)數(shù)返回值:線要素的點(diǎn)數(shù)Public Function GetPoint(Index As Integer) As LinePoint功能:獲取線要素的點(diǎn)參數(shù):Index 第Index個(gè)點(diǎn)(從0開(kāi)始算起)返回值:線要素的點(diǎn)Public Function GetSegment(Index As Integer) As esriCore.IGeometry功能:獲取線要素的線段參數(shù):Index 第Index個(gè)線段(

41、從0開(kāi)始算起)返回值:線要素的線段Public Property Get SegmentCount() As Integer功能:獲取線要素的線段數(shù)返回值:線要素的線段數(shù)10 LinePoint中文名:線要素類型:CoCreable功能:該類用于描述組成線要素的點(diǎn)關(guān)系:屬性&方法:Public Property Let ToZ(ByVal Z As Single)Public Property Get ToZ() As Single后向埋深Public Property Let FromZ(Z As Single)Public Property Get FromZ() As Singl

42、e前向埋深 Public Sub Text2Point(SpaceStrings() As String)功能:用文本來(lái)初始化對(duì)象SpaceStrings用文本來(lái)初始化對(duì)象Public Property Set Point(pPoint As IPoint)Public Property Get Point() As IPoint點(diǎn)的空間信息11 ColObject中文名:對(duì)象集類型:CoCreable功能:該類用于存放各種Object關(guān)系:包含若干個(gè)Object屬性&方法:Public Function Add(pObject As Object, Optional sKey As

43、String) As Object功能:添加元素參數(shù):pObject 待添加的元素參數(shù):sKey 鍵返回值:添加的元素Public Property Get Item(ByVal IndexKey As Long) As Object功能:獲取元素參數(shù):IndexKey 位置返回值:IndexKey 位置的元素Public Property Get Count() As Long功能:獲取元素個(gè)數(shù)返回值:元素個(gè)數(shù)Public Sub RemoveAll()功能:刪除所有元素Public Sub Remove(ByVal IndexKey As Long)功能:刪除IndexKey 位置的元素參

44、數(shù):IndexKey 位置12 IImportWorkspace中文名:導(dǎo)入工作空間類型:Abstract功能:1.為ImportDirector類提供Datast有效性驗(yàn)證2.管理特定類型的線要素類和點(diǎn)要素類:如排水井、排水管線3.和特定類型的線要素類和點(diǎn)要素類共同完成文本到數(shù)據(jù)集的轉(zhuǎn)換remarks: 每個(gè)具體的ImportWorkspace需要保存對(duì)ImportDirector的引用關(guān)系:包含兩個(gè)ColObject,分別用于存放點(diǎn)要素和線要素,包含一個(gè)ImportDirector的引用,包含一個(gè)對(duì)Dataset的引用,該Dataset為存儲(chǔ)要素的數(shù)據(jù)集屬性&方法:Public P

45、roperty Set ImportDirector(pImportDirector As ImportDirector)設(shè)置對(duì)ImportDirector的引用Public Property Get ImportDirector() As ImportDirector返回對(duì)ImportDirector的引用Public Function Import() As Boolean功能:負(fù)責(zé)從文本文件導(dǎo)入到數(shù)據(jù)集返回值:true成功false失敗Public Function VerifyDataset(pDataset As IDataset) As Boolean 驗(yàn)證數(shù)據(jù)集是否有效Publi

46、c Property Get LineFeatures() As ColObject 獲取線要素文件Public Function RollBack() As BooleanCalled if import fails to cancel all transactionsPublic Property Get PointFeatures() As ColObject 獲取點(diǎn)要素文件Public Property Set Dataset(pDataset As IDataset) 設(shè)置數(shù)據(jù)集Public Property Get Dataset() As IDataset 獲取數(shù)據(jù)集Public

47、 Property Get LFC() As ILineFeatureClass 獲取線要素類Public Property Get PFC() As IPointFeatureClass 獲取點(diǎn)要素類Public Function BeforeSnap(pLineFeature As IFeature, pPointFeature As IFeature, bIsFromPoint As Boolean) As BooleanCalled before snap a line to a point to do some preprocessing and to judge whether t

48、he line can be snapped to the pointPublic Sub LineSnapped2Point(pLineFeature As IFeature, pPointFeature As IFeature, bIsFromPoint As Boolean)Called after point inserted and line snapped to the inserted point feature to update the LineFeature and the point featurePublic Sub LineAttached2Point(pLineFe

49、ature As IFeature, pPointFeature As IFeature, bIsFromPoint As Boolean)Called after Line inserted and snapped to a point feature to update the LineFeature and the point featurePublic Function InsertPoint(pPointFeature As IPointFeature, pFeatureClass As IFeatureClass) As LongCalled by ImportDirector.I

50、mport to insert Point into datasetPublic Function InsertLine(pLineFeature As ILineFeature) As BooleanCalled by ImportDirector.Import to insert line into dataset,return false if fail13 ImportDirector中文名:導(dǎo)入工作空間類型:CoCreable功能: 1.設(shè)置ImportWorkspace需要的Datast2. 設(shè)置ImportWorkspace需要的點(diǎn)要素集和線要素集. 設(shè)置點(diǎn)文本文件、線文本文件L

51、FS文件,PFS文件有效性驗(yàn)證并把文本文件轉(zhuǎn)換為點(diǎn)要素集和線要素集3.調(diào)用ImportWorkspace的import方法完成導(dǎo)入或者取消(rollback)導(dǎo)入(遇到錯(cuò)誤時(shí))關(guān)系:包含一個(gè)ImportWorkspace As IImportWorkspace一個(gè)frmImport一個(gè)frmLogViewer一個(gè)frmProcessor屬性&方法: 該類的功能(import方法):1.用fImport設(shè)置m_pImportWorkspace需要的Datast2 .用fImport設(shè)置m_pImportWorkspace需要點(diǎn)要素集和線要素集.frmImport導(dǎo)入點(diǎn)文本文件、線文本文件LFS文件,PFS文件

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論