Buscar este blog

jueves, 19 de abril de 2012

Create shapefile

Private Sub createShape(ByVal lista As ArrayList)
Try
Dim j As Integer
Dim strFolder As String = "C:\\tmp"
Dim strShapeFieldName As String = "Shape"
Dim pWorkspaceFactory As ShapefileWorkspaceFactory = New ShapefileWorkspaceFactoryClass()
Dim pFWS As IFeatureWorkspace = pWorkspaceFactory.OpenFromFile(strFolder, 0)

Dim pFields As IFields = New FieldsClass()
Dim pFieldsEdit As IFieldsEdit = pFields
Dim pField As IField = New FieldClass()
Dim pFieldEdit As IFieldEdit = pField
pFieldEdit.Name_2 = strShapeFieldName
pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry


Dim pGeomDef As IGeometryDef = New GeometryDefClass()
Dim pGeomDefEdit As IGeometryDefEdit = pGeomDef
pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolyline
pFieldEdit.GeometryDef_2 = pGeomDef

pFieldsEdit.AddField(pField)



Dim pFeatClass As IFeatureClass = pFWS.CreateFeatureClass("asd", pFields, Nothing, Nothing, esriFeatureType.esriFTSimple, strShapeFieldName, "")
For j = 0 To lista.Count - 1


Dim fb As IFeatureBuffer = pFeatClass.CreateFeatureBuffer()
Dim Feature As IFeature = pFeatClass.CreateFeature()
Dim FeatureCursor As IFeatureCursor = pFeatClass.Insert(True)

fb.Shape = lista(j)
FeatureCursor.InsertFeature(fb)
FeatureCursor.Flush()

Next
Catch ex As Exception
Throw ex
End Try
End Sub Carlos Javier Martín Cano