sql >> Database >  >> RDS >> Mysql

Breng google map-coördinaten over naar mysql-database

Oké, hier is de database-oplossing voor jou:

Tabelpaden slaan de paden op die je hebt, uit je array.

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;

Tabelpaden slaan uw gebruikers- / padnaam op (wat u maar wilt) in het veld pName, startpunt in pStartLat/pStartLng-velden, pAverageSpeed ​​is natuurlijk de gemiddelde snelheid (weet niet of u het wilt, voor het geval dat) en pID is identifier die u met een andere tabel gaat gebruiken:

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;

In deze tabel kun je coördinaten opslaan - met snelheid voor elke.

Stel nu dat u een pad met de naam 'TestOne' wilt weergeven.

// Connect to the database - I assume you can do that
// and retrieve data

SELECT * FROM paths WHERE pName = "TestOne"

Nu heb je ID, naam, startpuntcoördinaten en gemiddelde snelheid in de tabel (mysql_fetch_assoc zou daar geweldig voor zijn).

Vervolgens kunt u met behulp van de ID de rest van de coördinaten ophalen:

SELECT * FROM coords WHERE cPath = ID

En nu, met behulp van e. g. while-lus, je kunt alle coördinaten in een array ophalen.

Natuurlijk moet je die gegevens eerst opslaan met behulp van INSERT INTO-constructie of iets dergelijks :-)



  1. Werken met een grote hoeveelheid gegevens uit mysql

  2. Selecteer de volgorde van de zoekopdracht die niet werkt in de voorbereide instructie

  3. MySQL-filterresultaten op maand en jaar

  4. Hoe mijn tabellen te migreren vanuit mijn asp.net core-app op linux