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

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

7
ArcPyを使用して投影点の緯度と経度を取得しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、地理情報システムスタック交換のトピックになるようにします。 2年前に閉店。 ArcPyからアクセスされているフィーチャクラスにポイントフィーチャがあります。ポイントは投影されますが、このポイントの未投影の緯度と経度を取得する効率的な手段を見つける必要があります。 再投影(投影解除)、新しいフィーチャクラスで検索カーソルを取得、フィーチャを検索、およびフィーチャの形状から緯度経度を取得する以外の方法はありますか?


5
ArcPyスクリプトを使用してフィーチャレイヤーを削除しますか?
ArcPyベースのスクリプトがあり、2つのレイヤーを交差させようとしていますが、一方のレイヤーの重心はもう一方のレイヤーにある必要があります。 1つのレイヤー(以下のfeature_layer)には他のレイヤーの重心が含まれていることを知る必要があるため、arcpy.SelectLayerByLocation_management()ツールを使用しています。 マップドキュメント(* .mxd)を開いていないため、これを行うには、フィーチャレイヤーの作成を使用してフィードする必要があります。 ドキュメントには、プログラムが終了すると機能レイヤーが消えることが記載されていますが、以下のようなループになっているため、すぐに消える必要があります for feature_class in large_list_of_feature_classes: some_function(feature_class) def some_function(): feature = "{path to feature class}" feature_layer = "feature_layer" HUCs_layer = "all_HUCs" #HUCs being Hydrologic Unit Codes arcpy.MakeFeatureLayer_management(feature, feature_layer) arcpy.MakeFeatureLayer_management(feature, HUCs_layer) arcpy.SelectLayerByLocation_management(HUCs_layer, "HAVE_THEIR_CENTER_IN", feature_layer, selection_type="NEW_SELECTION") arcpy.CopyFeatures_management(HUCs_layer, selection_name) フィーチャレイヤーを削除する機能を探していますが、見つけることができませんでした。 私はそこに何らかのカウントを入れて、プログラムの範囲内でそれぞれを一意にすることができますが、フィーチャレイヤーを削除する方法がない限り、それは理想的ではありません。

1
ArcGISジオプロセシング結果ウィンドウで発生したエラーメッセージをユーザーに表示しますか?
カスタム例外から発生した印刷ステートメントを[ジオプロセシング結果]ウィンドウに表示できますか? ユーザーから2つの入力を受け取り、関連する機能を見つけてからその機能にズームするスクリプトを修正しました。ツールは正常に動作します。入力を適切な文字数になるように自動的にフォーマットすることにより、ユーザーフレンドリにしようとしています。入力ボックスに文字が多すぎる場合にユーザーに通知するメッセージボックスを追加しましたが、easyguiを使用して作成しました(GUI用のPythonライブラリ)。代わりに、gp結果ウィンドウを使用してメッセージを表示したいと思います。raiseおよびexceptステートメントを正しくフォーマットしたが、ツールが実行され、エラーメッセージではなく完了した結果が得られると考えました。esriからarcpyヘルプを試しましたが、探していた結果が得られませんでした。 class BadInputError(Exception): pass # Import arcpy module import arcpy, sys, string from arcpy import env try: def checkInput(inp): mNCount = len(inp) trigger = 0 while trigger == 0: if mNCount == 4: trigger = 1 elif mNCount > 4: inp = '' trigger = -1 raise BadInputError elif …

4
ArcGIS Desktopは最新のPython 2.xまたはPython 3.xバージョンをサポートしますか?
ArcGIS Desktop 10.0が2.6よりも新しいバージョンのPythonをサポートするかどうか知りたいです。そして、その点に関しては、NumPyの新しいバージョン(つまり、1.4、1.5など)です。このドキュメントはESRIサイトのどこかにあるはずですが、見つけることができません。 Numpy 1.3.0がインストールされている限り(参考文献)、ArcGIS Desktop 10.0は既存のPython 2.6インストールを尊重し、少なくともNumpy 1.5.0がリリースされてPython 3をサポートするまでは、 Python 3 for ArcGISですが、アップグレードが利用可能になったときにアップグレードが可能かどうかを知りたいと思っています。

