2017-01-31 4 views
-3

私の質問は次のとおりです。関数は3つの引数をとります(1が与えられます)?ヘルプの書式設定のヘルプ

特定の種類の学校を数える「numSchools」という関数を作成します。この関数には、(1)ワークスペースの文字列、(2)シェイプファイル名の文字列、(3)ファシリティタイプの文字列(「HIGH SCHOOL」など)、および1つの出力パラメータの3つの入力パラメータが必要です。 (1)シェイプファイル内のその施設タイプの学校数の整数。

import arcpy 

shapefile = "Schools.shp" 
work = r"c:\Scripts\Lab 6 Data" 
sTyp = "HIGH SCHOOL" 

def numSchools(work, shapefile, sTyp): 

    whereClause = "\"FACILITY\" = 'HIGH SCHOOL' " # where clause for high schools 
    field = ['FACILITY'] 
    searchCurs = arcpy.SearchCursor(shapefile, field, whereClause) 
    row = searchCurs.next() 
    for row in searchCurs: 
    # using getValue() to get the name of the high school 
    value = row.getValue("NAME") 

    high_schools = [row[0] for row in arcpy.SearchCursor(shapefile, field, whereClause)] 
    count = arcpy.GetCount_management(high_schools) 
    return count 

numSchools(work, shapefile, sTyp) 
print ("There are a total of: "),count 

これは完全に動作する私のコードですが、スクリプトによって完成します。私はそれをPython関数にラップする必要があります。 (私の弱さ)。私のコードの最後の行にいくつかの問題があるようです。 `

最後のコード行をフォーマットして、 (合計29個の高等学校があります)を読み込み、必要な議論を含む方法はわかりません。

+0

問題は、一つのパラメータ(' '「の中の選択肢の一つです」)と' numSchools'を呼び出すことを主ですsTyp))。 –

+0

http://gis.stackexchange.com/q/226414/115としてクロス投稿されました – PolyGeo

答えて

1

引数を明示的に渡す必要があります。 ``、shapeFile`とをし、** 3 **必要な( `work`があります

count = numSchools(work, shapefile, sTyp) 
print("There are a total of: ", count) 
関連する問題