2017-04-23 2 views
-1

私は、テーブル内のそれぞれの異なる値が異なる条件の組み合わせの結果であるテーブルを持っています。たとえば、以下の画像では、もし、coverType = fallowなら、Treatment = Crop Residue Cover、Condition/ImperviousArea = Good、SoilType = Cならば、値は83に等しい。ユーザーに各列の値を選択させるツールが必要だ。 SoilType、...)、関連する番号を出力として返します。どのようにすればいいですか? 以前のArcGIS 10.0に制限されていない限りenter image description herePythonのいくつかの条件を使用してテーブルから特定の値を取得します

import arcpy 
path= r'H\Python\FinalProject\RunOff.gdb' 
arcpy.env.workspace= path 
arcpy.env.overwriteOutput = True 

table=r'H\Python\FinalProject\RunOff.gdb\CN.csv' 
cursor= arcpy.SearchCursor(table) 
+0

ArcPyの場合、[gis.se] Stack Exchangeをよりよく研究していると思っています。 – PolyGeo

答えて

1

、私はda cursorsを使用することをお勧め: は、これまでのところ私はちょうど最初に以下のようなコードの行を持っています。構文は少し簡単です。

しかし、あなたは間違いなく正しい軌道に乗っています。カーソルを使用すると、テーブルをループして、3つのカテゴリがユーザーの入力と一致する行を見つけることができます。

cover_type = #userinput 
treatment = #userinput 
condition = #userinput 

field_list = ["CoverType", "Treatment", "Condition", "B"] 
with arcpy.da.SearchCursor(table, field_list) as cursor: 
    for row in cursor: 
     if row[0] == cover_type and row[1] == treatment and row[2] == condition: 
      print row[3] 
     else: 
      print "no matching combination" 
関連する問題