阅读:1419回复:1
帮忙看看 向shp中 添加元素的问题
<DIV>今天我发现我创建的shape 只能往里 添加 polygon .我就不明白貌似我的代码中也没设置 .莫非是默认的情况? 那我怎么改 才能往里添加 polyline 呢? Dim pFeatureWorkspace As IFeatureWorkspace<BR> Dim pWorkspaceFactory As IWorkspaceFactory<BR> Dim pFields As IFields<BR> Dim pFieldsEdit As IFieldsEdit<BR> Dim pField As IField<BR> Dim pFieldEdit As IFieldEdit<BR> Dim pGeometryDef As IGeometryDef<BR> Dim pGeometryDefEdit As IGeometryDefEdit<BR> Dim pFeatClass As IFeatureClass<BR> Dim sShapeFieldName As String<BR> Dim sNewShapeFileName As String<BR><BR><BR> ' On Error GoTo ErrorHandler<BR> sNewShapeFileName = Dir(sFilePath ; sFileName ; ".shp") '<BR> If (sNewShapeFileName <> "") Then<BR> MsgBox("文件已经存在")<BR> Exit Sub<BR> End If<BR><BR> sShapeFieldName = "Shape"<BR><BR> 'Open the folder to contain the shapefile as a workspace<BR> pWorkspaceFactory = New ShapefileWorkspaceFactory()<BR> pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(sFilePath, 0)<BR><BR> 'Set up a simple fields collection<BR> pFields = New FieldsClass()<BR> pFieldsEdit = pFields<BR> 'Make the shape field<BR> 'it will need a geometry definition, with a spatial reference<BR> pField = New FieldClass()<BR><BR> pFieldEdit = pField<BR> pFieldEdit.Name_2 = sShapeFieldName<BR> pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry<BR><BR> pGeometryDef = New GeometryDef()<BR> pGeometryDefEdit = pGeometryDef<BR> With pGeometryDefEdit<BR> .GeometryType_2 = 4<BR> .SpatialReference_2 = New UnknownCoordinateSystem()<BR> End With<BR> pFieldEdit.GeometryDef_2 = pGeometryDef<BR> pFieldsEdit.AddField(pField)<BR> options and can be defaulted as Nothing)<BR> Try<BR> pFeatClass = pFeatureWorkspace.CreateFeatureClass _<BR> (sFileName, pFields, Nothing, Nothing, 1, sShapeFieldName, "")<BR> Catch ex As Exception<BR> MessageBox.Show(ex.Message)<BR> End Try<BR><BR> pFeatClass.CreateFeature() ‘ 这里我创建一个空的元素,然后再用 属性表中看到 shape 字段值为 polygon<BR><BR> pFeat.Store()<BR> Exit Sub</DIV>
|
|
1楼#
发布于:2008-10-12 16:56
<P> .GeometryType_2 = 4 是polygon </P>
<P> =3 就是polyline</P><PRE><STRONG>esriGeometryNull </STRONG>= 0<BR><STRONG>esriGeometryPoint </STRONG>= 1<BR><STRONG>esriGeometryMultipoint </STRONG>= 2<BR><STRONG>esriGeometryPolyline </STRONG>= 3<BR><STRONG>esriGeometryPolygon </STRONG>= 4<BR><STRONG>esriGeometryEnvelope </STRONG>= 5<BR><STRONG>esriGeometryPath </STRONG>= 6<BR><STRONG>esriGeometryAny </STRONG>= 7<BR><STRONG>esriGeometryMultiPatch </STRONG>= 9<BR><STRONG>esriGeometryRing </STRONG>= 11<BR><STRONG>esriGeometryLine </STRONG>= 13<BR><STRONG>esriGeometryCircularArc </STRONG>= 14<BR><STRONG>esriGeometryBezier3Curve </STRONG>= 15<BR><STRONG>esriGeometryEllipticArc </STRONG>= 16<BR><STRONG>esriGeometryBag </STRONG>= 17<BR><STRONG>esriGeometryTriangleStrip </STRONG>= 18<BR><STRONG>esriGeometryTriangleFan </STRONG>= 19<BR><STRONG>esriGeometryRay </STRONG>= 20<BR><STRONG>esriGeometrySphere </STRONG>= 21</PRE> <P><BR> </P> |
|