VBA和ArcObject创建定义已知坐标系下的点图层

ArcGIS->Macros中定义tt()

Sub tt()
Const strFolder As String = "D:/shp"
  Const strName As String = "MyShapeFile" ' 不要加Shp后缀
  Const strShapeFieldName As String = "Shape"
  ' 打开用来放置ShapeFile文件的目录作为一个WorkSpace
  Dim pFWS As IFeatureWorkspace
  Dim pWorkspaceFactory As IWorkspaceFactory
  Set pWorkspaceFactory = New ShapefileWorkspaceFactory
  Set pFWS = pWorkspaceFactory.OpenFromFile(strFolder, 0)
  ' 设置一个简单的字段集合对象
  Dim pFields As IFields
  Dim pFieldsEdit As IFieldsEdit
  Set pFields = New Fields
  Set pFieldsEdit = pFields
  Dim pField As IField
  Dim pFieldEdit As IFieldEdit
  ' 创建一个Shape字段,它需要一个Geometry定义和空间引用对象
  Set pField = New Field
  Set pFieldEdit = pField
  pFieldEdit.Name = strShapeFieldName
  pFieldEdit.Type = esriFieldTypeGeometry
  '定义Geometry属性和空间引用
  Dim pGeomDef As IGeometryDef
  Dim pGeomDefEdit As IGeometryDefEdit
  Dim pSpatialReferenceFactory As ISpatialReferenceFactory
Set pSpatialReferenceFactory = New SpatialReferenceEnvironment
Set pGeomDef = New GeometryDef
  Set pGeomDefEdit = pGeomDef
  With pGeomDefEdit
    .GeometryType = esriGeometryPoint
    Set .SpatialReference = pSpatialReferenceFactory.CreateGeographicCoordinateSystem(4326)
  End With
  Set pFieldEdit.GeometryDef = pGeomDef
  pFieldsEdit.AddField pField

  ' 添加其它字段
  Set pField = New Field
  Set pFieldEdit = pField
  With pFieldEdit
      .Length = 8
      .Name = "MiscText"
      .Type = esriFieldTypeString
  End With
  pFieldsEdit.AddField pField
 
  '创建Shape文件,一些用于GeoDatabase的可选参数可以设置为Nothing
  Dim pFeatClass As IFeatureClass
  Set pFeatClass = pFWS.CreateFeatureClass(strName, pFields, Nothing, Nothing, esriFTSimple, strShapeFieldName, "")

End Sub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值