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

Esriによって作成されたサイトパッケージで、ArcGIS Desktop(ArcMapおよびArcGIS Pro)のジオプロセシング、マッピングなどをPythonに公開します。


2
Pythonコードを使用してArcGIS for Desktopで選択した機能のリストを取得しますか?
ArcGIS for Desktopでの選択に関して質問があります。ArcMapに1つのレイヤーがあり、5つのフィーチャのうち2つを選択したと仮定します。 Pythonを使用して、選択したすべての機能のリストを取得することは可能ですか? 選択したフィーチャの1つ(またはすべて)の属性を、txtファイルに書き込むことができるリストに保存する方法があれば大丈夫です。 ArcGIS for Desktopでこれを実行できますか?
20 arcpy  select 

3
ArcGIS DesktopとPythonを使用して、2つのフィーチャクラスで交差するフィーチャ間の角度を検出しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Geographic Information Systems Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 交差するラインフィーチャクラスが2つあります。ArcGIS 10とPythonを使用して、各交点の角度を見つけたいです。 誰でも助けることができますか?


7
Notepad ++(外部エディター)を使用してArcPyスクリプトをコード補完/自動補完しますか?
Python for ArcGIS 10でスクリプトを作成してきましたが、これまではNotepad ++を使用していました。 Pythonコマンドラインインターフェイスがarcpy機能をコード補完してオプションを表示する方法が好きで、この機能を外部エディターに追加する方法があるかどうか疑問に思っていました。

7
アクティブなドメインを持つフィーチャクラスをリストしますか?
属性ドメインが定義されたEsriファイルジオデータベースがあります。一部の属性ドメインを削除する必要がありますが、「ドメインは属性ルールによって使用されている」ため削除できません。。ドメインを使用しているフィーチャクラスを見つけるにはどうすればよいですか? Executing: DeleteDomain R:\v5\YT_Canvec.gdb Permanency Start Time: Thu May 19 11:01:02 2011 ERROR 999999: Error executing function. The domain is used by an attribute rule. Failed to execute (DeleteDomain). Failed at Thu May 19 11:01:02 2011 (Elapsed Time: 0.00 seconds) ジオデータベースには100を超えるフィーチャクラスがあり、それぞれのFCフィールドプロパティをインタラクティブに確認するのは簡単ではありません。gdbは大きすぎて個人用gdbに変換できず、ms-accessを使用してバックドアに入ります(とにかく危険な方法です)。 (2011-May-26):これを表現する別の方法は、「どのフィーチャクラスがドメインXを使用していますか?」です。

