生活の跡

個人的な備忘録

シェープファイルをジオデータベースフィーチャクラスに一括変換する

概要

GISの操作は、シェープファイルよりジオデータベース形式の方が便利です。
処理が早く、フィールド名の文字数制限などもないため、
Esriも基本的にジオデータベース形式での操作を推奨しているようです。

ただ、保管されているGISデータはシェープファイルである場合が多いです。
そこで、シェープファイルを一括でジオデータベース形式に変換してみます。

環境

  • ArcGIS Pro 2.1
  • Jupyter Notebook(ArcGIS Pro 2.1 に付属)

手順

1. 出力先のジオデータベースを作成

ここでは work.gdb とします。

2. Jupyter Notebook で処理を実行

以下にコードを示します。ファイル名や出力先は変更してください。

import arcpy

# 出力するフィーチャクラスが存在する場合は上書きするように設定
arcpy.env.overwriteOutput = True

# 変換するシェープファイルのリスト
in_features = [
    'shp/sample1.shp',
    'shp/sample2.shp',
    'shp/sample3.shp',
    'shp/sample4.shp',
    'shp/sample5.shp'
]

# 変換後のフィーチャクラス名
out_names = [
    'out1',
    'out2',
    'out3',
    'out4',
    'out5'
]

# 出力先のファイルジオデータベース
out_location = 'work.gdb'

# シェープファイルをジオデータベース フィーチャクラスに変換
for shp, out_name in zip(in_features, out_names):
    
    arcpy.FeatureClassToFeatureClass_conversion(shp, out_location, out_name)

pro.arcgis.com

気になったこと

出力先がファイルジオデータベースの場合は、
FeatureClassToGeodatabase_conversion も使えます。
ただし、 arcpy.env.overwriteOutput = True としても上書きされません。

pro.arcgis.com