自宅の提示価格で重み付けされた、多数の座標グループの地理的中心点を見つけようとしています。
地理的な中心点を見つけるための単純な、重み付けされていない方法が機能しています。
SELECT
avg(LMD_MP_Latitude) as AVG_LAT,
avg(LMD_MP_Longitude) as AVG_LON
FROM `great_users`.`usage`
すべての結果は互いに25マイル以内にあるため、球形の問題は最小限であることに注意してください。
上記のクエリは機能し、すべてのプロパティの中心となる座標を取得します。
ここで、結果をで重み付けしたいと思いますL_AskingPrice
。より高価な列はより多くの「重力」を持ち、中心点をより高価な近隣に向かって移動する必要があります。
ただし、次のクエリでは、中心点がわずか数メートル離れた場所に移動します。これは、行数が4,000を超え、入力がかなり異なるため、正しく感じられません。
SELECT
SUM(LMD_MP_Latitude * L_AskingPrice) / SUM(L_AskingPrice) AS Avg_Lat,
SUM(LMD_MP_Longitude * L_AskingPrice) / SUM(L_AskingPrice) AS Avg_Lon
FROM `great_users`.`usage`
どういうわけか、重み付け(50,000から4,000,000の範囲の整数)が34.Xと-82.XのGPS座標を圧倒しているのではないかと思います。
100kから7Bまでの値で割ってみL_AskingPrice
ましたが、針が動かないようでした。しかし、最善を尽くしたにも関わらず、操作の順序がめちゃくちゃになっていた可能性があります。
サンプルテーブル:
LMD_MP_Latitude | LMD_MP_Longitude | L_AskingPrice
34.83701 | -82.432411 | 175000