MySQL を使用した緯度/経度ストレージの精度の維持
地理データを扱う場合、正確な情報を得るには、緯度と経度の座標の精度が非常に重要です。マップ計算。座標は小数点以下 8 桁まで拡張されるため、このレベルの精度を維持するには適切な MySQL データ型を選択することが不可欠になります。
Google ドキュメントで説明されている FLOAT(10, 6) の使用の提案とは異なります。 、このデータ型では、精度が小数点以下 6 桁のみに制限されます。小数点以下 8 桁の精度を維持するには、MySQL の空間データ型内で Point データ型を使用することを検討してください。
Point データ型は、秒の小数部を含む地理座標の正確な表現を提供します。緯度と経度の両方の値を単一値タイプとして保存できます。 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));
Point データ型を利用することで、地理情報を正確に保存および操作できます。座標を調整し、マッピング アプリケーションの正確な計算とデータの整合性を確保します。
以上がMySQL に緯度/経度データを保存するときに高精度を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。