道路やホテルに関するデータを保存するのにMySQL Spatial Extensionsを使用しています。 LineDataとして道路データを保存している間、ホテルデータをPointとして保存します。テーブルは、インスタンスの可視化は、このようになります。このMySQL Spatial Extensionsを使用してN点から最も近い線ストリング
CREATE TABLE IF NOT EXISTS `Hotels` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` text,
`coordinate` point NOT NULL,
PRIMARY KEY (`id`),
SPATIAL KEY `coordinate` (`coordinate`),
)
CREATE TABLE IF NOT EXISTS `Roads` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` text,
`route` linestring NOT NULL,
PRIMARY KEY (`id`),
SPATIAL KEY `coordinate` (`route`),
)
のように見えます。
私の問題は、数Nと点P、点PからN最寄りの道路を見つけるためのSQLクエリは何で与えられていますか?距離は、上の図のような点と道路の線分との間の最小垂直距離によって定義されます。 (現実的には、最寄りの距離は高速道路のゲートとホテルの間でなければなりませんが、この場合は任意の地点から高速道路に入ることができます)P
問題、仲介SQL問合せ、および後処理が私にとって受け入れられます。しかし、効率的なSQLクエリとデータの後処理方法は何でしょうか?
あなたは、データベース内の二つの機能を作成することができます
まだ回答がありませんか? :) – bonCodigo
MySQL 5.5を使用していることを確認してください。さもなければ、空間的な機能があなたの質問に答えるのに十分に実装されていません – TheSteve0