2
以前のバージョンと比較して、データアクセスカーソルのパフォーマンスはどのように向上していますか?
データアクセスモジュールは、ArcGISバージョン10.1で導入されました。ESRIは、データアクセスモジュールを次のように記述します(ソース): データアクセスモジュールarcpy.daは、データを操作するためのPythonモジュールです。編集セッションの制御、編集操作、改善されたカーソルサポート(高速パフォーマンスを含む)、テーブルとフィーチャクラスのNumPy配列との変換、バージョン管理、レプリカ、ドメイン、サブタイプのワークフローのサポートが可能になります。 ただし、カーソルのパフォーマンスが以前の世代のカーソルよりも向上した理由に関する情報はほとんどありません。 添付の図は、新しいdaメソッドUpdateCursorと古いUpdateCursorメソッドのベンチマークテストの結果を示しています。基本的に、スクリプトは次のワークフローを実行します。 ランダムポイント(10、100、1000、10000、100000)を作成します 正規分布からランダムにサンプリングし、カーソルを使用してランダムポイント属性テーブルの新しい列に値を追加します 新しいUpdateCursorメソッドと古いUpdateCursorメソッドの両方について、各ランダムポイントシナリオを5回繰り返し、平均値をリストに書き込みます 結果をプロットする daカーソルのパフォーマンスを図に示されている程度まで改善するために、更新カーソルを使用して舞台裏で何が行われていますか? import arcpy, os, numpy, time arcpy.env.overwriteOutput = True outws = r'C:\temp' fc = os.path.join(outws, 'randomPoints.shp') iterations = [10, 100, 1000, 10000, 100000] old = [] new = [] meanOld = [] meanNew = [] for x in iterations: arcpy.CreateRandomPoints_management(outws, 'randomPoints', '', …

2
代わりにarcpy.GetCount_management()からArcPy結果オブジェクトを整数としてキャストしますか?
シェイプファイルにあるポイントの数を数えて数字を取得しようとしています。そして、これは機能しますが、その番号を他の場所で使用すると問題が発生します。最終的には、いくつかの数学(フィールド計算機)でそのカウントを使用しますが、デバッグ中にエラーが発生し、後でトラブルが発生します。 このコード: TotalPoints = arcpy.GetCount_management(Path_Pts) arcpy.AddMessage(">>>> PROCESS: COUNT PATH POINTS {" + TotalPoints + "}") このエラーを与えます: TypeError: cannot concatenate 'str' and 'Result' objects 私はそれをintとしてキャストしようとしましたが、それも好きではありません: TypeError: int() argument must be a string or a number, not 'Result' そこで、「Result」オブジェクトを取得し、それを数値に変換する必要があります。 どうすればそれを行うことができますか?または、ここでArcPy関数を使用する必要がないか、過度に複雑です

5
ArcPyの2つのジオメトリを比較しますか?
2つの別々のフィーチャクラスを比較して、それらの違いを識別しようとしています(diff関数の一種)。私の基本的なワークフロー: SearchCursorを使用してジオメトリを抽出します 修正した__geo_interface__(valveLondon から取得したreturn {'type': 'Polygon', 'coordinates': [[((pt.X, pt.Y) if pt else None) for pt in part] for part in self]})を使用して、2つのフィーチャクラスのジオメトリをGeoJSONとして保存します。これは、ESRIがカーソルで使用する共有ジオメトリオブジェクトと、ディープコピーを作成できないことを回避するためです(gis.stackexchangeでのいくつかの議論でそれについて説明しています)。 一意の識別子に基づいて、2つのフィーチャクラスのジオメトリを確認します。たとえば、FC1 ​​OID1ジオメトリとFC2 OID1ジオメトリを比較します。ジオメトリをESRIオブジェクトインスタンスとして取得するには、を呼び出してarcpy.AsShape()(穴のあるポリゴン(上記のポイント2を参照)を読み込むように変更しますreturn cls(Array([map(lambda p: Point(*p) if p is not None else Point(), part) for part in coordinates]))。比較はGeometry Classにgeom1.equals(geom2)示されているとおりです。 ジオメトリに約140の変更が見つかると予想されますが、私のスクリプトでは430があると主張しています。 以下に例を示します。 >>> geom1geoJSON {'type': 'Polygon', 'coordinates': [[(-122.8423481559999, 47.060497293000083), (-122.84239755599992, …
18 arcpy  geometry 

1
ArcMapの[高度な編集]ツールバーの[スケール]ツールのようなポリゴンサイズ変更用のArcPyツールはありますか?
ArcGIS 10.3用のPythonスクリプトを書いています。Scale toolArcGISインターフェイスについては知っていますが、そのようなアークピーなコマンドは見つかりません。それが存在します? あなたが写真で見ることができるように、Scale tool異なる作品Buffer tool-それは元の多角形の形を変えます。質問は次のとおりです。 Scale toolarcpy を使用して(ArcGISインターフェイスから利用可能)使用できますか?

1
ArcGISでPythonツールボックス(* .pyt)を整理するためのガイドライン
私のタスクの1つとして、3つのツール(Pythonスクリプト)を含むツールボックスを作成する必要があります。 通常のtbxの代わりに、Python Toolbox(pyt)として作成することにしました。 コードを整理する「良い」方法を除いて、すべてが明確です。 3つのツールがあるので、1つのファイル(pyt)に保存するのは良い方法ではありません。そこで、各ツールを別々の.pyファイルに保存することにしました。 ここに問題があります:ArcGIS for Serverでの配布または配置のために、PYTでいくつかのファイルを整理する良い方法は何ですか?PYTファイルと同じレベルに保持する必要がありますか、それともサブディレクトリ(つまり「ツール」)に配置する必要がありますか? Esriのガイドラインを推奨したり、「big PYTツールボックス」サンプルを参照したりできますか? このトピックについては何も見つかりません。バージョン10.0では、私が使用したToolShareフォルダー構造と呼ばれるものがありました。 これは、コーディングのスタイルの問題です。500行から1000行以上のコードを含む1つのPYTファイルを作成するというアイデアは見た目が良くなく、「pythonic」な方法ではないと考えているためです。


1
NumPy配列を使用してビッグデータジオプロセシングを最適化するにはどうすればよいですか?
NumPy配列を利用してジオプロセシングを最適化する方法を学ぶことに興味があります。私の仕事の多くは「ビッグデータ」に関係しており、ジオプロセシングでは特定のタスクを完了するのに数日かかることがよくあります。言うまでもなく、これらのルーチンを最適化することに非常に興味があります。ArcGIS 10.1には、arcpyを介してアクセスできる次のような多くのNumPy関数があります。 NumPyArrayToFeatureClass(arcpy.da) RasterToNumPyArray(arcpy) TableToNumPyArray(arcpy.da) 例として、NumPy配列を利用した次の処理集中型ワークフローを最適化するとします。 ここでの一般的な考え方は、ベクトルとラスタベースの操作の両方を移動する膨大な数のベクトルベースのポイントがあり、その結果バイナリ整数ラスタデータセットが得られるということです。 このタイプのワークフローを最適化するためにNumPyアレイをどのように組み込むことができますか?

5
ArcPyでPythonデータ構造とクラスをどのように使用していますか?
この質問は、プログラミングに関する私の無知を明らかにするかもしれませんが、ArcPy内でさまざまなpythonデータ構造をどのように使用しているかに興味があります。 このページには、Pythonのデータ構造がリストされています。リストをGISに実装する方法(フィーチャクラスのリスト、フィーチャタイプのリスト、データフレームのリストなど)を理解しています。セットの使用方法も理解しています(重複を削除するため)。タプル、辞書、およびその他のデータ構造をArcPy内に実装する人々はどのようになっていますか?また、リストしていないリストやセットの他の例はありますか? さらに、間違いなく、人々はArcPyでカスタムクラスを作成しています。どのような状況や状況でこれらが必要ですか?例を提供できますか?組み込みのarcpyクラスを継承するカスタムクラスを作成している人はいますか? 私はこれらの質問すべてに答える必要はありません。人々がGISでPythonをどのように使用しているか、どのワークフローがこれらのカスタマイズを必要としているのか、興味があります。


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