Vb.net+ArcEngineÉú³Éµã״ͼ²ãµÄËÙ¶ÈÌ«ÂýÁ˸ÃÔõô°ì£¿ÓÉÓÚÎÒ×öµÄÊÇÔ¤¾¯Ô¤±¨ÏµÍ³£¬ËٶȾ¡¿ÉẠ̈ܶ¬ÏÖÔÚÉú³ÉÈ«²¿µãÒªºÃ¼¸Ì죬ÕâҲ̫ÂýÁË£¬¸ù±¾¾Í²»ÊÊÓã¬ÇëÎÊÓÐʲôºÃµÄ°ì·¨½â¾öÂð£¿ÎҵĴúÂëÈçÏ£ºCODE: Public Sub dianshengcheng()
Dim filePath As String = My.Computer.FileSystem.CurrentDirectory & "\ResultsFileName"
If System.IO.File.Exists(filePath & "\µã.shp") Then
MessageBox.Show("µãÎļþÒÑ´æÔÚ")
Main.AxMapControl1.AddShapeFile(filePath, "µã")
Else
Dim pShpWksFact As IWorkspaceFactory = New ShapefileWorkspaceFactory()
Dim pFeatWks As IFeatureWorkspace
pFeatWks = CType(pShpWksFact.OpenFromFile(filePath, 0), IFeatureWorkspace)
Const strShapeFieldName As String = "shape"
Dim pFields1 As IFields
Dim pFieldsEdit1 As IFieldsEdit
pFields1 = New FieldsClass()
pFieldsEdit1 = CType(pFields1, IFieldsEdit)
Dim pField1 As IField = New FieldClass()
Dim pFieldEdit1 As IFieldEdit = New FieldClass()
pFieldEdit1.Name_2 = strShapeFieldName
pFieldEdit1.Type_2 = esriFieldType.esriFieldTypeGeometry
pField1 = CType(pFieldEdit1, IField)
Dim pGeomDef1 As IGeometryDef = New GeometryDefClass()
Dim pGeomDefEdit1 As IGeometryDefEdit = New GeometryDefClass()
pGeomDefEdit1 = CType(pGeomDef1, IGeometryDefEdit)
pGeomDefEdit1.GeometryType_2 = esriGeometryType.esriGeometryPoint
pGeomDefEdit1.SpatialReference_2 = Main.AxMapControl1.Map.SpatialReference
'pGeomDefEdit1.HasZ_2 = True
pFieldEdit1.GeometryDef_2 = pGeomDef1
pFieldsEdit1.AddField(pField1)
pFields1 = CType(pFieldsEdit1, IFields)
pField1 = New Field
pFieldEdit1 = pField1
With pFieldEdit1
pFieldEdit1.Length_2 = 10
pFieldEdit1.Name_2 = "ζÈ"
pFieldEdit1.Type_2 = esriFieldType.esriFieldTypeDouble
End With
pFieldsEdit1.AddField(pField1)
pField1 = New Field
pFieldEdit1 = pField1
With pFieldEdit1
pFieldEdit1.Length_2 = 10
pFieldEdit1.Name_2 = "ÑζÈ"
pFieldEdit1.Type_2 = esriFieldType.esriFieldTypeDouble
End With
pFieldsEdit1.AddField(pField1)
pField1 = New Field
pFieldEdit1 = pField1
With pFieldEdit1
pFieldEdit1.Length_2 = 10
pFieldEdit1.Name_2 = "Ë®ÖÊÖ¸±ê"
pFieldEdit1.Type_2 = esriFieldType.esriFieldTypeDouble
End With
pFieldsEdit1.AddField(pField1)
Dim pFeatureClass1 As IFeatureClass
pFeatureClass1 = pFeatWks.CreateFeatureClass("µã", pFields1, Nothing, Nothing, esriFeatureType.esriFTSimple, strShapeFieldName, "")
Dim pPointCol As IPointCollection = New MultipointClass()
Dim sr As StreamReader = New StreamReader(My.Computer.FileSystem.CurrentDirectory & "\shu\dianceng.txt")
Dim str As String = sr.ReadLine()
While str IsNot Nothing
Dim strs() As String = Regex.Split(str, " ")
Dim x As Double = Convert.ToDouble(strs(0))
Dim y As Double = Convert.ToDouble(strs(1))
Dim t As Double = Convert.ToDouble(strs(2))
Dim s As Double = Convert.ToDouble(strs(3))
Dim c As Double = Convert.ToDouble(strs(4))
Dim pPoint As IPoint = New PointClass()
pPoint.X = x
pPoint.Y = y
Dim missing As Object = Type.Missing
pPointCol.AddPoint(pPoint, missing, missing)
str = sr.ReadLine()
Dim i As Integer
For i = 0 To pPointCol.PointCount - 1 Step 1
Dim newFeature As IFeature = pFeatureClass1.CreateFeature
newFeature.Shape = pPointCol.Point(i)
newFeature.Value(newFeature.Fields.FindField("ζÈ")) = t
newFeature.Value(newFeature.Fields.FindField("ÑζÈ")) = s
newFeature.Value(newFeature.Fields.FindField("Ë®ÖÊÖ¸±ê")) = c
newFeature.Store()
Next
End While
Main.AxMapControl1.Refresh()
Main.AxMapControl1.AddShapeFile(filePath, "µã")
MessageBox.Show("Îļþ´´½¨³É¹¦")
End If
End Sub
[ Last edited by zzahkj on 2011-5-6 at 15:36 ]