問題タブ [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-server-2008 - 分離係数を指定して、レコードを時系列で返します
SQLServer 2008に巨大なテーブルがあり、技術者によって毎分報告された位置が含まれています。このテーブルについてレポートする必要がありますが、レポートに表示されるレコードの量を制御するには、時間と距離の両方の分離要因を考慮する必要があります。
したがって、クエリは次のようになります
時間の部分はできましたが、距離の部分で苦労しています。各ポイントの緯度と経度がわかっているので、問題を解決するためにSQLServer 2008 空間 UDTを含める必要がある場合でも問題はありません。
私が検討したこと:
時間係数によってレコードを取得し、隣接するポイント間の距離を計算してクライアントに分離制約を適用し、係数内にあるものを破棄します。(最も簡単ですが、より多くのリソースを消費する必要があります)。
技術者ごとの最後のレコードをキャッシュに保持し、レコードとその前のレコードの間の距離を事前に計算して、クライアントの制約を解決します。(ただし、距離は事前に計算されているため、1 より少ないリソースを消費する必要があります)。ただし、テーブルが BIGであるため、データセットのサイズが大きくなります。スペースが処理の節約に見合うかどうかはわかりません)。
SQLServer 2008で空間関数を使用しますが、正直なところ、私は読んでいて、このタイプの要件を解決するのに役立つものを見つけることができませんでした。GISの専門家はいますか??
可能な限り最良のオプションを選択したいと思います(おそらく上記にリストされていませんか?)。IMOは、SQLserver機能を最も効率的に使用するものでなければなりません。
c# - 指定された配列へのデータテーブル/データセットの変換
私はphp.Iにある1つのチュートリアルを参照しています.C#に変換しています.問題は、彼らが使用したことです
これで私のクエリ
postgresqlで実行した後の結果は
この後、私のphpはこれを配列に変換します(これは、指定されたシステムデータテーブルを配列に変換します)
今、私はphpが行う同様の機能を書きたいですか? しかし、正しく変換できません
私の関数は次のようになります
誰か助けてください。前もって感謝します。
oracle - Spatial DB のメタデータ エントリを削除できません
CREATE TABLE building (buildid VARCHAR(15) PRIMARY KEY, buildname VARCHAR(50),numpoint NUMBER,points SDO_GEOMETRY);
CREATE INDEX building_spatial_idx ON building(points) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
INSERT INTO USER_SDO_GEOM_METADATA(TABLE_NAME,COLUMN_NAME,DIMINFO,SRID) VALUES ( '建物', 'ポイント', SDO_DIM_ARRAY( --820*580 グリッド SDO_DIM_ELEMENT('X', 0, 820, 1), SDO_DIM_ELEMENT('Y', 0) 、580、1) )、NULL --SRID );
初めて実行したときはエラーは発生しませんでしたが、あとがきはエラーが発生しています
それとも他に理由があるのでしょうか。すべてのインデックス、メタデータ、テーブルを一度に削除して、このエラーを取り除くにはどうすればよいですか。
reporting-services - マップ レイヤー ウィザードを使用した場合の「指定されたデータセット フィールドの空間データ タイプを判別できません...」
空間データをマップに追加できるように、SSRS で初めてマップ レイヤー ウィザードを使用しています。
ウィザードから次のエラーが表示されます。
空間データのデータ タイプは geography です。
クエリ デザイナーで実行すると、空間データは次のようになります。
SSMS から同じクエリを実行すると、次のようになります。
すべての助けに感謝します。
mysql - mysql:mysql Spatialを使用し、距離を計算して、多くのPOIの緯度と経度を保存します
イタリア(> 100000)にたくさんのレストランのデータベースを作成する必要があり、「近く」の関数を作成したいと思います。すべてのレストランの緯度と経度を含むテーブルを作成するのが好きで、mysqlspatialを使用することを考えました。
半径10kmにある、私の周りのすべてのレストラン(私の座標はGPSで取得されます)を見つけるためのクエリを作成する方法を知っていますか?
距離を把握しようとしていますが、グーグルで回っても面白いものは見つかりませんでした。
mysqlspatialを使用するのは良い考えだと思いますか?代わりにfloatを使用できますか?この場合、半径10 kmにある私の周りのすべてのレストランを検索するクエリを作成するにはどうすればよいですか?
どうもありがとう
mongodb - 空間データベースを使用してポイントを含むポリゴンを見つける
MongoDB を使用して空間レコードを保存しています。一部のレコードはポリゴンであり、その他はポイントです。データは継続的に挿入されています。
ポリゴンにポイントが含まれるすべてのレコードにアクセスできる必要があります。Mongo の空間クエリでは、ポリゴン内のすべてのポイントを見つけることができますが、ポイントを含むすべてのポリゴンを見つけることはできません。MongoDB の別のデータベース システムでこれを行う良い方法はありますか?
sql-server - SQL Server の空間インデックスで STCrosses() を使用する
Geography データの Microsoft StCrosses() 関数は空間インデックスをサポートしていますか?
空間インデックスでこの関数を実行しようとすると、次のエラー メッセージが表示されます。
「クエリ プロセッサは、空間インデックス ヒントを含むクエリのクエリ プランを生成できませんでした。理由: 空間インデックスは、述語で指定されたメソッド名をサポートしていません。インデックス ヒントを削除するか、SET FORCEPLAN を削除してみてください」
python - rtree で、フロート等価性テストのしきい値を指定するにはどうすればよいですか?
rtree で、フロート等価性テストのしきい値を指定するにはどうすればよいですか?
最近傍点をチェックする場合、rtree は指定された数よりも多くの結果を返すことがあります。これは、2 つの点が等距離にある場合と同様に、両方の点が返されるためです。この等距離を確認するには、距離が浮動小数点であるため、何らかのしきい値が必要です。このしきい値を制御できるようにしたい。
sql-server-2008 - SQL Server 2008 空間データ選択クエリ
SQL データベースを維持するプロジェクトに取り組んでいます。このデータベースには、タイプ ジオメトリの "area" という名前の属性を持つ AirportZone というテーブルがあります。また、地理タイプの「場所」という名前の属性を持つテーブル OfferRequest を維持します。空港エリアで OfferRequest が発生したかどうかを確認したいので、特定のエリアのユーザーから行われたすべてのリクエストを返す複雑な SQL クエリを定義したいと考えています。何かのようなもの:
変数 @tmp_geo が原因で、このクエリが間違っていることは明らかです (タイプ geography にしたい)。これを行う方法はありますか、またはwhileループを定義する必要がありますか?
ありがとうございました
sql-server - 空間インデックスにより、STContains を使用したクエリが遅くなる
SQL Server 2012 で空間インデックスを使用できるかどうかをテストしています。
だから、私はテーブルを持っています
そしてインデックス
[Bounds] 列には 5 ポイントのポリゴン、実際には長方形 (x1 y1、x1 y2、x2 y2、x2 y1、x1 y1) が含まれます。
@bounds 変数には、同じタイプの四角形が含まれています。奇妙なことは、次のクエリ
空間インデックスなしで 3 倍以上高速に実行されます。
インデックスでは、時間の 65% がレコード テーブルに対するクラスター化インデックス シークであり、29% がフィルターです。全部で65秒。
インデックスがない場合、時間の 92% はフィルターであり、8% はレコード テーブルのクラスター化インデックス スキャンです。合計19秒。
それで、私はここで何が間違っていますか?