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

ArcObjectsは、Esri Inc.のCOMベースのAPIのセットであり、ArcGIS Desktop、ArcGIS Engine、ArcGIS Serverなどの製品で使用されています。

2
PythonからArcObjectsを使用するためのガイドライン
はるかに、PythonからArcObjectsにアクセスしますか?は、GIS Stack Exchangeに関する私の最もよく読まれ、参照されているQ&Aです。その成功にもかかわらず、それは実際の使用に関してはおそらく私の最も弱い領域の1つです。その貧弱な表示​​の大部分は、ArcObjectsのドキュメントを読んで理解する能力が低いことに起因しています。 それで、与えられたタスクに対して、.net / c ++ / java / ...のドキュメントと例を同等のpythonに翻訳するためのガイドラインは何ですか?(そのためにはどの言語が最適ですか?)そして、最初に最適なインデックスまたはランディングページは何ですか?どのようなことに焦点を当てるべきであり、おそらく少なくとも同じくらい重要なのに、自由に無視できるものは何ですか? あなたの聴衆は少なくともいくらかpythonの読み書き能力があり、他の開発言語では読み書きができないと仮定します。最初のアイデアや研究からPythonの結果の動作まで、小さなコーディング演習を行ってください。

5
プログラムでArcGISのメタデータを編集/更新しますか?
ArcGIS 10でメタデータをプログラムで更新することに成功した人はいますか?Python / arcpyの使用を検討しますが、ArcObjects(C#またはPython / comtypes)も可能です。 FGDCとArcGIS-ISO形式のメタデータの両方を更新する必要があります。使用するソリューションでは、競合している場合を除いて、既存の(非空白の)要素と追加された要素を保持できる必要があります。追加された要素は既存の要素を上書きします。

1
ArcObjectsで大規模な編集セッションを調整すると、サーバーメモリが不足する
Out of Server Memory大規模な編集セッションを調整しようとすると、ArcSDE 10.0で定期的にエラーが発生するユーザーがいます。 VMware ESXインスタンス: Windows Server 2008 R2データセンター サービスパック1 Intel Xeon E5-2660 @ 2.20GHz 8 GBのRAM メモリ使用量を追跡するためにパフォーマンスモニターをセットアップしましたが、これがバージョン付き編集で他の誰かが経験した問題であるかどうか知りたいですか? 私たちのRDBMSはOracleであり、ESRIがこのページを見つけました。 http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002n00000026000000 ただし、これは、ArcSDEとOracleが同じマシン上にあると想定しているようです(私たちにとってはそうではありません)。編集ユーザーに関連付けられている「無制限」のテーブルスペースを削除する必要がありますか? また、Oracleクライアントを使用してデータベースに直接接続します。これは、おそらく間違ったサーバー(ArcSDE)を見ていて、DBAと話している必要があることを意味しますか?ArcObjectsエラーはArcSDEの問題を意味すると思いますが、おそらく誰かがこれを修正できますか? 解決策は、編集を担当していたデスクトップで64ビットのバックグラウンドGPを有効にすることでした。大規模な編集セッションは、Oracleジオデータベースに問題を引き起こすようです。おそらくRDBMSレベルで解決できた可能性がありますが、DBAはその時点でトラブルシューティングを行うことができませんでした。

1
アドインで実行されているArcObjectsの動作が遅いですか?
ジオプロセシングを行うクラスライブラリを作成しました。アドインは、非同期プロセスであるクラスを呼び出します。スレッドがSTAであり、arcobjectsがスレッドセーフであること(つまり、アドインから渡されない)であることを確認しました。すべてのアークオブジェクトはスレッド内に作成されます。 これはクラスライブラリであるため、winforms UIにアドインとしてラップしました。コードの両方のセットはまったく同じであり、テストはまったく同じデータを使用して実行されました。winformsとアドインの両方でコードが完成し、望ましい結果が得られ、メモリリークは明らかではありません。アドインの場合、この時点ではマップ期間との相互作用はなく、winformsコードにはマッピングまたは表示要素もありません。 UIの更新は、アドインとUIの両方の進行状況ダイアログの更新のみです。アドインはドッキング可能なウィンドウ(ユーザーコントロールUI)を使用しています。 私が見ている問題は、ライブラリがアドインから呼び出されると、コードの実行がwinformsアプリケーションから呼び出される同じコードよりも5倍遅いということです。 なぜこれが発生しているのか、どこを見ればよいのかについてのアイデア



2
ArcGIS関数のカスタム実装
ArcGIS関数のカスタム実装を作成するために必要なものを知りたいのですが。特に、GeoAnalyst.ISurfaceOp2.Visibility()を実装して、実行を高速化したいと考えています。現在、Visibility()の呼び出しごとに最大3秒かかります。私の限られた理解から、ボトルネックは一時的なラスターのファイルシステムへの書き込みです。これがインメモリで実行できれば、処理時間が大幅に短縮されると思います。私は.NETプロジェクトでこれを行っていますが、任意の言語のソリューションを歓迎します。


2
IRelationalOperator2およびGeometryBagの使用方法
IRelationalOperator2のIsNearメソッドを使用したいと思います。ドキュメントは GeometryBagがIRelationalOperator2インターフェイスをサポートしていることを言います。しかし、これは機能せず、「COMオブジェクトをキャストできません...そのようなインターフェースはサポートされていません...」という例外が発生 します。 IRelationalOperator2 relationalOperator = (IRelationalOperator2)geometry; 同じコードはIRelationalOperatorで正常に機能しますが、IsNearメソッドはありません。 IRelationalOperator relationalOperator = (IRelationalOperator)geometry; 何が悪いのですか-コード、ドキュメント、それともバグですか?「geometry」は、ジオメトリタイプesriGeometryBagのジオメトリであり、いくつかのポリラインが含まれています。.NET例外を取得するためにストレートキャストを使用しました。



2
ArcpyまたはArcObjectsを使用してプログラムでラスターレイヤーの表示とシンボルプロパティを変更する
ArcMap内からプログラムでレイヤーの表示とシンボルを変更できるようにする必要がある1500以上のNITFファイルがあります。以下に赤で示したプロパティを設定する必要があります。 私はarcpyドキュメントを調べましたが、これらのプロパティが公開されているようには見えません-正直なところ、そうであるとは期待していませんでした。ArcObjectsを介してアクセスできると感じています。誰かがこれらのプロパティをプログラムで変更した経験/運がありましたか?

1
プログラムでArcMapのシェープファイルを編集しますか?
これはできることですか? たとえば、マップ上にオーバーレイを作成してシェープファイルとして保存した場合、この(既存のファイル)オーバーレイに移動して編集したいと思います。 理想的には、新しいシェープファイルの作成や古いシェープファイルの削除を避けたいです。 考え? 編集1:OK、今、誰かがそれを行うことができると言いました。明白な質問は、シェープファイルをどのように編集するか(ArcObjectsでプログラム的に)ですか? 編集2:コメントを見ると、私はこのようなことをする必要があるようですが、わかりません。 現在、C#のArcObjectsで編集する基本的なシェープファイルがあります。 FeatureClass、ワークスペースを作成し、形状を渡してシェープファイルを作成しました。この場合、それは、いくつかのポイントを持つ単純なポリラインです。私がしたいことは、このシェープファイルを更新する機能を持っていることです。 そのFeatureClass、Workspaceを再利用し、新しい形状で渡す必要があると想定しています。しかし、私がやっていることはうまくいかないようです。これが私が編集しているところです-どんなアドバイスでも素晴らしいでしょう。 IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)inWorkspace; workspaceEdit.StartEditing(true); workspaceEdit.StartEditOperation(); ComReleaser comReleaser = new ComReleaser(); IFeatureCursor featureCursor = inFeatureClass.Update(null , true); IFeature feature = null; while((feature = featureCursor.NextFeature()) != null) { int id = feature.Fields.FindField("shape"); IFeatureBuffer featureBuffer = inFeatureClass.CreateFeatureBuffer(); featureCursor.DeleteFeature(); //Delete the old featureBuffer.Shape = …

3
ArcObjectsを使用して、ArcMapにフローティング専用(ドッキング不可)ウィンドウを作成しますか?
ArcMapでフローティングウィンドウを作成する方法を探しています。例として、Identifyツールのウィンドウを見てください。 フローティングとは、常にマップドキュメントの前面にあり、ユーザーがArcMapを引き続き使用できることを意味します。インターフェイスIDockableWindowDefを使用して、フローティングも可能なドッキング可能ウィンドウを作成できることは知っていますが、ドッキングさせたくありません。私の知る限り、IDockableWindowManagerによって作成されたフォームがドッキングされないようにすることはできません。たとえば、ユーザーがフォームをArcMapウィンドウの境界にプッシュした場合。 何か案は? 解決策は、子ウィンドウやMDIなどのキーワードを検索することでした。HTH 問題の解決策は@llcfの答えと同じくらい簡単なようです: MyForm form = new MyForm(); form.Show(NativeWindow.FromHandle(new IntPtr(m_application.hWnd)));
9 arcmap  arcobjects  c# 


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