小数点以下 8 桁の緯度/経度にはどの MySQL データ型を使用すればよいですか? 質問する

小数点以下 8 桁の緯度/経度にはどの MySQL データ型を使用すればよいですか? 質問する

私はマップ データを扱っていますが、Latitude/Longitude小数点以下 8 桁まで拡張されています。例:

Latitude 40.71727401
Longitude -74.00898606

私は見たGoogleドキュメント以下を使用します:

lat FLOAT( 10, 6 ) NOT NULL,  
lng FLOAT( 10, 6 ) NOT NULL

ただし、小数点以下の桁数は 6 までです。このデータを正確に保存するには、別の方法
を使用する必要がありますかFLOAT(10, 8)、それとも考慮すべき別の方法がありますか。マップ計算で使用されます。ありがとうございます。

ベストアンサー1

MySQLはサポートしています空間データの種類Point使用できる単一値型です。例:

CREATE TABLE `buildings` (
  `coordinate` POINT NOT NULL,
  /* Even from v5.7.5 you can define an index for it */
  SPATIAL INDEX `SPATIAL` (`coordinate`)
) ENGINE=InnoDB;

/* then for insertion you can */
INSERT INTO `buildings` 
(`coordinate`) 
VALUES
(POINT(40.71727401 -74.00898606));

おすすめ記事