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

構造化クエリ言語の略語。リレーショナルデータベースからデータを取得して操作するための構文。

3
ArcGIS for Desktopを使用して定期的にポイントにラベルを付けますか?
私は、多数の連続する点で表される道路上の線を扱っています。それらすべてにラベルを付けると、ポイントを識別できなくなるため、25の間隔でラベルを付ける方法があるかどうか知りたいのですが。 25で終わるものを表示するためにSQLクエリを試しましたが、レコードが返されませんでした。

1
セミコロンで属性による選択クエリを使用する方法
セミコロン ';' を使用して、ArcGIS 10の[属性で選択]を使用して、複数(50以上)の一意の数値レコードを選択しようとしています。それが行くために良いと確認する各レコードの後。私の表現が「成功」であることを確認する場所のスクリーンショットをご覧ください。 しかし、OKがヒットすると、最初のレコードのみが選択されます。 複数のレコードを選択するには、"xyz" = 1 OR "xyz" = 2 OR "xyz" = 3などと入力する必要がありますか?

1
属性で結合/ SQLでスペーシャライト/ QGISの左外部結合
「n」線オブジェクト(「道路」)と交差するポリゴン(「木」と呼びましょう)のレイヤーがあります。すべての道路には一意の属性roadidがあります。 後の使用のために交差するwoods-polygons-layerにすべてのロードID(最初のQGisだけでなく)を追加する必要があります。好ましくは、すべてのロードIDは、たとえば「、」で割った「森」の1つの新しい属性列にある必要があります。 すべての木に道路が1つしかない場合は、「位置による属性の結合」ツールを使用して、ポリゴンの道路IDを取得できます。必要な属性は一意の文字列であるため、フィールドを合計/平均/最小/最大化するのに役立ちません。また、「、」で区切られた文字列としてそれらを結合するオプションはありません。 編集:プラグインや外部プログラムの助けがなければ解決策はありません(以下のMatthias Kuhnのコメントを参照)。 (QGIS 2.10.1-Pisa)

2
Geometry.STIntersectクエリの最適化
ESRIベースのプロセスからSQL Serverに単純なジオプロセシングルーチンを移動しようとしています。私の仮定は、それがはるかに効率的であるということです。私の最初のテストでは、重複する線形データを関連付けるために交差ルーチンに取り組んでいます。 私のWCASINGテーブルには1610レコードがあります。これらのケーシングを関連するメインに関連付けようとしています。約277,000のメインがあります。最大1,600のケーシングがあります。 以下のクエリを実行して、個々の一致を見つけるのにかかる時間の一般的な意味を取得します。このクエリは、40秒で5つの有効な交差を返しました。 SELECT Top 5 [WCASING].[OBJECTID] As CasingOBJECTID, [WPUMPPRESSUREMAIN].[OBJECTID] AS MainObjectID, [WCASING].[Shape] FROM [dbo].[WPUMPPRESSUREMAIN] JOIN [WCASING] ON [WCASING].[Shape].STIntersects([WPUMPPRESSUREMAIN].[Shape]) = 1 私の主な質問; 検索順序によっては、この処理が速くなりますか? 「B」の内部で「A」を見つけると、 「A」の内部で「B」を見つける これらのデータセットからの5つのレコードの最初のリターンは問題ではないということです 最初にバッファリングして小さなメインセットに制限してから検索すると、この処理は速くなりますか? SQL Server Tuningを使用して、ジオメトリベースのクエリを操作できますか? SELECT WCASING.OBJECTID AS CasingOBJECTID, WPUMPPRESSUREMAIN.OBJECTID AS MainObjectID, WCASING.UFID AS UFID, WPUMPPRESSUREMAIN_IPS.UFID AS MainUFID, WCASING.SHAPE INTO WCASING_INTDefsV6 FROM WCASING with …

2
SQLワイルドカード範囲に基づいて属性で選択
文字列が文字で始まるジオデータベーステーブルからすべてのレコードを選択したいので、試してみました SELECT * FROM tbl_names WHERE "name" LIKE '[A-Z]%' これはレコードを返しませんでした。いくつか検索したところ、これはSQL Serverの構文であることがわかりました。SQLサポートのすべてのバージョンを知っている限り、これが問題になるとは思いませんでした%。クエリ式の作成に関するヘルプファイルを確認した後、正しい構文が SELECT * FROM tbl_names WHERE "name" >= 'A' 名前はすべて文字列なので、最初の本能はを試すことLIKEでした。>=代わりに演算子が使用されるのはなぜLIKEですか?ArcMapではワイルドカード範囲はサポートされていませんか?

2
ArcGIS Desktopを使用して複数のフィールドに基づいて結合を作成しますか?
複数のフィールドに基づいて結合したいファイルジオデータベースに2つのフィーチャクラスがあります。私はこのサイトとGoogleを検索しましたが、思いついたのはMake Query Tableツールを使用することだけでした。私はこれを試しましたが、SQLエラーが出続けます。私のSQLはかなり貧弱であり、何かが欠けていると確信しています。 新しいフィールドを作成してフィールドの値を連結できることは承知していますが、可能であればこれを避けたいと思います。 私は次のようなものを使用しています: (Table1.Field1 = Table2.Field1) AND (Table1.Field2 = Table2.Field2) AND (Table1.Field3 = Table2.Field3) クエリを確認すると、次のエラーが表示されます。 There was an error with the expression. An Invalid SQL statement was used. An invalid SQL statement was used. [Table1] また、誰かがこのツールを使用しない別の解決策を持っている場合、私はそれについて聞いてうれしいです。

