タグ付けされた質問 「modelbuilder」

ジオプロセシングフレームワーク内でモデルを作成、編集、管理するために使用されるArcGIS ProおよびArcGIS Desktop 10.xのアプリケーション

6
PythonスクリプティングでModelBuilderを使用する場合、またはその逆の場合
私はArcGISでPythonスクリプトを書くのは初めてですが、ModelBuilderを使うのは初めてではありません。 PythonとModelBuilderの利点を知りたいです。 ModelBuilderを使用するのではなく、GISオートメーション用のPythonスクリプトを作成する必要があるのはいつですか? ModelBuilderにはないPythonの自動化機能とは何ですか?



1
ArcGIS Proには(より良い)ModelBuilderがありますか?
以前のQ&A(Esriの新しい「ArcGIS for Professionals」および「ArcGIS Pro」とは何ですか?)が、ArcPyコードがArcGIS Proで再利用価値を持つという安心感を提供しました。 ArcGIS Professionalの拡張性。ArcGIS Proの拡張性に関する現在の考えは次のとおりです。ArcGISでジオプロセシングツールを呼び出すPythonスクリプトを記述および実行し、ArcGIS Python API、ArcPyで使用可能な包括的なスクリプト機能スイートを使用して、GISタスクを自動化できます。 ただし、ArcGIS Proが、既存のModelBuilderと同等のGUIを使用してワークフローを自動化するモデル構築を可能にするか、または他のユーザーやIからの以前の拡張要求に対処するための大幅な改良については言及していません。 ArcGIS ProでModelBuilder(または少なくともモデルの構築)の道を聞いた人はいますか?

5
ArcGIS ModelBuilderモデルにバージョン管理を適用していますか?
バージョン管理はソフトウェア開発に不可欠なツールであり、Xが最後に正確に仕事をしたときまで確実に時間をさかのぼることができます。また、その時と今の間に何が変わったのかを確認できます。 Xは正確に機能しなくなりました。 ただし、このために知っているすべてのツールは、プレーンテキストファイルでのみ機能します。ツールボックス(10.1で導入されたpythonツールボックスではなく、標準のもの)、およびそのモデルはバイナリです。誰かがバージョン管理を実行するための実行可能な方法を持っていますか? 注:バージョン管理はbackupとは異なります。Windowsのバックアップ、 -任意の特定の日付/時刻のファイルのスナップショットを作成するための簡単な方法は多数あり、以前のバージョン、xcopy /s d:\foobar\ x:\foobar_%date%、zip stuff_%date%.zip stuff\*、等が。 git、fossil、mercurial、subversion、...などのツールをバイナリファイルに適用することは、コミットメッセージを追加できる限り、xcopyまたはzipを使用するよりも1ステップ優れています。「Model foobar%date%now Bazが存在しない場合にのみ結果が得られます」が、同じツールセットがテキストファイルに適用できることと比較すると、まだ貧弱です。

2
ArcGIS for Desktopを使用してシェープファイル間の違いを見つけますか?
毎月、郡全体の道路データをQA / QCする必要があります(47,000件を超えるレコード)。最初のステップは、2つのファイルを比較することです。現在、私は約5年前にVBAを介して社内で作成されたツールを使用しています。2つのファイルを比較し、いくつかの要因(追加されたレコード、削除されたレコード、住所の変更、都市の変更、セグメントの長さ/頂点の変更)に基づいて違いを報告します。次に、これらを個々のシェープファイルにエクスポートします。さらに、ツールは機能しますArcGIS 9.3が、機能しなくなりますArcGIS 10.1 このツールは問題なく動作しますが、完了するまで約1時間かかります。 パフォーマンスを高速化するために、このツールの改善に取り組んでいます。Compare Feature Toolおよびを含むさまざまな方法を検討しましたSelect by Location。 これらのツールはどちらも非常に高速に動作しますが、必要なものをすべてキャプチャしているようには見えません。私が抱える大きな問題Compare Feature Toolは、比較するフィールドを選択できないことです。Segment_IDで比較する必要がある場合、デフォルトでObjectIDになります。それを選択するオプションはありません。 私が説明したように、誰かが完全な比較を達成する方法について良い解決策やアイデアを持っていますか? 何らかの理由で、ArcGISはRyanDaltonの答えに従って私が試みている結合を認識していません。 だが 結合のアドバイスを受けて、2つのファイルで追加されたレコードと削除されたレコードの違いを見つける方法を見つけました。 Segment_IDフィールドを介して前月のシェープファイルを現在の月のシェープファイルに結合する Segment_IDがNULLの場合の定義クエリの実行 新しいシェープファイルへのエクスポート(追加機能) 次に、結合を逆にして、削除された機能を見つけます リストされている他の相違点を見つけ、それらをすべてモデルにまとめます。 他のデータセットと同じデータセットの1つから場所による選択レコードを実行することにより、変更されたすべてのレコードを見つけることができます。次に、選択を切り替えて、同一ではないすべてのレコードを取得します。 すべてをモデルに入れて、うまくいけばうまくいくことを願っています。

