問題タブ [spatial]
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.
spatial - 真ん中の正方形が使用できないボードに長方形をテッセレーションするための式を見つけようとしています
私は空間スタッキングの問題に取り組んでいます...現時点では2Dで解決しようとしていますが、最終的には3Dでこれを機能させる必要があります。
私はスペースを中央のブロックの周りのnxnの正方形に分割しているので、nは常に奇数です...そしてnxn未満の任意の次元の長方形(たとえば1x1、1x2、2x2など)ができる場所の数を見つけようとしています真ん中の正方形が利用できない場所に配置されます。
これまでのところ私はこれを持っています。
..また、平方の総数=(n(n + 1)(2n + 1))/ 6
しかし、真ん中の正方形が占有されるため、これらの場所のどれだけが不可能であるかを見つけるための式を作成することに固執しています。
したがって、たとえば:
[] [] []
[] [バツ] []
[] [] []
3 x3ボード...ミッドスクエアが使用されているので、物を保管するための8つの可能な場所があります。1x1シェイプ、1x2シェイプ、2x1、3x1などを使用できます。
式は、長方形の数を次のように示します。(9 + 3)^ 2/4 = 144/4 = 36のスタック位置ただし、中央の正方形は占有できないため、これらすべてを実現することはできません。
手作業では、これらは不可能なオプションであることがわかります。
1x1の形=1不可能(中央の正方形)2x1の形= 4不可能(中央の正方形を使用するもの)3x1=2不可能2x2=4不可能など合計不可能な組み合わせ=16
したがって、私が求めている解決策は、3x3ボード上で36-16=20の可能な長方形のスタッキング位置です。
これをC#でコーディングして試行錯誤を繰り返しましたが、nの大規模な値を解き、最終的にはこの3Dを作成したいので、実際には数式を求めています。
誰かが私にこの種の空間/テッセレーション問題の公式を教えてもらえますか?また、長方形全体の数式を3Dにする方法についてのアイデアは大歓迎です!
ありがとう!
informix - 空間データブレードを使用する IBM Informix
ポイント座標があるプロジェクトに IBM Informix を使用する必要があり、クエリの長方形領域に存在するポイントを見つける必要があります。
Informix には、ST_POINT および ST_POLYGON データ オブジェクトを含む空間データブレード モジュールがあります。そのようなオブジェクトを含むテーブルに r-tree インデックスを作成、挿入、および作成する方法を知っています。
しかし、問題は、特定の長方形領域内のすべてのポイントをリストする SELECT ステートメントを実行する方法です。
sql-server - SQL Server 2008 SpatialでLINESTRINGのサブストリングを返すにはどうすればよいですか?
LINESTRINGが次のように定義されているとします。
そして、私はから部分文字列を取得したい
SQL Server 2008 SpatialでLINESTRINGのサブストリングを返すにはどうすればよいですか?
database - データベースに空間インデックスが必要ですか?
幾何学的形状をデータベースに保存する必要があるアプリケーションを設計しています。データベース管理システムをまだ選択していません。
私のアプリケーションでは、すべてのデータベース クエリが入力としてバウンディング ボックスを持ち、出力としてそのデータベース内のすべての形状が必要です。この種のアプリケーションには、空間インデックスを持つデータベースが使用されることを知っています。しかし、私のアプリケーションでは、「x/y の近くにあるオブジェクトをくれ」というタイプのクエリや、GIS アプリケーションで役立つその他のより複雑なクエリはありません。
空間インデックスのないデータベースを計画しており、クエリは次のようになります。
また、列およびに索引を付けます。私が見る限り、空間インデックスを備えたデータベースは実際には必要ありませんが、私のアプリケーションはその種のアプリケーションに近いものです。x (double)
y (double)
また、クエリを近くに置きたい場合でも、そのポイントの周りに十分な大きさのバウンディング ボックスを作成できます。それとも、これはパフォーマンスの低下につながりますか?
空間データベースは本当に必要ですか? また、空間インデックスが必要になるのはいつですか?
EDIT: 検索クエリは、実際には上で書いたものよりも少し高度になります。これは、幾何学的形状を扱うため、ボックスの内側にあるか、ボックスに干渉する複数の形状(バウンディングボックス付き)を返すバウンディングボックスを入力しますクエリで。しかし、すべての良い答えを読んだ後でも、空間インデックスなしでこれを行うことができると思います。
c# - C# と ADO.NET を使用して、SDO_GEOMETRY 型の空間列を持つ Oracle テーブルをクエリするにはどうすればよいですか?
私の開発マシンは、Windows 7 Enterprise、64 ビット バージョンを実行しています。Visual Studio 2010 Release Candidate を使用しています。Oracle 11g Enterprise サーバー バージョン 11.1.0.7.0 に接続しています。64 ビット Windows システム用に作成された Oracle クライアント ソフトウェアを見つけるのに苦労し、最終的にここにたどり着きました適切なクライアント接続ソフトウェアであると私が想定しているものをダウンロードします。バージョン 2.111.6.0 の「Oracle.DataAccess」への参照を追加しました (ランタイム バージョンは v2.0.50727)。私のVSソリューションのすべてのプロパティはデフォルトであり、これは2010 RCであるため、.NET CLRバージョン4.0をターゲットにしています。次に、接続を確立し、SELECT ステートメントを実行し、問題のテーブルに空間列が含まれていない場合に適切にデータを返すコンソール アプリケーションを C# で作成することができました。私の問題は、クエリしたテーブルに SDO_GEOMETRY 型の列がある場合、これが機能しなくなることです。
以下は、問題を再現するために実行しようとしている単純なコンソール アプリケーションです。コードが「ExecuteReader」コマンドの行に到達すると、例外が発生し、「サポートされていない列データ型」というメッセージが表示されます。
このコードが SDO_GEOMETRY 型の空間列を含まないテーブルに対して使用された場合に機能するという事実は、Windows 7 マシンが適切に構成されていると思わせるので、テーブルにさまざまな種類の列が含まれている場合にこの例外が発生することに驚いています。自分のマシンまたは Oracle マシンに必要な構成があるかどうか、またはインストールした Oracle クライアント ソフトウェアが間違っているか、古いため更新する必要があるかどうかはわかりません。
これを正確に再現したい場合は、テーブルを作成し、空間列にポイントを含むいくつかの行を入力するために使用した SQL を次に示します。
SQL 作成コマンド:
アドバイスや洞察をいただければ幸いです。ありがとうございました。
compression - Oracle 出力: カーソル、ファイル、または非常に長い文字列?
まず、セットアップ: 空間列を持つ Oracle10g データベースにテーブルがあります。ジオメトリを任意の座標系に再投影できるように、空間参照を渡すことができる必要があります。最終的には、このプロジェクションの結果を zip ファイルに圧縮し、Silverlight プロジェクトからダウンロードできるようにする必要があります。
これを達成するための最良の方法についてのアイデアを本当に感謝します. 以下の例では、SRID は、ジオメトリ ポイントを新しい座標系に変換するために使用される空間参照 ID 整数です。
特に、いくつかの可能性が見えます。他にもたくさんありますが、私が考えている方法は次のとおりです。
a) SRID を動的ビューに渡す --> プロジェクションを実行し、カーソルを出力する --> カーソルを UTL_COMPRESS に送信する --> 出力を (何らかの方法で) ファイルに書き込む --> URL を Silverlight アプリに送信する
b) SRID を使用して Silverlight アプリから Oracle 関数を呼び出します --> プロジェクションを実行し、文字列を出力します --> 文字列をファイルに作成します --> .NET で SharpZipLib ライブラリを使用してファイルを圧縮します --> バイトストリームを Silverlight アプリに送り返します
b) の最初の 2 つのステップを実行しましたが、100 ポイントの変換に約 7 秒かかりました。これは容認できないほど遅いです。Oracleで完全に処理を行う方が高速になることを願っています。
これを行ういずれかの方法で潜在的な問題を発見できる人、またはより良い方法を提案できる人がいれば、非常に役に立ちます。
ありがとう!
ETA:投稿する前に、これにより良いタイトルを付けるつもりでした。ごめん。
oracle - Oracleで最短ルートを見つけるためのクエリ
Oracle 11g Spatial Databases の調査を開始しています。2 つのポイント間、またはポイントとラインストリング間の最短ルート (またはパス) を返すクエリがあるかどうかを知りたいです。
ラインストリング (ハイキング トレイル) とポリゴン (地理的な事故) を含むマップがあり、事故を回避しながら、現在地と最寄りのトレイルとの間の最短ルートを見つけたいと考えています。最寄りのトレイルを返すクエリが既にありますが、事故の輪郭を描いていません。
どうもありがとうございました。
sql-server - SQL サーバーの空間データ
ポリゴンと交差するポイントとそのポリゴンの境界との間の距離を見つける効率的な方法を見つけるのに苦労しています。ポイントをポリゴンを構成するすべてのポイントと比較するSTDistanceを使用できましたが、それには多くの時間がかかります。STDistance は制約の一部ではないため、インデックス付きの SPatial を使用してもあまり役に立ちませんでした。また、制約を設定した場合でも、インデックスはあまり役に立ちませんでした。
フィードバックをいただければ幸いです。
ありがとう。
gis - 形状で記述された都市の境界に緯度/経度を非常に効率的に割り当てる方法は?
36,000 個の重なり合わないポリゴン (都市の境界) の巨大なシェープファイルがあります。特定の緯度/経度が該当するポリゴンを簡単に特定したいと考えています。非常に計算効率が高くなければならないことを考えると、最善の方法は何でしょうか?
tilex と tiley がズーム レベル 21 または 22 のタイル識別子であるルックアップ テーブル (tilex,tiley,polygone_id) を作成することを考えていました。
Postgres の GIS 拡張機能は使用したくないので、2 日間実行してすべての INSERT ステートメントを生成するプログラムで問題ありません。
php - 空間検索のための Solr と Sphinx の比較
私は、今後のプロジェクトで使用する全文検索エンジンを選択する任務を負っています。私が読んだことに基づいて、私はSolrに傾いていますが、空間検索については少し心配です. 他のパラメータ (キーワード、カテゴリなど) に加えて、場所と最大距離 (たとえば、アリゾナ州テンペから 25 マイル以内) を指定できるようにしたいと考えています。結果を距離順にソートできるようにしたいと考えています。
Spatial SOLR は明らかに新しいものであり、その成熟度は完全には明らかではありません。他にもいくつかのオプションがあります (手動で計算してから距離を逆にするか、solr-spatial-light .
私の質問は基本的に次のとおりです。Spatial Solr (または solr-spatial-light) は、ゴールデンタイムに上記のケースを処理するのに十分な準備ができていますか、それとも Sphinx を使用したほうがよいでしょうか?
また、特に php を使用して、これらのいずれかを実装した一般的な経験を聞くことにも興味があります。