2
プレーンSQLを使用してPostGISでバッファテーブルジオメトリを動的に変更する
PostGISには、pointテーブルとpoint_bufferテーブルの2つのテーブルがあります。ポイントテーブルにはbuffer_distanceフィールドがあり、デフォルト値は200です。ポイントテーブルのbuffer_distance値を変更するたびに、バッファテーブルジオメトリを変更したいと思います。これは、point_bufferテーブルの1つの行に対して次のようにして実行できます。 UPDATE point_buffer SET the_geom = (SELECT ST_Buffer(the_geom,500) FROM point WHERE gid = 1) FROM point WHERE point.gid = point_buffer.gid しかし、point_bufferテーブル全体(サブクエリにWHERE句を削除)を変更しようとすると、エラーメッセージが表示されます。 「エラー:式として使用されているサブクエリから複数の行が返されました。」 私の質問は、point_bufferテーブル全体を一度に変更できますか?1つのオプションがfor loppを使用していることを知っています。上限はポイントテーブルのカウント値であり、point.gid値を増分します。しかし、私はこれをプレーンSQLで実行したいと考えています。

1
PostGISで建物の壁を修正する方法は?
建物の壁を修正するために、ポリゴンの中間の頂点を削除するために、PostGISでの操作が必要です。 私はhttp://trac.osgeo.org/postgis/wiki/UsersWikiExamplesSpikeRemoverを改訂していましたが、スパイクを除去するためにのみ機能します。 例:
8 postgis  sql 

4
ArcGIS Desktopで文字を含む文字列を検索するためのSQL式?
私はArcGIS 9.3.1に取り組んでいます。次のようなポイント名を含む文字列フィールドを持つシェープファイルがあります。 10 12 12/13 t/9 6577y 1234 12t9 124y67 u9 など(そして、はい、それは巨大な混乱のように見えます。それは私のデザインではありません)。使用 WHERE MyColumn LIKE '%Search String%'Iは、(属性によって選択使用して)特定の文字またはバックスラッシュ(/)を含むものを見つけることができます。 文字を含むすべての値(この例では、t / 9、6577y、12t9、124y67、u9)を選択するにはどうすればよいですか?(位置を指定する方法はありますか?)

1
PostGISの隣接するラインストリングのリストからすべてのノードを取得します
私はPostGisとpgRoutingを使用しています。最短パスクエリによって返された隣接エッジのジオメトリを含むテーブルがあります。これらのエッジを連結して、これらのエッジを構成するすべてのノードのリストを取得します。SQLでこれを行うにはどうすればよいですか? ソリューションはLineMergeとGeomUnionの混合になると思いますが、それを行うスマートな方法はありますか? ありがとう。
8 postgis  sql 

1
Postgres / postgisカーソル
各セグメントのStreetNameと最小/最大のアドレス範囲を持つ道路ネットワークがあります(つまり、StreetName = 'Main St'、最小= 100、最大= 199)。同様の情報を持つ個々の住所ポイントもあります(例:StreetName = 'Main St'、HouseNumber = 115)。 道路セグメントのfeatureid(gid)を、StreetNameが一致し、道路セグメントの最小/最大範囲内にある各住所ポイントに割り当てたいのですが。ArcGISでは、おそらく道路の検索カーソルを記述し、それが各道路セグメントを循環し、gid、name、min、&maxの値を取得してから、クエリステートメントを実行して、HouseNumbers内にあるすべての住所ポイントを検索します与えられたセグメント範囲(つまり、StreetName = 'Main St'で最小> = 100および最大<= 199であるAddressPointsを選択)、道路セグメントのgidを計算して、Address Pointレイヤーで選択されたポイントのフィールドに移動し、次に進みます。次の道路セグメントに移動して繰り返します。 postgres / postgisまたは これを行うより効率的な方法はありますか?

2
PostGISでリージョンを使用してポリラインを分割する
PostGISでポリゴンの境界線(領域)でポリラインを分割することが可能かどうか疑問に思っていました。 リージョンroad_blocksとラインを呼び出しましょうroad_cl road_block新しく作成したポリラインの下から新しいポリラインにデータをコピーできる場合、それは本当のボーナスになります。

4
PostGISで非常に大きなデータセットを返すクエリ
数百万行を返すPostGISクエリがあります。 SELECT t1.id AS id1, t2.id AS id2, ABS(t1.mean_h - t2.mean_h) AS h_diff, ST_Distance(t1.the_geom, t2.the_geom) AS dist FROM tas_ponds as t1, tas_ponds as t2 WHERE (t1.gid > t2.gid) AND ST_DWithin(t1.the_geom, t2.the_geom, 17000) で実行するとpsql、out of memory for query resultエラーが発生します。 Googlingは、これはpostgres / PostGISではなくpsql内のエラーであることを示唆しています。クエリをフォームにSELECT ... INTO x FROM ...修正すると問題が解決しますか?非常に大きなデータセットを処理するために推奨される他の方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.