問題タブ [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.
mysql - テーブル データと ST_Distance_Sphere を使用した MYSQL 地理空間関数
これは、特定のポイントからテーブル内のすべてのレコードまでの距離を返そうとする私のクエリです。
これがテーブルの作成です
これが select ステートメントです。
しかし、次のエラーが発生します。
「エラー」、「1210」、「st_distance_sphere への引数が正しくありません」
データベースに保存されているポイント タイプを使用して、計算された距離とデータを取得するにはどうすればよいですか。
このステートメントは完全に機能します
mysql - Mysql 関数 MBRContains は正確ではありません
私は次のPOLYGONを持っています(画像では、それがカバーする領域を見ることができます)
と関数を実行するMBRIntersect
と、緑色のマーカーがポリゴンの内側にあることが返されますが、そうではありません(画像でわかるように)。私はそれを得るために次の文を実行しています:MBRContains
Within
そして私は得ています
でも期待してた
私は次のケースを試しました:
- 4326 SRID を割り当ててジオメトリを保存します。
- 他の関数を使用して、同じ応答を得ます。
5.7.14 MySQL バージョンを使用しています
私は何を間違っていますか?
距離がないことを検証するだけで、この問題を回避しました。しかし、なぜその関数からこの結果が得られるのでしょうか?
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.
行の値
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 を使用して計算された距離との間でこれらの差が得られるのはなぜですか?
php - MySQL の関数 st_geometryfromtext に無効な GIS データが提供されました
これが私のエラーです:
エラー番号: 3037
関数 st_geometryfromtext に無効な GIS データが提供されました。
これが私のコードです: