問題タブ [spatial-query]
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.
sql - ポイントを単一のポイントに結合する
私は空間データにpostgresとpostgisを使用しています。交点のセットを含むテーブルがあります。以下はテーブルの構造です。
各ポイントは、2つの道路間の交差点を表します。しかし、2本ではなく3本の道路が交差する道路がいくつかあり、そのために3つの異なるポイントが作成されています。次の画像は問題を示しています。
3つの異なるポイントを1つのポイントにまとめたいと思います。そのポイントは、3つの異なる道路ではなく、3つの道路すべての交差点を表します。
st_collectとst_convexhullを使用し、st_centroidよりもポイントから単一のポイントを見つけることを考えていました。しかし、私はそれを機能させることができません、おそらく私は間違ったアプローチを取っています。
そのような問題にどのように取り組むのが最善ですか?
sql - 建物の重心を含む区画を示す空間 SQL クエリ
特定の建築基準法 (bldg_code = 3)の重心を含む区画を選択するクエリを作成しようとしています。
区画はテーブル "city.zoning" にリストされ、各区画の PIN、ジオメトリ、および面積の列が含まれています。テーブル「建物」には、建物の種類とそれに対応するコードを示す bldg_type と bldg_code の列が含まれています。このクエリで対象となる建物タイプの bldg_code は 3 です。
これまでのところ、対象の建物タイプと相互作用する区画を表示するクエリを作成しました。
何か案は?
solr - Distance のファセット クエリの frange に相当する Solrnet
私は空間検索を実装しており、Solr で距離の範囲または「バケット」のファセットを生成する必要があります。
次の質問への解決策が見つかりました solrの距離でのファセット - 与えられた距離の範囲内で検索するリンクを生成する方法役に立ちました。
Solrnet を使用して、.NET ベースのサイトから Solr クエリを生成しています。以下のように、クエリのフランジ部分 (イタリック体)を生成するのに役立つリンクが見つかりません。solrnet を使用してこれを生成するコードを教えてください。
&q= : &sfield=store&pt=45.15,-93.85**&facet.query={!frange l=0 u=5}geodist()&facet.query={!frange l=5.001 u=3000}geodist()**.
sql - PostGis 挿入長方形
こんにちは、質問があります: Postgis データベース内に Ne_latitude、NE_longitude、SW_latitude、SW_longitude を含むボックス (四角形) を挿入し、異なるボックス間の交差を取得するために INDEX を上に構築するにはどうすればよいですか?
前もって感謝します
spatial-query - Oracle 空間データ演算子 - SDO_nn - sdo_num_res = 1 の結果が得られない
SDO_NN 演算子を使用して、建物の隣にある最も近い消火栓を見つけています。
建物:
消火栓:
building.shape の空間インデックスを適切に設定し、クエリを実行して、建物「Motel」に最も近い消火栓を取得します。
問題は次のとおりです。
パラメータsdo_num_res=1を設定すると、タプルがゼロになります。そして、sdo_num_res=2 にすると、タプルが 1 つ取得されます。
奇妙な動作の理由は何ですか?
注: building.name= 'Motel' の場合にのみ 0 行を取得しています。他のすべてのタプルでは、sdo_num_res = 1 の場合に 1 行を取得しています。
編集:クエリを挿入
sql-server-2008 - 空間機能を使用したSql Server 2008半径検索
私は私のものに似た多くのSOの質問を見てきましたが、私の特定のケースでは何もうまくいかないようです。郵便番号と半径を使用して問題なく動作する半径ベースの検索の実装がありますが、人々は郵便番号の端に住むことができ、アプリケーションが郵便番号のある場所にのみ到達することが制限されるため、精度はやや低くなります。私がやろうとしているのは、ユーザーの場所の緯度と経度を使用し、SQL サーバーの空間機能を使用して、ユーザー定義の半径内の緯度と経度を持つ Locations テーブルから ID のリストを返すことです。これが私がこれまでに持っているものです:
GetDistanceBetween は次のように定義されています。
Location テーブルには、Latitude、Longitude、および Id の 3 つの列が含まれています。各 Location 行は、情報が必要な別のテーブル Address に属しています。私がストアドプロシージャでやろうとしているのはこれです:
ご覧のとおり、GetDistanceBetween 呼び出しの結果を別の選択に渡そうとしています。これは現在、結果を返しませんが、他の方法では 39 の結果が返されます。誰かが私が間違っていることを見ることができますか? 私は実際にはデータベースの男ではありませんが、プロジェクトの開発者だけであるため、それらの回避方法を学ばなければなりませんでした。問題がある場合は、NHibernate を使用して C# MVC3 アプリケーションからストアド プロシージャを呼び出しています。
助けていただければ幸いです。
mysql - SQL を使用した空間クエリ
以下のステートメントを使用して、「緯度」と「経度」という名前の 2 つの varChar 形式の列から「座標」という名前の Point 形式の列に書き込みます。
次のステートメントを使用して、座標列に対して空間クエリを実行しようとしています。
このツールによると、クエリのポリゴンは米国全体をカバーしています。テーブルに米国内にあるポイントがあることはわかっていますが、まだ結果が得られていません (エラーではなく null の結果が得られていることに注意してください)。私が間違っていることについてのアイデアはありますか?
アップデート。以下は、以下の提案に従ってクエリを実行するための更新された試みです。
sql-server-2012 - SQL Server 2012 空間インデックス 最近傍クエリ
米国の郵便番号と、これらの郵便番号の緯度と経度を含むテーブルを作成しました。緯度と経度から地理列を作成しました。その geography 列に空間インデックスを作成しました。最も近い100の郵便番号を緯度と経度に返したいので、次のストアドプロシージャを作成しました
ただし、緯度 = 35.48330 と経度 = -97.17340 をこのストアド プロシージャに渡すと、アイテム 55 で次のように返されます。
869531 US 73045 ハラー オクラホマ OK 35.48330 -97.17340 0xE6100000010C12143FC6DCBD4140174850FC184B58C0 55894.2236191955
最後の列は距離です。基本的にクエリは、このレコードが入力されたポイントからほぼ 56KM 離れているが、緯度と経度は同じであると言っています。
MSDN を読みましたが、クエリは正しいようです。誰でも私を助けてもらえますか?
couchdb - CouchDB で地理空間キーと非地理空間キーを使用して表示する
私は CouchDB と GeoCouch を使用しています。場所と別のフィールドの値の両方を使用して、地理空間インデックスを作成し、データベースを「クエリ」することが可能かどうかを理解しようとしています。
データ
質問
これらのドキュメントに対して次のクエリを実行する方法はありますか?
job = "medic"
[15.12, 30.22] の近くにあるすべてのドキュメントを検索(より重要)- この場所 [15.12, 30.22] の近くにあるさまざまな職業をすべてリストします(プラス)
それが不可能な場合、どのようなオプションがありますか? すでにMongoDBへの乗り換えを検討していますが、別の方法で解決したいです。
ノート
- データは急速に変更され、新しいドキュメントが追加されたり、多くのドキュメントが削除されたりする可能性があります
参考文献
mysql - Mysql select where polygon contains point always false
MBRWithin、MBRContains、Intersects、Contains などのさまざまな機能を試しましたが (これらはすべて、このあたりの多くの投稿で見つかりました)、まだ運がありません。これは単純化されたクエリです。
その条件を真 (1=1 など) として評価し、すべてのユーザーを返すことを期待していましたが、そうはなりませんでした。教えてください、私は何が間違っていますか?
私はMySql 5.5を実行しています