【ACCESS精品源码栏目提醒】:网学会员在ACCESS精品源码频道为大家收集整理了“【精品】AE创建各种类型的featureclass代码 - 其它资料“提供大家参考,希望对大家有所帮助!
AE 中新建 shapefile,自定义字段代码由 ESRI 社区 GIScafe 提供 IFields pFields new FieldsClass IFieldsEdit pFieldsEdit pFields as IFieldsEdit IField pField new FieldClass IFieldEdit pFieldEdit pField as IFieldEdit pFieldEdit.Name_2 quotshapequot pFieldEdit.Type_2 esriFieldType.esriFieldTypeGeometry //set up Geometry Definition IGeometryDef pGeometryDef new GeometryDefClass IGeometryDefEdit pGeometryDefEdit pGeometryDef as IGeometryDefEdit pGeometryDefEdit.GeometryType_2 esriGeometryType.esriGeometryPoint //Pointlinepolygon et. pGeometryDefEdit.SpatialReference_2 axMapControl1.SpatialReference pFieldEdit.GeometryDef_2 pGeometryDef pFieldsEdit.AddFieldpField //新建字段 pField new FieldClass pFieldEdit pField as IFieldEdit pFieldEdit.Length_2 15 pFieldEdit.Name_2 quotSchoolNamequot pFieldEdit.AliasName_2 quotSchoolNamequot pFieldEdit.Type_2 esriFieldType.esriFieldTypeString pFieldsEdit.AddFieldpField string mappath quotE:dataquot string layernamequotschoolquot IWorkspaceFactory pWorkspaceFactory new ShapefileWorkspaceFactory IFeatureWorkspace pFeatureWorkspace pWorkspaceFactory.OpenFromFilemappath0 as IFeatureWorkspace pFeatureWorkspace.CreateFeatureClasslayernamequot.shpquotpFieldsnullnullesriFeatureType.esriFTSimplequotshapequotquotquot axMapControl1.AddShapeFilemappathlayernamequot.shpquot代码中路径名称可以自定义posted on 2008-07-12 15:28 duckweeds 阅读137 评论0 编辑 收藏 网摘 所属分类:AECAE 创建各种类型的 featureclass 代码 VB.Net 源码 ltsummarygt 创建 Annotation 类型的 featureclass lt/summarygt ltparam namequotpWorkspacequotgtannotation 的工作空间lt/paramgt ltparam namequotpTextSymbolquotgtannotation 的 symbollt/paramgt ltparam namequotpRefeScalequotgtannotation 的比例lt/paramgt ltparam namequotpAnnoFeatNamequotgtannotation 的名称lt/paramgt ltreturnsgt创建的 Annotation Featureclasslt/returnsgt ltremarksgtlt/remarksgt Private Function CreateAnnoFeatClsByVal pWorkspace As IFeatureWorkspace ByVal pTextSymbol AsITextSymbol ByVal pRefeScale As Double ByVal pAnnoFeatName As String Optional ByVal pSymbolID AsInteger 0 As IFeatureClass Dim pField As IField Dim pFields As IFields Dim pSource As IClone Dim pObjectClassDesc As IObjectClassDescription Dim pFeatClassDesc As IFeatureClassDescription 创建 Annotation 的 Fields pObjectClassDesc New AnnotationFeatureClassDescription pFeatClassDesc pObjectClassDesc pSource pObjectClassDesc.RequiredFields pFields pSource.Clone 创建 Annotation 的 Geometry defintion pField pFields.FieldpFields.FindFieldpFeatClassDesc.ShapeFieldName 创建 Reference scale Dim pGraphicsLayerScale As IGraphicsLayerScalepGraphicsLayerScale New GraphicsLayerScalepGraphicsLayerScale.ReferenceScale pRefeScalepGraphicsLayerScale.Units esriUnits.esriMeters创建 SymbolcollectionDim pSymbolColl As ISymbolCollection2Dim pSymbolIdent As ISymbolIdentifier2 New SymbolIdentifierpSymbolColl New SymbolCollectionpSymbolColl.AddSymbolpTextSymbol quotDefaultquot pSymbolIdentIf pSymbolID 1 Then pSymbolColl.AddSymbolpTextSymbol quotDefault 1quot pSymbolIdent创建 Label 的相关属性Dim pOverposterProperties As IOverposterPropertiesDim pAnnoPropsColl As IAnnotateLayerPropertiesCollectionDim pLabelEngineLP As ILabelEngineLayerProperties DimpAnnotateLayerProps As IAnnotateLayerPropertiespOverposterProperties New BasicOverposterPropertiespAnnoPropsColl New AnnotateLayerPropertiesCollectionpLabelEngineLP New LabelEngineLayerPropertiespAnnotateLayerProps pLabelEngineLPpAnnotateLayerProps.Class quotDefaultquotpLabelEngineLP.Symbol pTextSymbolpLabelEngineLP.SymbolID pSymbolIdent.IDpAnnoPropsColl.AddpLabelEngineLP 创建 Annotation layer Dim pAnnoLayerFactory As IAnnotationLayerFactory Dim pAnnoLayer As IAnnotationLayer pAnnoLayerFactory New FDOGraphicsLayerFactory pAnnoLayer pAnnoLayerFactory.CreateAnnotationLayerpWorkspace Nothing pAnnoFeatNamepField.GeometryDef Nothing pAnnoPropsColl pGraphicsLayerScale pSymbolColl False False False TruepOverposterProperties quotquot Return CTypepAnnoLayer IFeatureLayer.FeatureClass End Function ltsummarygt 创建存于 Shapefile 中的 featureclass lt/summarygt ltparam namequotsDirquotgtlt/paramgt ltparam namequotsNamequotgtlt/paramgt ltparam namequotshapeTypequotgtlt/paramgt ltparam namequothasMquotgtlt/paramgt ltparam namequothasZquotgtlt/paramgt ltparam namequotpSRquotgtlt/paramgt ltparam namequotpFieldsquotgtlt/paramgt ltreturnsgtlt/returnsgt ltremarksgtlt/remarksgt Public Shared Function CreateShapefileByVal sDir As String ByVal sName As String ByVal shapeType AsesriGeometryType _ ByVal hasM As Boolean ByVal hasZ As Boolean ByVal pSR As ISpatialReference ByVal pFields As IFieldsAs IFeatureClass Try Dim shapeWorkspaceFactory As IWorkspaceFactory shapeWorkspaceFactory New ShapefileWorkspaceFactory Dim shapeWorkspace As IFeatureWorkspace shapeWorkspace shapeWorkspaceFactory.OpenFromFilesDir 0 If Not shapeWorkspace Is Nothing Then If pFields Is Nothing Then pFields CreateBasicFieldsshapeType hasM hasZ pSR Dim pFClass As IFeatureClass pFClass shapeWorkspace.CreateFeatureClasssName pFields Nothing NothingesriFeatureType.esriFTSimple quotShapequot quotquot Return pFClass End If Return Nothing Catch ex As Exception MsgBoxex.Message Return Nothing End Try End Function ltsummarygt 创建存于内存中的 Featureclass lt/summarygt ltparam namequotpFieldsquotgtlt/paramgt ltparam namequotfeatureClassNamequotgtlt/paramgt ltreturnsgtlt/returnsgt ltremarksgtlt/remarksgt Public Shared Function GetSimpleFeatureClassByVal pFields As IFields ByVal featureClassName As StringAs IFeatureClass Try Dim pSwf As IWorkspaceFactory New InMemoryWorkspaceFactory Dim pWorkspaceName As IWorkspaceName pSwf.Createquotquot quotMyWorkspacequot Nothing 0 Dim pFWS As IFeatureWorkspace CTypepWorkspaceName IName.Open Dim pFC As IFeatureClass pFWS.CreateFeatureClassfeatureClassName pFields Nothing NothingesriFeatureType.esriFTSimple quotShapequot Nothing Return pFC Catch ex As Exception Return Nothing End Try End Function ltsummarygt 创建存于 Access 中的 featureclass lt/summarygt ltparam namequotpFieldsquotgtlt/paramgt ltparam namequotpAccessPathquotgtlt/paramgt ltparam namequotpAccessNamequotgtlt/paramgt ltparam namequotfeatureClassNamequotgtlt/paramgt ltreturnsgtlt/returnsgt ltremarksgtlt/remarksgt Public Function CreateAccessFeatureClassByVal pFields As IFields ByVal pAccessPath As String ByValpAccessName As String ByVal featureClassName As String As IFeatureClass Try Dim pSwf As IWorkspaceFactory New ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactory Dim pWorkspaceName As IWorkspaceName pSwf.CreatepAccessPath pAccessName Nothing 0 Dim pFWS As IFeatureWorkspace CTypepWorkspaceName IName.Open pFields CreateBasicFieldsesriGeometryType.esriGeometryPoint False False NewUnknownCoordinateSystem Dim pFC As IFeatureClass pFWS.CreateFeatureClassfeatureClassName pFields Nothing NothingesriFeatureType.esriFTSimple quotShapequot Nothing Return pFC Catch ex As Exception Return Nothing End Try End FunctionAEC实现鹰眼功能——(二)(带鼠标拖动)vs2005AE9.2 实现,主要功能:鹰眼视图里面鼠标左键画红框,右键拖动代码中主视图为 Mapcontrol1,鹰眼视图为 MapControl2。