私はlocationsという名前の古いデータベースを持っており、その中にテーブルがあります。
このテーブルには、id(int、index)、authorized(int)、city(text)、country(text)、heading(double)、lat(double)、lng(double)の7つの変数があります。
複雑さという名前の新しいデータベースがあります。そのデータベースには、gsvrawという名前の新しいテーブルがあります
古いテーブルを新しいテーブルにコピーする必要がありますが、ここで注意が必要です。
新しいデータベースでは、後でポリゴン内を検索できるように、MySQLの空間インデックスを使用します。新しいデータベースで、lat、lngの代わりに、locationという名前の新しい列を追加したいと思います。
新しい列を作成するためのステートメントの例:
ALTER TABLE gsvraw ADD location POINT NOT NULL;
CREATE SPATIAL INDEX location ON gsvraw (location);
これは、場所の列に新しい値を挿入するためのステートメントの例です。
INSERT INTO gsvraw (location) VALUES( GeomFromText( 'POINT(40 -100)' ));
40と-100はlatとlngになります。
何か案は?
私はここMITで3つの異なる「教祖」のそれぞれを1時間無駄にし、文字通りどこにも行きませんでした。
私が実行しているサーバーは大きな問題を引き起こしているので、pythonとMySQLdbの使用は終了しています。
うまくいけば、そこにいる誰かが私たちより賢く、生のSQLステートメントを手伝ってくれるでしょう。
私はこれをMAMPproを使用してApacheMySQLとPHPを搭載したMacで実行しています。これはいくつかの問題を引き起こすので、実際に機能する可能性のある唯一の解決策は、現時点ではストレートphpとsqlです。何か案は?
解決:
<?php
$con = mysql_pconnect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database1", $con);
$result = mysql_query("SELECT * FROM database1 WHERE ")
or die(mysql_error());
$con2 = mysql_pconnect("localhost","username","password");
if (!$con2)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("complexity", $con2);
while($row = mysql_fetch_array( $result )) {
mysql_query("INSERT INTO table1 (id, approved, city, country, heading, location) VALUES ('".$row['id']."', '".$row['approved']."', '".$row['city']."', '".$row['country']."', '".$row['heading']."', PointFromText('POINT(".$row['lng']." ".$row['lat'].")'))", $con2);
}
?>