1
OBJECTID名を取得する最良の方法は何ですか?
フィーチャクラスのOBJECTID名を取得する最良の方法は何ですか? カーソルで「OID @」を使用してフィールドを取得できることは知っていますが、その名前も取得できますか? スクリプトを作成していますが、クエリで使用されるOBJECTID_2、OBJECTID_12、FIDなどのさまざまなOBJECTID名を考慮する必要があります。 Describeを使用して名前を取得する唯一の方法ですか? 例えば: oid_field = [field.name for field in arcpy.ListFields("FC") if field.type == "OID"] 別の方法があるのか​​と思っています。 ありがとう。
13 arcpy  objectid 

3
ArcPyがジオデータベースファイル内のファイルを上書きすることを期待していますか?
私はpythonスクリプトを書いています。mxdがあり、そのワークスペースは必要なすべてのファイルを含むジオデータベースファイルです。コードのテストと作成で直面している問題は、コマンドにもかかわらず、 arcpy.env.overwriteOutput=True ジオデータベースに含まれるすべてのファイルは上書きできません。これを回避する方法はありますか?
13 arcpy 

3
辞書内包内のSearchCursorで使用されるカーソルを削除しますか?
withステートメントを使用してカーソルを開き、削除されていることを確認するのが最善の場合は、次のようにします。 with arcpy.da.UpdateCursor(fc,fields) as cursor: 次に、カーソルが次のような内包表記で反復可能オブジェクトとして使用される場合: d = {k:v for (k,v) in arcpy.da.SearchCursor(fc,fields)} 理解に使用した後、カーソルを削除する必要がありますか?
12 arcpy  cursor 

1
同じマシンでArcGIS ProとArcGIS DesktopでArcPyを使用していますか?
ArcGIS Proを初めて試したので、PYTHONPATHをpython34に変更する必要がありました 現在、ArcGIS Proは[解析]タブを開くたびにクラッシュすることなく動作しています。しかし、ArcMap 10.3.1でプロセスを実行しようとすると、さまざまなPythonエラーが発生します。同じ正確なデータ入力で30分前に機能したツールについて。 ArcGIS 10.3.1は2.7を使用しているため、これはPythonバージョンの競合ですか? 同じマシン上でArcGIS ProとArcGIS 10.3.1を同時に実行する方法はありますか?

1
Pythonで属性テーブルを変更する最速の方法は?
少し前に、属性テーブルをPython辞書に変換するための簡単なPython関数を作成しました。キーはユーザー指定の一意のIDフィールド(通常はOIDフィールド)から取得されます。さらに、デフォルトではすべてのフィールドが辞書にコピーされますが、サブセットのみを指定できるようにするパラメーターが含まれています。 def make_attribute_dict(fc, key_field, attr_list=['*']): dict = {} fc_field_objects = arcpy.ListFields(fc) fc_fields = [field.name for field in fc_field_objects if field.type != 'Geometry'] if attr_list == ['*']: valid_fields = fc_fields else: valid_fields = [field for field in attr_list if field in fc_fields] if key_field not in valid_fields: cursor_fields = valid_fields + …

3
PythonでジオプロセシングにArcPyを使用する業界ベースの例は?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答やインタラクションを受け付けていません。 最近、GIS Analyst / DeveloperがArcGISのジオプロセシングとArcPyサイトパッケージでPythonを使用して自動化しようとしている操作の種類について質問がありました。作成するものが業界に関連し、後で職場で再利用される可能性があることを確認するために、いくつかの演習を検索するときに知っておくと役立つと思います。 最も簡単な答えは「Esriヘルプを読んでサンプルを調べる」ことでしょうが、実装するのに最も一般的なより具体的なシナリオを探していました。したがって、共有ワークフローは、「シェープファイルを含む.zipファイルを取得し、Pythonを使用して解凍し、それらをすべてX座標系に投影し、ArcSDEジオデータベースにロードし、これらのデータへのアクセスをユーザーに許可する」ことを歓迎します。ワークフローを簡潔に説明してください。極端な詳細は必要ありません。
12 arcpy  references 