3
ModelBuilderを使用してフィーチャクラスの出力ファイル名を繰り返しますか?
モデルビルダーで一連のフィーチャクラス(ポリゴン)を反復処理して一連のポリゴンをラスターに変換しようとしていますが、出力ファイル名に問題があります。 モデルビルダーウィンドウに「フィーチャクラスの反復」ツールを挿入し、すべてのポリゴンを入力として格納するgdbをリンクすると、出力フィーチャ(緑色のバブル)が自動的に最初のポリゴンの名前になります。結果として、私が実行しようとするモデルは、リスト内の次のポリゴンに行くのではなく、その名前のポリゴンに再帰するようです。出力ラスターは作成されますが、後続のポリゴンと一致する新しい名前で新しいラスターを生成するのではなく、そのファイル名を上書きします。 私は何を間違えていますか?

3
頻度を使用せずにツール検証を使用してArcGISで複数値選択リストを生成しますか?
「複数値選択リストの生成」というタイトルの ESRIのブログサイトにあるモデルとスクリプトの組み合わせを適応させようとしてい ます。 ただし、埋め込みスクリプトで使用される検証の一部は、適切に機能するために「周波数」ツールに依存していると結論付けましたが、これはAdvancedライセンス(lame)でのみ利用可能です。ブログの投稿では、ワークフローと、モデルとスクリプトをダウンロードする場所について説明しています(ただし、リクエストに応じてここに喜んで投稿します)。私が知る限り、私が求めている機能の中核は、複数値選択リストを生成することです。 ..は、検証スクリプトが適切に機能することを前提としています。検証を行わないと、フィールドから値を取得してリストとして表示できません。この検証スクリプトから削除して機能を取得できるものはありますか、または回避策はありますか?私は検証プロセスに不慣れです。検証用のコードを次に示します(コードサンプルとして投稿するつもりでしたが、これは従う方が簡単なようです) [ 編集者注:これは実際の検証コードです。画像は正しくありません] import arcpy class ToolValidator(object): """Class for validating a tool's parameter values and controlling the behavior of the tool's dialog.""" def __init__(self): """Setup arcpy and the list of tool parameters.""" self.params = arcpy.GetParameterInfo() def initializeParameters(self): """Refine the properties of a tool's parameters. This method …

2
ArcGIS ModelBuilderのCollect Values出力からデータをエクスポートしますか?
現在、ModelBuilderで遊んでいます。現在持っているモデルの写真を追加しました。 このモデルは現在6つのシェープファイルを反復しているため、「出力値」のそれぞれにはリストに6つの数字が含まれています。これらのリストからテーブル/テキストファイルなどに値を抽出する方法が見つかりません。 これを行う方法はありますか? これは、モデルの実行後に「出力値」を開いたときに表示されるものです。 どういうわけかこの6つの数字を取得したいだけです...

3
ArcGIS ModelBuilderに任意のコードを追加しますか?
ArcGISモデルに任意のコードスニペットを追加する方法はありますか? 高度なラベル付けやフィールド計算の式ビルダーの「コードブロックの表示」に似たものを思い描いています。 たとえば、今の私のプロジェクトでは、ツールを実行している人のユーザー名を取得することで大きなメリットが得られます。私はPythonでこれが簡単であることを知っていimport os; os.environ.get('USERNAME')ます。そのスニペットをget_username.pyに記述してArccatalogのツールボックスに追加し、そのツールをモデルに追加して、現在のツールの必要なモデルパラメーターとして使用できると思います。それはこのような小さなものには多くの作業であり、次回はインライン変数置換や複合変数など、何か他のものが必要になるかもしれません。 コードスニペットツールなどは、一般的で広く役立つ方法でこれらのニーズすべてに対処できると思います。

2
ModelBuilderとユーザー入力を使用した属性による抽出?
ModelBuilderを使用して、シェープファイルの抽出に使用する値をユーザーが選択できるツールを作成します。 「Parcel_Type」フィールドを持つパーセルレイヤーがあります。ユーザーが抽出するパーセルのタイプを選択できるようにします。したがって、ユーザーがタイプ「EL」の区画を抽出する場合、変数として「EL」を入力するだけで済みます。「EL」と「CDD」を入力したい場合、それらを複数変数として入力する必要があります。それがモデルと人間との唯一の相互作用です。 モデルでこれらの変数を使用するにはどうすればよいですか?

2
ArcGIS ModelBuilderはExcelファイルを開いて手動で編集し、それらの編集をモデルにフィードバックできますか?
私は、ArcGIS ModelBuilderを使用してモデルを作成し、最初にいくつかのジオプロセシングタスクを実行してから、Excelテーブルをそれらのジオプロセスの結果に結合することを任されています。ただし、ユーザーが編集を保存してファイルを閉じる前に、ユーザーが手動で編集できるように、モデルはまずExcelファイルを実際に開く必要があります。その後、モデルが他の多くのジオプロセシングタスクを続行する前に、モデルがこのExcelファイルをデータセット(まだモデルの一部)の属性テーブルに結合することが期待されます。 ポイントの説明に役立つ高レベルの回路図の概要を以下に含めます(これは、最初はあまり意味がないかもしれませんが理解しています)。 したがって、モデルが実行され、いくつかのジオプロセシングタスクを完了し、一時停止してExcelファイルを開き、ユーザーが編集して保存して閉じるのを待ってから、そのExcelファイルを属性テーブルに結合し、数値を実行します。その他のジオプロセシングタスク。 これには、1つまたは2つのPythonスクリプトをモデルに組み込む必要があると想像する必要があります。現在、このコンセプトが実際に可能かどうかを知りたいだけです。

6
ArcPyまたはModelBuilderを使用してポイントの位置を移動/オフセットしますか?
テキスト注釈機能を持つ、地理参照されていないCADレイヤー(この質問を参照)がいくつかあります。テキストをポイントに変換するモデルを作成しましたが、アノテーションをポイントフィーチャクラスに変換した後、CADテキストのアンカーポイントがCADテキストの中心(ポイントが属する場所)と一致しないことがわかります。 したがって、プログラムで(ArcPyまたはModelBuilderを使用して)提供するX、Yの測定値を使用して、現在の位置(デルタx、y)を基準にフィーチャを移動します。 これにより、オフセットCADアンカーポイントの代わりに、GISポイントをそれらが属する場所に戻すことができます。 このタスクを実行するにはどうすればよいですか? @PolyGeoはSHAPE @ XY IN 10.1 を使用して優れた答えを出しましたが、現在10.0を実行しています。10.0のアイデアは?

1
単一のモデルで並行プロセスを実行できますか?
(Arc GIS 10の)モデルビルダーでは、2つ以上のジオプロセシング操作を同時に実行できますか? たとえば、2つのファイルでジオメトリの修復を実行してから、それらをマージする必要があります。現在、ファイルAのtopoを修復してからファイルBを修復してからマージします。各ファイルの修復には約30時間かかります。AとBを同時に修復し、両方が完了するのを待ってからマージできますか? 現時点では、アークカタログの2つのインスタンスを開いて、それぞれのファイルに対して修復ツールを実行し、完了したらマージを実行する必要があります。つまり、オフィスに来て、両方が完了したことを確認する必要があります...クワッドでコア、各修復プロセスは一度に1つのコアのみを使用します。 上記の例は簡単ですが、複数の操作が同時に実行され(互いに依存しない場合)マルチスレッドが可能で、依存するファイルが完了するのを待ってから次のプロセスが実行される場合。 おかげで、

1
空間的な「多対1」結合の作成
私は「多対1」の結合と呼ばれるものを作成しようとしています。それが正しい言葉かどうかはわかりません。パーセルのアカウント番号(R0003285)ごとにモバイルホーム(つまり-M1007970)の一意のアカウント番号を持つテーブルがあります。(パーセルごとに多くのモバイルホーム-多対1。)このテーブルをパーセルジオメトリに結合する必要があります-それでも、パーセルごとに1つのポリゴンしかありません。 したがって、たとえば、テーブルには3つの行があり、1つの行にモバイルホームアカウント番号M1007370、別の行にM1007371、および別の行にM1059370がありますが、すべて同じパーセル番号R0032585です。パーセルジオメトリには、R0032585と同じフィールドしかありません。 入会すると、12,088のモバイルホームレコードと44,103の小包があります。「すべてのレコードを保持する」場合、7,947のモバイルホームアカウント番号(元の12,088)だけの44,103レコードがあります。「一致するレコードのみを保持」に基づいて参加すると、合計で7,947件のレコードしか得られません。 過去に成功し、モデルを作成しました。このモデルでは、モバイルホームのテーブルを使用して、パーセルアカウント番号に基づいてパーセルレイヤー(.lyr-モデルで結合できる/結合できる唯一の方法)に結合します。一致するレコードのみを保持するフィーチャをファイルジオデータベースにコピーします。次に、ファイルジオデータベースからSDEシステムに追加します。何も変わっていないので、これは私が理解できない理由で現在動作を停止しました。 おそらく、誰かが私がやろうとしていることよりも上手に伝えることができ、それが多対1関係以外のものと呼ばれる場合は(1対多だとは思わない...)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.