読者です 読者をやめる 読者になる 読者になる

GIS奮闘記

現役GISエンジニアの技術紹介ブログ。主にPythonを使用。

ArcPyレシピ集① ~フィーチャクラスのカラム名の取得方法~

さて、本日から簡単なArcPyのレシピ集を書いてみたいと思います。もっといい方法があるよ!という方はご連絡いただけると助かりますm(_ _)m

本日のお題

フィーチャクラスを扱うにおいて、カラム名をとってきたいことはよくあると思います。今回はこれを題材にしたいと思います。

対象フィーチャクラス

こんな感じのフィーチャクラスを作ってみました。

f:id:sanvarie:20160503160851p:plain

環境

ArcGIS10.2
Python2.7.3

サンプル

超簡単です。フィーチャクラスのカラム名をリストにつっこんでいます

def get_column_name(in_feature):
    """フィーチャクラスのカラム名をリストで返します"""

    fields = arcpy.ListFields(in_feature)
    return [field.name for field in fields]

arcpy.env.workspace = ""      #gdbを指定
columns = get_column_name("") #フィーチャクラスを指定

print columns

以下のような結果になりました。超簡単ですね!

f:id:sanvarie:20160503161140p:plain

解説

解説するほどでもありませんが、arcpy.ListFields()で対象フィーチャクラスのFieldオブジェクトを取得することができます。Fieldオブジェクトのプロパティは以下のようになっています。

f:id:sanvarie:20160503161546p:plain

「name」というプロパティがありますね。今回はそれをリスト内包表記で取得しています。本当にこれだけですね。
ListFieldsだけではなく、ListFeatureClasses(対象のワークスペースに存在するフィーチャクラスを取得するメソッド)とか色々あるので、ぜひ使ってみてください。

このレシピ集、どこまで続けられるか(ブログ主の知識不足)。。簡単ですが、本日は以上です!