阅读:1360回复:1
[原创]编辑空间数据库
请大家帮帮忙,如何给一图层的空间数据库添加新字段(征求代码)?
|
|
1楼#
发布于:2007-03-16 17:11
<FONT color=#0000ff>Public Function</FONT> CreateShapefile(sPath <CODE><FONT color=#0000ff>As String</FONT></CODE>, sName <CODE><FONT color=#0000ff>As String</FONT></CODE>) <CODE><FONT color=#0000ff>As</FONT></CODE> IFeatureClass <CODE><FONT color=#008000>' Dont include .shp extension</FONT></CODE><BR> <BR> <CODE><FONT color=#008000>' Open the folder to contain the shapefile as a workspace</FONT></CODE><BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pFWS <CODE><FONT color=#0000ff>As</FONT></CODE> IFeatureWorkspace<BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pWorkspaceFactory <CODE><FONT color=#0000ff>As</FONT></CODE> IWorkspaceFactory<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pWorkspaceFactory = <CODE><FONT color=#0000ff>New</FONT></CODE> ShapefileWorkspaceFactory<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pFWS = pWorkspaceFactory.OpenFromFile(sPath, 0)<BR> <BR> <CODE><FONT color=#008000>' Set up a simple fields collection</FONT></CODE><BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pFields <CODE><FONT color=#0000ff>As</FONT></CODE> <FONT style="BACKGROUND-COLOR: #0a246a" color=#ffffff>IFields</FONT><BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pFieldsEdit <CODE><FONT color=#0000ff>As</FONT></CODE> IFieldsEdit<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pFields = <CODE><FONT color=#0000ff>New</FONT></CODE> Fields<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pFieldsEdit = pFields<BR> <BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pField <CODE><FONT color=#0000ff>As</FONT></CODE> <FONT style="BACKGROUND-COLOR: #0a246a" color=#ffffff>IField</FONT><BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pFieldEdit <CODE><FONT color=#0000ff>As</FONT></CODE> IFieldEdit<BR> <BR> <CODE><FONT color=#008000>' Make the shape field</FONT></CODE><BR> <CODE><FONT color=#008000>' it will need a geometry definition, with a spatial reference</FONT></CODE><BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pField = <CODE><FONT color=#0000ff>New</FONT></CODE> Field<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pFieldEdit = pField<BR> pFieldEdit.Name = "Shape"<BR> pFieldEdit.Type = esriFieldTypeGeometry<BR> <BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pGeomDef <CODE><FONT color=#0000ff>As</FONT></CODE> IGeometryDef<BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pGeomDefEdit <CODE><FONT color=#0000ff>As</FONT></CODE> IGeometryDefEdit<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pGeomDef = <CODE><FONT color=#0000ff>New</FONT></CODE> GeometryDef<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pGeomDefEdit = pGeomDef<BR> <CODE><FONT color=#0000ff>With</FONT></CODE> pGeomDefEdit<BR> .GeometryType = esriGeometryPolygon<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> .SpatialReference = <CODE><FONT color=#0000ff>New</FONT></CODE> UnknownCoordinateSystem<BR> <CODE><FONT color=#0000ff>End With<BR> Set</FONT></CODE> pFieldEdit.GeometryDef = pGeomDef<BR> pFieldsEdit.AddField pField<BR><BR> <CODE><FONT color=#008000>' Add another miscellaneous text field</FONT></CODE><BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pField = <CODE><FONT color=#0000ff>New</FONT></CODE> Field<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pFieldEdit = pField<BR> <CODE><FONT color=#0000ff>With</FONT></CODE> pFieldEdit<BR> .Length = 30<BR> .Name = "MiscText"<BR> .Type = esriFieldTypeString<BR> <CODE><FONT color=#0000ff>End With</FONT></CODE><BR> pFieldsEdit.AddField pField<BR> <BR> <CODE><FONT color=#008000>' Create the shapefile</FONT></CODE><BR> <CODE><FONT color=#008000>' (some parameters apply to geodatabase options and can be defaulted as Nothing)</FONT></CODE><BR> <CODE><FONT color=#0000ff>Dim</FONT></CODE> pFeatClass <CODE><FONT color=#0000ff>As</FONT></CODE> IFeatureClass<BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> pFeatClass = pFWS.CreateFeatureClass(sName, pFields, <CODE><FONT color=#0000ff>Nothing</FONT></CODE>, _<BR> <CODE><FONT color=#0000ff>Nothing</FONT></CODE>, esriFTSimple, "Shape", "")<BR> <BR> <CODE><FONT color=#0000ff>Set</FONT></CODE> CreateShapefile = pFeatClass<BR><CODE><FONT color=#0000ff>End Function</FONT></CODE><BR><BR>跟这个类似,帮助里有很多例子的,多看看
|
|
|