2016-09-29 6 views
-1

私はGISプログラミングコースの学生です。私の教授は、Pythonの経験が役に立つと登録する前に私に知らせていませんでした。私はPythonに関する経験がなく、このプロジェクトの助けが必要です。例や明確な説明はすばらしいでしょう。GISプロジェクトのPythonスクリプト

\ cartggp \ Geo573 & 673_Lab \ Lab5_Part2 のFirDepartment.gdbファイルジオデータベースのコピーをコンピュータに作成します。各火災応答ゾーンは、対応する機能を持っている(100ポイント)

1):44の 火災応答ゾーンのそれぞれに全て一戸建て住宅や多世帯構造の数を取得するにはPythonのスタンドアロンスクリプト を書きますデータベース内のクラスで、 の名前構造 "FireBoxMap_id"を使用します。建物のフットプリントフィーチャクラス、 BldgFoorprintsはUseCode(1 =一戸建て、 は=マルチ家族2)すべての

2)まず、あなたが作成するListFeatureClassesを使用する必要があるという名前の使用コードフィールドでもあり、 すべての「FireBoxMap_id」フィーチャクラスを含むリストオブジェクト。次に、forループ構造を使用して各ゾーン を調べます。

3)では、各ゾーンのフィーチャクラスのためのループ構造のために、あなたは一戸建てと多世帯 建物の数を持っている2つの新しいフィールドを追加 にコードを記述する必要があります。 (なaddFieldジオプロセシングツールを使用することを確認してください)

4)次に、ゾーン内にあるすべての単一の家族の建物を選択し、カウントは、 は1つの単一の家族のカウントのための2つの新しいフィールドに数を割り当ててもらいます。 ゾーン内にあるすべての多階建ての建物を選択し、数を取得し、 を数多くの新しい欄に数えます。あなたが必要があるかもしれません( CalculateFieldのジオプロセシングツールを使用することを確認してください)

5)ツール:where_clauseがため AddFieldDelimiters MakeFeatureLayer(唯一のシングルファミリーまたは マルチ家族の建物だけを検索するwhere_clauseが設定 SelectLayerByLocation(使用。 「HAVE_THEIR_CENTER_IN」オプション) GetCountの

は、ここで私はこれまでのステップ2に持っているものです。

import arcpy 
import os 
arcpy.env.workspace = "D:\Fehr10\Fehr_Python\Datapdf\FireDepartment.gdb" 
featureclasses = arcpy.ListFeatureClasses() 

それはあまりないです、私はトンをベース。彼はGISのヘルプデータベースの例を引用しています。

+0

ここではいくつかの質問があります。 「arcpyを使用してフィーチャの数を取得する方法」、「arcpyを使用してフィールドを計算する方法」などの複数の質問に分割することを検討する必要があります。 「arcpyを使用してフィーチャを選択する方法」を参照してください。一度これを行うと、あなたの問題ははるかに簡単であり、これらの質問はすべてarcpyのマニュアルとhttp://gis.stackexchange.com/で簡単に解けることが分かります。 – roemhildtg

答えて

0

まず、ArcGISデスクトップをインストールします(トライアルライセンスが必要です)。 トライアルライセンスを取得するためのリンクは以下の通りである:第二に arcgis trial license

、arcPyのヘルプ文書を通過するのArcGISデスクトップの[ヘルプ]をクリックします。 以下のスクリーンショットのとおり: arcpy help in ArcGIS desktop その他のヘルプ文書も必要です。

関連する問題