GIS將地理空間數據表示爲矢量數據和柵格數據。矢量數據模型使用點、線和多邊形來表示具備清晰空間位置和邊界的空間要素,如控制點、河流和宗地等,每一個要素被賦予一個ID,以便與其屬性相關聯。柵格數據模型使用一個格網和格網元胞(像元)表明空間要素,元胞值表示該元胞位置的空間要素屬性。柵格數據模型適用於表示連續的要素,如海拔和降水量。ide
[矢量數據模型] [柵格數據模型]spa
目前PIE SDK支持多種數據格式的數據讀取,下面對矢量數據格式的數據讀取功能進行介紹。code
第一步orm |
獲取要讀取數據的數據集視頻 |
第二步blog |
從數據集裏面讀取須要讀取的信息教程 |
接口/類索引 |
方法/屬性接口 |
說明ip |
IFeatureDataset |
SpatialReference |
空間參考 |
IFeatureClass |
IFeature GetFeature (System.Int64 nFID) |
獲取要素類的一個要素 |
GetFeatureCount() |
獲得要素數量 |
|
GetFields() |
獲取全部字段 |
|
GetFeatureDataset () |
獲取掛載的矢量數據集 |
|
GetName() |
數據名稱 |
|
IFields |
GetFieldIndex() |
獲得字段的索引值 |
IFeatureCursor |
NextFeature |
獲取下一個要素 |
項目路徑 |
百度雲盤地址下/PIE示例程序/04數據操做/03矢量數據集的讀取 |
數據路徑 |
百度雲盤地址下/PIE示例數據/矢量數據/Shape/省級行政區.shp |
視頻路徑 |
百度雲盤地址下/PIE視頻教程/04數據操做/03矢量數據集的讀取.avi |
示例代碼 |
|
![]() 1 /// <summary> 2 /// 矢量數據的讀取 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void toolStripButton_ReadShpDataInfo_Click(object sender, EventArgs e) 7 { 8 //1.獲取要讀取的數據 9 ILayer layer = mapControlMain.FocusMap.GetLayer(0); 10 IFeatureClass featureClass = (layer as IFeatureLayer).FeatureClass; 11 12 //2.要素數據集信息的讀取 13 string fileName = featureClass.GetName(); 14 long featureCount = featureClass.GetFeatureCount(); 15 string spatialReference = featureClass.GetFeatureDataset().SpatialReference.Name;// featureClass.SpatialReference.ExportToWkt(); 16 string message = string.Format("數據名稱:{0};\r\n要素的數量:{1};\r\n數據空間參考:{2}", fileName, featureCount, spatialReference); 17 MessageBox.Show(message, string.Format("{0}數據的信息:", fileName)); 18 19 //要素的信息 20 IFeature feature = featureClass.GetFeature(0); 21 IFields fields = featureClass.GetFields(); 22 int fieldIndex = fields.GetFieldIndex("NAME"); 23 IField field = fields.GetField(fieldIndex); 24 string fieldValue = field.Name; 25 string fieldInfo = ""; 26 while (feature != null) 27 { 28 fieldInfo += fieldValue + "字段值爲:\r\n" + feature.GetValue(fieldValue) + "\r\n"; 29 MessageBox.Show(fieldInfo, "要素的信息"); 30 feature = null;//數據量太大,示例只讀取一條要素的信息 31 //feature = featureClass.GetNextFeature(); 32 } 33 } |