問題タブ [arcmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
616 参照

gis - identifyTask によって返された非表示の機能を無視する

JavaScript、Google マップ v2、および ESRI 10.1 を使用してアプリを構築しています。DynamicMapServiceLayerESRI マップ サービスに と 1 つのレイヤーがあります。setLayerDefinitions実行時にユーザーが選択したフィルター値に基づい て、ESRI 関数を使用してレイヤー上のフィーチャを動的に表示または非表示にします。

ユーザーがマップをクリックすると、ESRIIdentifyTaskオブジェクトを使用して、ユーザーがクリックしたものを見つけます。ユーザーがクリックした機能の情報ウィンドウを表示したいと考えています。私のコードは機能していますが、レイヤーで除外されている (表示されていない) フィーチャの情報ウィンドウが開きます。

ユーザーが表示されている機能をクリックしたかどうかを確認し、非表示の機能の情報ウィンドウを開かないようにするにはどうすればよいですか? IdentifyTaskまたは、返される応答オブジェクトに隠された機能を含めるのをやめるにはどうすればよいですか?

これは私のidentifyParametersタスク呼び出しのセットアップです

アップデート

Google マップ v3 にアップグレードしました。現在、identify パラメーターは、次のようにレイヤー定義情報を渡すことをサポートしています。たとえば、識別操作を FISCAL_YEAR = 2014 のフィーチャに限定できます。問題は解決しました。

0 投票する
1 に答える
86 参照

gis - ArcMap 10 - フロー蓄積の制限

私は、ArcMap 10 の空間解析水文解析ツールの Flow Accumulation ツールを使用しています。このツールは、特定のセルに流入するラスター セルの総数を計算します。ただし、私の目的のために、蓄積がどこまで上り坂で発生するかを制限したいと思います。

IE: 稜線までではなく、1 km 以内のセルにどれだけの流れがあるかを知りたいです。

0 投票する
1 に答える
195 参照

.net - ArcMap 拡張機能 GetTempPath が追加の SubFolder を返す

C#/WPF/VS2010 を使用して ArcMap のインストール可能な拡張機能を作成しています。(これは、ここで関係がある場合とない場合があります)。私がやりたいことの 1 つは、ユーザーの一時フォルダーにデータを保存することです。だから、私は次のようにフォルダを取得します:

すべてをコンパイルし、WPF デザイナーで (間接的に) 変数にバインドすると、プレビュー ペインに次のように表示されます。

素晴らしい、それが私が求めているものです。しかし、ArcMap で拡張機能を実行すると、次のような結果が得られます。

最後に、ArcMap を再ロードするたびに変更される追加のフォルダーに注意してください。したがって、これは拡張機能であり、ArcMap カーネルに翻弄されているため、ユーザーの一時変数ではなく、ArcMap の作成された一時フォルダーを使用しているようです。

私の質問:文字列操作以外に文法的にこれを回避する方法はありますか? この余分なものは常にそこにあり、単純に切り捨てられると想定できますが、この方法はやや汚いようです。私も同じ結果でこれを試しました:

とにかく、これはわずかに汚れが少ないだけです。

助けてくれてありがとう。

0 投票する
0 に答える
1217 参照

python - ArcMap でハイパーリンクされたドキュメントに相対パスを使用する

ArcMap の組み込みハイパーリンク スクリプト機能を使用して、ユーザーが相対パスを使用してマップ フィーチャにリンクされたドキュメントを開くことができるようにしようとしています。つまり、リモート サイトに展開される定義済みのディレクトリ構造がありますが、各サイトは異なるドライブ文字を使用する場合があります。これまでのコードは、リモート サイトが W: ドライブ文字を使用している場合にのみ機能します。

ArcMap プロジェクト (.mxd ファイル) 自体は、W:\GIS\Projects\ArcMap\GISproject.mxd として保存されます。HLINKDOC は、「BLD000016.html」のような文字列を含む建物レイヤーのフィールドです。Hyperlink Base プロパティで "..\" 規則を使用しようとしましたが、うまくいきませんでした。

OK、コードを次のように編集しましたが、まだ機能していません。私は正しい軌道に乗っていますか?

アップデート:

どうやら、以前は "..\" 規則を適切に実装していなかったようです。解決策を要約すると、「ハイパーリンク」セクションの「表示」タブで「スクリプト」オプションを使用していません。代わりに、「ドキュメント」オプションを選択しました。次に、「....\Documents」を「Hyperlink Base」パラメーターに入力しました。2 つの異なるドライブ文字にある GIS ルート フォルダーでテストしたところ、デフォルトのブラウザーは、MXD プロジェクトが配置されている同じドライブ文字に対応する html ファイルを開きます。

0 投票する
2 に答える
2024 参照

python - Python で「for」ループを使用して Select By Attributes に変数を渡す

ArcMAP で「属性による選択」を使用してスクリプトを作成しようとしています。私がやりたいことは、Select by Attribute 式に値を渡す for ループを作成することです。私は次の行に沿って何かを考えていました: (x=シェープファイル内のポリゴンの数)

残りのスクリプトは処理できるはずですが、これを実行すると、式が無効であるというエラー コード 000358 が表示されます。ArcMap は、select by 属性内の「j」が気に入らないようです。

全体的な目標は、ポリゴンを分離し、位置による選択を使用して交差するポリゴンを見つけ、2 つの領域を見つけ、分割して 2 番目のポリゴンがカバーするメイン ポリゴンのパーセンテージを取得することです。

願わくば、この説明が助けを得るのに十分明確であることを願っています