tiansheng
路人甲
路人甲
  • 注册日期2007-01-25
  • 发帖数11
  • QQ
  • 铜币21枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1360回复:1

[原创]编辑空间数据库

楼主#
更多 发布于:2007-03-16 17:08
请大家帮帮忙,如何给一图层的空间数据库添加新字段(征求代码)?
喜欢0 评分0
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>跟这个类似,帮助里有很多例子的,多看看
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
游客

返回顶部