sql >> データベース >  >> RDS >> Mysql

MySQLを使用してポリゴンのポイントのテーブルを検索します

    夜寝た後、私は次の解決策を見つけました。

    set @p = GeomFromText('POINT(23.923739342824817 38.224714465253733)');
    select municipalID FROM ecovis.municipal_border
    where ST_Contains(municipal_border.boundary, @p);
    

    これはMySQL5.6.1で機能しており、ST_プレフィックス 関数が実装されています。古典的なアプローチ(X線アルゴリズム)からの測定はありませんが、それは非常に高速であると思います。 2700のポリゴンでポイントを見つけるのに0.17秒かかりますが、一部のポリゴンには1,500をはるかに超えるポイントがあります。



    1. 同じテーブルへのMySQLの同時挿入:方法は?

    2. MySQLで使用可能な文字セットのリストを返す方法

    3. 警告の問題:パラメータ1がmysqli_resultであると想定しています

    4. whereステートメントの日付が変更されると、MySQLEXPLAINの「type」が「range」から「ref」に変更されますか?