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

グーグルマップの座標をmysqlデータベースに転送する

    さて、これがあなたのためのデータベースソリューションです:

    テーブルパスには、配列からのパスが格納されます。

    CREATE TABLE `gmap`.`paths` (
      `pID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      `pName` VARCHAR(75) NOT NULL,
      `pStartLat` VARCHAR(25) NOT NULL,
      `pStartLng` VARCHAR(25) NOT NULL,
      `pAverageSpeed` FLOAT NOT NULL,
      PRIMARY KEY (`pID`)
    )
    ENGINE = MyISAM;
    

    テーブルパスは、ユーザー/パス名(必要なものは何でも)をpNameフィールドに、開始点をpStartLat / pStartLngフィールドに格納します。もちろん、pAverageSpeedは平均速度であり(念のため、必要かどうかはわかりません)、pIDは識別子です。別のテーブルで使用します:

    CREATE TABLE `gmap`.`coords` (
      `cID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
      `cLat` VARCHAR(25) NOT NULL,
      `cLng` VARCHAR(25) NOT NULL,
      `cSpeed` FLOAT NOT NULL,
      `cPath` INTEGER UNSIGNED NOT NULL,
      PRIMARY KEY (`cID`)
    )
    ENGINE = MyISAM;
    

    このテーブルを使用すると、座標をそれぞれの速度で保存できます。

    ここで、「TestOne」というパスを表示するとします。

    // Connect to the database - I assume you can do that
    // and retrieve data
    
    SELECT * FROM paths WHERE pName = "TestOne"
    

    これで、ID、名前、開始点の座標、および平均速度がテーブルに表示されます(mysql_fetch_assocはそのために最適です)。

    次に、IDを使用して、残りの座標を取得できます。

    SELECT * FROM coords WHERE cPath = ID
    

    そして今、eを使用しています。 g。 whileループでは、すべての座標を配列に取得できます。

    もちろん、最初にINSERTINTO構造などを使用してそのデータを保存する必要があります:-)



    1. Oracle SQL * LoaderはXMLを処理できますか?

    2. SQLiteのファイルからSQLスクリプトを実行する5つの方法

    3. BigIntegerをMysqlに保存する

    4. MySQL文字列分割