FAQ
新規シェープファイルを作成する方法

ナレッジ番号:5485 | 登録日:2023/07/27 | 更新日:2024/12/02

【概要】

新規シェープファイルを作成する方法を以下に示します。


【手順】

  1. ArcMapを起動します。

  2. Visual Basic Editorを開きます。

  3. プロジェクト・エクスプローラ・ウィンドウで、Projectの下にあるArcMap Objects > ThisDocumentをダブルクリックし、コード・ウィンドウを開きます。

  4. コード・モジュールに次のコードをペーストします。

    
    Sub CreateNewEmptyShapefile_Point()
    
      Const strFolder As String = "C:\temp"
      Const strName As String = "NewShapeFile" ' 必要に応じて変更(拡張子".shp"は含めないでください)
      Const strShapeFieldName As String = "Shape"
    
      ' シェープファイルを格納するフォルダ(ワークスペース)を開きます
      Dim pFWS As IFeatureWorkspace
      Dim pWorkspaceFactory As IWorkspaceFactory
      Set pWorkspaceFactory = New ShapefileWorkspaceFactory
      Set pFWS = pWorkspaceFactory.OpenFromFile(strFolder, 0)
    
      ' Fieldsコレクションをセットアップします
      Dim pFields As IFields
      Dim pFieldsEdit As IFieldsEdit
      Set pFields = New Fields
      Set pFieldsEdit = pFields
    
      Dim pField As IField
      Dim pFieldEdit As IFieldEdit
    
      ' Shapeフィールドを作成します
      ' Shapeフィールドにはジオメトリタイプ、空間参照を定義する必要があります
      Set pField = New Field
      Set pFieldEdit = pField
      pFieldEdit.Name = strShapeFieldName
      pFieldEdit.Type = esriFieldTypeGeometry
    
      Dim pGeomDef As IGeometryDef
      Dim pGeomDefEdit As IGeometryDefEdit
      Set pGeomDef = New GeometryDef
      Set pGeomDefEdit = pGeomDef
      With pGeomDefEdit
    
        '作成するジオメトリタイプに応じてコメントアウトする行を変更します
    
        .GeometryType = esriGeometryPoint 'ポイントシェープファイル
        '.GeometryType = esriGeometryPolyline 'ポリラインシェープファイル
        '.GeometryType = esriGeometryPolygon 'ポリゴンシェープファイル
    
        Set .SpatialReference = New UnknownCoordinateSystem
        '空間参照を設定する場合、上記1行をコメントし、以下の5行をコメントアウトします
        '(必要に応じて投影座標系定数を変更)
    
        ''新規シェープファイルの空間参照を設定します
        ' Dim pSpatRefFact As ISpatialReferenceFactory2
        ' Set pSpatRefFact = New SpatialReferenceEnvironment
        '
        ' Dim pGeoCoordSys As IProjectedCoordinateSystem
        ' Set pGeoCoordSys = pSpatRefFact.CreateProjectedCoordinateSystem _
        ' (
    esriSRProjCS_TokyoJapan9)
        '
        ' Set .SpatialReference = pGeoCoordSys
    
      End With
      Set pFieldEdit.GeometryDef = pGeomDef
      pFieldsEdit.AddField pField
    
      ' その他のフィールドとしてテキストフィールドを作成して追加します
      Set pField = New Field
      Set pFieldEdit = pField
      With pFieldEdit
        .Length = 25
        .Name = "TextField"
        .Type = esriFieldTypeString
      End With
      pFieldsEdit.AddField pField
    
      ' シェープファイルを作成します
      Dim pFeatClass As IFeatureClass
      Set pFeatClass = pFWS.CreateFeatureClass(strName, pFields, Nothing, _
        Nothing, esriFTSimple, strShapeFieldName, "")
    
    End Sub
    
    
  5. Visual Basic Editorを閉じます。

  6. コードを実行します。

    A:ArcMapで、ツール > マクロ > マクロと選択し、マクロ・ダイアログを表示します。

    B:マクロを選択し、実行をクリックします。

メタデータ

種類

機能

製品