sql >> Database >  >> RDS >> Mysql

Maak een MySQL-ruimtelijke kolom - Puntgegevenstype met lat lang zonder Alter-tabel te gebruiken

In het puntveld zijn zowel de lengte- als de breedtegraadgegevens opgeslagen en deze kunnen indien nodig vrij eenvoudig worden opgehaald. Ervan uitgaande dat uw puntveld de naam pt is, geeft de volgende zoekopdracht deze informatie.

SELECT ST_Y(pt), ST_X(pt) FROM my_spatial_table;

Dit is precies hetzelfde als doen

SELECT Y(pt), X(pt) FROM my_spatial_table;

sinds X en ST_X zijn aliassen. Kortom, je hebt alleen het puntenveld nodig.

U kunt uw pt-veld als volgt toevoegen:

ALTER TABLE my_table ADD COLUMN GEOMETRY;

Vervolgens kunt u de gegevens als volgt uit de bestaande breedte- en lengtegraadkolommen verplaatsen:

UPDATE my_table SET pt = PointFromText(CONCAT('POINT(',longitude,' ',latitude,')'))

Zie voor meer informatie hierover:https://stackoverflow.com/a/7135890/267540
http://dev.mysql .com/doc/refman/5.7/en/populating-spatial-columns.html




  1. Hoe te selecteren uit MySQL waar Tabelnaam Variabel is

  2. Selecteer * uit tabel waarbij datum =vandaag

  3. MySQL Tabel maken als SELECT

  4. Vind rijen met dezelfde waarde in een kolom in MySQL