4
pymssqlを使用してSQL Serverにポイントを挿入しますか?
pythonスクリプトを使用して、Webサービス(Twitter)からX値とY値を収集しています。長期的には、これは数か月にわたって実行され、600万ポイント前後で停止する予定です。 取得する元の座標は地理的なWGS84ですが、これらを投影されたWGS Webメルカトルに変換する必要があります。後でこのテーブルをArcGIS Serverマップサービスに公開し、キャッシュします。 これは、期限なしでpythonを学習するための個人的なプロジェクトであり、SQL Serverのネイティブな空間タイプのみを使用することをお勧めしますか? 私の現在のテストされていない計画: GEOMETRYフィールドの設定(およびその他の属性)を使用して、SSMSでテーブルを作成します。 私のPythonスクリプトでは、arcpyまたはpyprojを使用してWGS84のlat / lonsをWGS84 Webメルカトルに変換します(またはこれをどうにかしてSQLで達成できますか?) pymssqlを使用してレコードを挿入し、テーブルのGEOMETRYフィールドにポイントを挿入します。 私の質問は、WGS84で緯度/経度のペアを取得し、SQL Serverの空間タイプを使用してSQL Serverテーブルに挿入し、結果のポイントレイヤーを作成するための良い、シンプルで効率的なアプローチは何ですか? WGS84 Webメルカトル、ArcGIS Desktop 10.1でレンダリング/クエリを実行できるようにするには? 必要に応じてarcpy / ArcSDE 10.1にアクセスできますが、ArcSDEを必要としない例としてこれを使用したいと考えていました。

2
SP1 for ArcGIS 10.1には、バックグラウンドジオプロセシング用の64ビットPythonの拡張機能があります-他のPythonの使用に対する影響
64ビットバックグラウンドジオプロセシングfor ArcGIS Desktop 10.1sp1がインストールされている場合、それは一般的な使用のPython構成にどのように影響しますか? EsriはArcGIS 10.1製品のSP1をリリースし、デスクトップコンポーネントでは、インストール時にEsri 32ビットPython 2.7コールをバックグラウンドジオプロセシングの64ビットコールに置き換えた64ビットPython 2.7.2インスタンスを利用可能にしましたアクティブなArcGIS Desktop GUIセッションのサイド)。 インストールはオプションです。つまり、インストールしない場合、ArcGIS Desktopは32ビットのユーザーメモリ領域のみを使用して続行します。これにより、\ bin64エントリがEsriプログラムフォルダーに作成され、64ビット処理用のレジストリキーが「HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ ArcGIS 10.1 SP1 for Desktop Background Geoprocessing(64-bit)」で確立され、その後バックグラウンドジオプロセシングが行われます64ビットのメモリ空間で行われます。 Esriの32ビットと64ビットPythonの両方が完全な2.7.2インストールです。 Esriのレジストリのバックグラウンドジオプロセシング中に、パスおよび構成ファイルが64ビットPython実行可能ファイルの呼び出しを処理します。32ビットPythonの使用は、必要に応じてArcGIS Desktopセッションで保持されます。 したがって、インストールされた64ビットPython 2.7.2をArcGIS以外のコンピューティングニーズに統合するかどうかは、各ユーザーに任されています。そして、32ビット版と64ビット版の両方のPythonがシステムに常駐している場合、どのようにそれを行うのが最善でしょうか? 別の方法で尋ねられます--Esriは、ArcGIS Desktop内での64ビットPythonの統合を処理しますが、ArcGIS以外の残りのユースケース向けにどのように構成するのでしょうか?

6
ArcMapで実際の曲線/円弧を識別しますか?
ArcMapで円を作成する唯一の良い方法は、真のアーク(複合曲線)を使用することですが、互換性の問題のため、それらを頂点に変換(高密度化)する必要があります。ジオデータベースとSDO_geometry(arcsde)の情報が必要です はい、方法があります。私が使う: UPDATE layer1 a SET arctype = 'compound' WHERE has_compound_curves(a.shape) <> 0; ET Geotoolsを使用して、レイヤーごとに密度を高めます。 しかし、OracleまたはArcMapでこれを簡単に行う方法が必要であり、真のアークを持つ機能を高密度化したいだけです。直線などの不要な頂点は必要ありません。 ArcMapで真のアークを特定するにはどうすればよいですか?また、可能な限り速く簡単に高密度化するにはどうすればよいですか? Oracle SQLについても同じです。

1
ファイルジオデータベースにすべてのファイル名(および場合によってはメタデータ)を含むテーブルを作成しますか?
ファイルジオデータベース内のすべてのファイルのメタデータテーブルを作成する必要があります。 新しいファイル名、場合によってはメタデータ(ArcGISメタデータエディターで作成されたもの)で自動的に更新することは可能ですか?

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