問題タブ [mysql-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.

0 投票する
1 に答える
542 参照

mysql - テーブル データと ST_Distance_Sphere を使用した MYSQL 地理空間関数

これは、特定のポイントからテーブル内のすべてのレコードまでの距離を返そうとする私のクエリです。

これがテーブルの作成です

これが select ステートメントです。

しかし、次のエラーが発生します。

「エラー」、「1210」、「st_distance_sphere への引数が正しくありません」

データベースに保存されているポイント タイプを使用して、計算された距離とデータを取得するにはどうすればよいですか。

このステートメントは完全に機能します

0 投票する
1 に答える
2062 参照

mysql - Mysql 関数 MBRContains は正確ではありません

私は次のPOLYGONを持っています(画像では、それがカバーする領域を見ることができます)

ポリゴンエリア

と関数を実行するMBRIntersectと、緑色のマーカーがポリゴンの内側にあることが返されますが、そうではありません(画像でわかるように)。私はそれを得るために次の文を実行しています:MBRContainsWithin

そして私は得ています

でも期待してた

私は次のケースを試しました:

  • 4326 SRID を割り当ててジオメトリを保存します。
  • 他の関数を使用して、同じ応答を得ます。

5.7.14 MySQL バージョンを使用しています

私は何を間違っていますか?

距離がないことを検証するだけで、この問題を回避しました。しかし、なぜその関数からこの結果が得られるのでしょうか?

0 投票する
1 に答える
395 参照

mysql - MySQL 空間クエリ

私は普通のテーブルでした。今、空間列を追加しました

そして今、私のテーブルにはnull値があります: ここに画像の説明を入力

現在、MySQL チュートリアルでは、insert ステートメントが使用されています。

しかし、既存のテーブルでnull値を削除し、各行に与えられた緯度と経度に基づいてポイントデータを挿入したいと考えています。お気に入り

また、空間インデックスを作成します。どうすればいいですか?

0 投票する
0 に答える
41 参照

mysql - ポイント挿入でエラーが発生するのはなぜですか?

このステートメントを使用して、データをデータベースに挿入しています。

ジオメトリを挿入するために、このリンク ( http://dev.mysql.com/doc/refman/5.7/en/populating-spatial-columns.html ) を参照しました。INSERT INTO geom VALUES (ST_GeomFromText('POINT(1 1)'));

SQL データは次のように格納されます。6828-1-1418515200000,POINT (142.4685224783753 -38.369480766871604),6828,2014-12-14T00:00:00.000Z

POINT (142.4685224783753 -38.369480766871604)したがって、%s はMySQL チュートリアルと同じクエリであるに置き換えられると思います。

しかし、その与えるエラーIntegrityError: 1048 (23000): Column 'geometry' cannot be null.

行の値

0 投票する
1 に答える
90 参照

mysql - この「大圏距離」式と Google Earth ツールを使用して、空間内の 2 点間の距離を計算すると、異なる値が得られるのはなぜですか?

私はデータベースと GIS にはあまり興味がなく、MySql データベースで 2 点間の距離を計算するために使用されるこの関数について、次の疑問があります。

私は、2フィールド間の距離を計算するために使用されるこの関数があるこのチュートリアルから始めました:

単位測定としてkmの値を返す必要があると思います。

次に、それを使用して空間内の 2 点間の距離を計算しました (ここではイタリアのローマミラノの都市などのGoogle マップから取得)。

妥当な値を取得しています。私の疑問は、Google Earth の定規ツールを使用して距離を確認し、異なる値を取得していることです。

近くにある 2 つのポイント (2 km の距離) を考慮した敵の例では、Google Earth によって計算された差と以前の関数との間に 300 m のような差が得られます。

非常に離れた 2 つのポイント (ローマとミラノなど) を考慮すると、Google Earth で計算された値と前の関数で計算された値との間に 100 km ほどの差が得られます。

前の関数は常により大きな値を与えます。

したがって、短い距離(最大30 km)で計算するためにそれを使用する必要があるため、エラーはほとんどなく、私の目的では問題ありません。

しかし、関数と Google Earth を使用して計算された距離との間でこれらの差が得られるのはなぜですか?

0 投票する
1 に答える
5509 参照

php - MySQL の関数 st_geometryfromtext に無効な GIS データが提供されました

これが私のエラーです:

エラー番号: 3037

関数 st_geometryfromtext に無効な GIS データが提供されました。

これが私のコードです: