問題タブ [oracle-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.
oracle - Oracle Spatial (SDO) で、ポリゴンの表面に含まれるポリゴンの重心を取得する方法はありますか?
ポリゴン自体の内部に存在する Oracle Spatial でポリゴンの重心を見つける必要があります。sdo_geom.sdo_centroid メソッドは使用できません。これは、形状が馬蹄形に似ている場合に形状の外側のポイントを返すためです。
sdo_geom.sdo_pointonsurface メソッドを見つけましたが、ポリゴンのちょうど端にあるポイントを返します。これは数学的には機能しますが、すべてのポリゴンが他のポリゴンと境界を共有し、データにわずかな重複がある場合があるため、この環境では安全ではありません。このオーバーラップには、計算されたポイントを含めることはできません。
カスタムコードを書かずにこの点を見つける別の方法はありますか? このためのカスタム コードを作成することに反対しているわけではありませんが、事前に作成されたものが既に存在する場合はそれを使用したいと考えています。
ありがとう!
oracle10g - OracleSpatialに「実行可能な」実行プランを選択させる方法
Oracle 10gの(空間)クエリは、パラメータ値のみに応じて異なる実行プランを取得します。そして悲しいことに、Oracleは計画の1つをまったく実行できず、エラーが発生します。値(282未満から284)または演算子(=から<)を変更すると、結果が得られます。なぜ計画が違うのですか?オラクルが実行不可能な計画を選択するのはなぜですか?Oracleに実行可能実行プランを選択させるにはどうすればよいですか?
クエリ:
エラーを与える:
実行されない計画:
実行して結果を出す計画
oracle - ビューで Oracle SDO_POINT を使用すると小数点以下が失われる
とりわけ、座標を含むテーブルがあります。以前はこれらを 2 つの数値フィールド (x と y) に格納していましたが、これを SDO_GEOMETRY フィールドに置き換えました。下位互換性のために、ビューを作成しました (以前のテーブルと同じ名前で)。
ビュー meas_pnt を作成または置換 select ..., m.position.SDO_POINT.X x_coordinate, m.position.SDO_POINT.Y y_coordinate from meas_pnt_tab m;
これは読み取りと書き込みの両方で機能しますが、ビューに 10 進数を書き込むと、10 進数が失われます。理由がわかりません。誰でも助けることができますか?以下に問題を示します。
update meas_pnt_tab m set m.position.SDO_POINT.x = 2.3 where meas_key=1; m.position.SDO_POINT.X を meas_pnt_tab から選択 m where meas_key=1; -> x は 2.3 です。良い!
update meas_pnt set x_coordinate = 2.3 where meas_key=1; m.position.SDO_POINT.X を meas_pnt_tab から選択 m where meas_key=1; -> x は 2 です。
oracle - オラクル空間楽しい練習?
- 空間をOracle 10g XEに接続するのを手伝ってください
- oracle Spatial でできる楽しいことはどこにありますか?
oracle - 空間データを Oracle から Postgres に移動する方法
Oracle Spatial データを Postgres に移動する方法について明確な文書を持っている人はいますか (Community バージョンと Enterprise DB の両方... ありがとう
c# - 同一線上にない点が 3 つだけ知られている場合に、円の半径と中心を決定する方法は?
Oracle Spatial ジオメトリを扱う C# プログラムに取り組んでいます。円データがジオメトリ フィールドに格納される場合、円を表すために 3 つの共線でない点のみが格納されます。問題は、Google マップの Web ページでこのデータを使用する必要があり、円の中心点と半径が必要なことです (私の円描画関数はその情報を使用するため)。
関連する数学とその数学をC#に変換するのを手伝ってくれる人はいますか? このページに答えがあると思い ますが、それをたどるのに苦労しています。3 つの点が与えられた場合の半径と中心の式はありますが、それらは変数を行列として定義しているため、その時点で迷子になります。それをコードでどのように解決しますか?
oracle - Oracleで最短ルートを見つけるためのクエリ
Oracle 11g Spatial Databases の調査を開始しています。2 つのポイント間、またはポイントとラインストリング間の最短ルート (またはパス) を返すクエリがあるかどうかを知りたいです。
ラインストリング (ハイキング トレイル) とポリゴン (地理的な事故) を含むマップがあり、事故を回避しながら、現在地と最寄りのトレイルとの間の最短ルートを見つけたいと考えています。最寄りのトレイルを返すクエリが既にありますが、事故の輪郭を描いていません。
どうもありがとうございました。
oracle-spatial - Oracle空間テーブルに曲線が含まれているかどうかを判断するためのSQLクエリ
SDO テーブルに曲線または円弧が含まれているかどうかを教えてくれる Oracle SQL クエリの作成に苦労しています。必要な情報が sdo_elem_info に含まれていることはわかっていますが、SQL を使用して etype と解釈を sdo_elem_info から分離する方法がわかりません。
これまでのところ、私が持っているのは、 my_table tbl から tbl.shape.sdo_elem_info を選択することだけです
sql - Oracleですべての空間インデックスを確実にリストして削除する方法は?
私のオープンソース データベース移行プロジェクトFlywayには、スキーマ自体を削除せずに、現在のデータベース スキーマ内のすべてのオブジェクトをクリーンアップする機能があります。
一般的な実装は次のように機能します。
- すべてのオブジェクトを一覧表示する
- これらのオブジェクトのドロップ ステートメントを生成します
しかし、 Oracle Spatial Indexesは私に多くの悲しみをもたらしてきました。
DROP INDEX xyz ステートメントを生成するために、それらを確実に列挙するにはどうすればよいですか?
注: これは、XE、10g および 11g の両方で機能する必要があります。MDSYS スキーマ内のすべての参照を削除する必要があります。
私の現在のソリューションは次のようになります。
XE の場合:
- mdsys.user_sdo_geom_metadata から削除
- mdsys.sdo_index_metadata_table から削除 WHERE sdo_index_owner = ユーザー
- SELECT object_type, object_name FROM user_objects WHERE object_type = 'TABLE'
- DROP *table_name* CASCADE CONSTRAINTS PURGE /* すべてのテーブル用 */
Oracle 10g の場合:
- mdsys.user_sdo_geom_metadata から削除
- SELECT object_type, object_name FROM user_objects WHERE object_type = 'TABLE' and object_name not like 'MDRT_%$'
- DROP *table_name* CASCADE CONSTRAINTS PURGE /* すべてのテーブル用 */
10g では、MDSYS.sdo_index_metadata_table のメタデータの削除と空間インデックス テーブル (MDRT_1234$ など) の削除がカスケードされているようです。
XE にはありません。
10g と XE のどちらも、MDSYS.user_sdo_geom_metadata のメタデータの削除をカスケードしません。
geolocation - ジオ フェンス: ポイントまたは形状がオラクル空間を使用してポリゴン内にあるかどうかを確認する方法
ポイントまたはポリゴンがOracle空間SQLクエリを使用して別のポリゴン内にあるかどうかを確認する方法
これがシナリオです。
ポリゴン(たとえば、州の)である空間タイプ(sdo_geometry)を含むテーブル(STATE_TABLE)があり、大学を含む空間データ(sdo_geometry)(ポイント/ポリゴン)を含む別のテーブル(UNIVERSITY_TABLE)があります。
SQL select ステートメントを使用して、選択した大学が特定の州にあるかどうかを調べるにはどうすればよいですか。
主に、ジオフェンス内の特定のオブジェクトの存在を特定したいと考えています。
ありがとう。