タグ付けされた質問 「definition-query」

3
選択フィーチャからレイヤーを作成ツール:フィーチャのリストはどのように保存されますか?
ArcGIS Desktopには、[ 選択したフィーチャからレイヤーを作成]というツールがあります。このツールを使用して、選択範囲をArcMapのレイヤーに変換できます。 地図に表示する機能を分離するレイヤーのどこかに埋め込まれた「機能のリスト」があると思います。 私は、「機能のリスト」がのリストwhereとして定義クエリの句に格納されると考えていたでしょうobjectids。例:where objectid in(123,456,789,...)。ただし、そうではありません。 レイヤーにWHERE句または定義クエリがない場合、フィーチャのリストはどのように保存されますか?

3
ラベルクラスと定義クエリの使用-どれが最も効果的ですか?
ArcSDEジオデータベースに格納された非常に大きなデータセットを使用して、ArcMap内で作業する場合に最高のパフォーマンスを提供するのはどれですか?特定のフィーチャにラベルを付けるために複雑なSQLクエリを使用する複数のラベルクラス、または各レイヤーの定義クエリとして設定される同じ複雑なSQLクエリを使用する同じレイヤーの複数のコピー?

3
シェープファイルからArcPyレイヤーに定義クエリを設定しますか?
ArcPyを使用してレイヤー定義クエリを設定するオプションを決定しようとしています。 arcpy.mapping.ListLayers()を使用すると可能になることを知っています。 ただし、このシナリオでは、シェープファイルを読み込んでおり、ArcPyでarcpy.MakeFeatureLayer_management()を使用しています。 このジオプロセッサを使用して作成したレイヤーに定義クエリを設定します。 これは可能ですか?

3
ArcGIS Desktopの定義クエリをコメント化しますか?
私は日常のGISライフで定義クエリを頻繁に使用していますが、ArcMapで不快に感じることが多いのは、定義クエリをコメントアウトできないことです。定義クエリをオン/オフしたい場合や、単一のシェープファイルで複数のクエリを使用したいが、一度にアクティブになるのは1つだけなので、このオプションを使用したいと思います。 これまでのところ、これを回避するために、私は通常、バックグラウンドにメモ帳ドキュメントを用意し、必要に応じてコピーして貼り付けます。ただし、理想的な解決策は、レイヤープロパティの定義クエリタブを使用してこのドキュメントを置き換えることです。レイヤーに複数の異なるクエリがある場合がありますが、すべてコメント化されています。 私が理解しているように、定義クエリはSQLで記述されています。SQLでのコメントに私はあなたがどちらかと行を開始信じる:-または括弧内の文を包含する:{} 。私はこれらの両方を試しました: Original: "DATA_AQUISITION" LIKE 'MISSING XSECTION' Dashes: --"DATA_AQUISITION" LIKE 'MISSING XSECTION' Brackets: {"DATA_AQUISITION" LIKE 'MISSING XSECTION'} 最後の2つのステートメントはSQL式エラーを返し、ArcMapに描画されません。プログラミングソリューションを探しているのではありません。

1
ArcMap定義クエリでNaNまたは±∞(特別な浮動小数点値)を参照していますか?
ArcMapが特別な浮動小数点値をユーザーに表示する方法を偶然発見しました。 +∞(正の無限大)は、 1.#INF –∞(負の無限大)は次のように表示されます-1.#INF—これは確認していません。 NaN(数値ではない)は右揃えで表示されます—左揃え<Null>と混同しないでください<Null>。これはNULL(欠損値)を示します。 (ところで、フィールド計算機で一意の値を取得すると、NaNはまったく表示されません。) しかし、これらの特別な値に基づいて行を選択するためのレイヤー定義クエリを作成する方法を発見していません。 ColumnName IS NULL 通常のNULL値のみが選択され、NaNは選択されません。 ColumnName = 1.#INF 構文が無効であるため拒否されます。 誰でもこれを行う方法を知っていますか? 1.#INF値をテーブルフィールドに保存するためのC#ArcObjectsコードスニペット(基本的な概念): 要求通り。私はもう仕事をしていないので、以下は私が使用した実際のコードではなく、現在テストすることはできませんが、上のスクリーンショットに示す効果が得られるはずです。 ITable table = …; int doubleFieldIndex = table.FindField(…); IRow row = table.CreateRow(); row.Value[doubleFieldIndex] = double.PositiveInfinity; row.Store();

3
ArcMapでアンダースコア文字をクエリしますか?
OracleベースのArcSDEフィーチャクラスに対する標準のLIKEクエリの場合、アンダースコア文字は、文字列と一緒に使用すると、1文字のワイルドカードを表します。 私は定義クエリを課して、4桁で始まり、その後にアンダースコア文字が続くテキスト文字列を検索しようとしています。 誰かがクエリでアンダースコア文字自体をどのように指定するのか、またはエスケープ文字が何であるかを知っていますか? MDHaldの回答はファイルジオデータベースで機能しますが、私のケースはOracleに固有です。この場合、ArcSDEとファイルジオデータベースクエリは同じように機能すると誤って想定されていました。

1
左結合を使用したArcObjects
SQLの左結合に相当するArcObjectsコードが必要です。 例:以下のSQLコードがありChecklistIdます。値に基づいて両方のテーブルからレコードをフェッチするのは簡単な結合です。 SELECT T1.ChecklistId, T1.ChecklistName, T2.Latitude, T2.Longitude FROM [dbo].[TableOne] T1 INNER JOIN [dbo].[TableTwo] T2 ON T2.ChecklistId = T1.ChecklistId WHERE T1.ChecklistId = @ChecklistId 上記のSQLクエリをArcObjectsに変換しました。 IQueryDef queryDef = featureWorkspace.CreateQueryDef(); queryDef.Tables = "TableOne, TableTwo"; queryDef.SubFields = "TableOne.ChecklistId, TableOne.ChecklistName, TableTwo.Latitude, TableTwo.Longitude"; queryDef.WhereClause = "TableOne.ChecklistId = '" + checklistId + "' AND TableOne.ChecklistId = TableTwo.ChecklistId"; …

1
PostGISクエリとQGISフィルター
約300万の形状を持つPostGISデータセットがあります。一度に表示する必要がある図形は約1,500個だけですが、表示する必要がある図形は、別のデータセットで選択されているフィーチャによって異なります。 私の質問は、PostGIS内で大規模なデータセットをフィルタリングしてからQGISに提供するのと、データセット全体をQGISにロードしてから組み込みのレイヤーフィルタリングを使用することの速度の違いは何ですか?PostGIS 2とQGIS 1.8を実行しています。 PostGISの方が高速だと思いますが、どのくらい高速ですか?あるソリューションのコーディングに他のソリューションよりも時間をかける前に、セカンドオピニオンが欲しい ありがとう!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.