programing

MySQL을 사용하여 소수점(경도, 위도)으로 변환

itmemos 2023. 8. 5. 09:55
반응형

MySQL을 사용하여 소수점(경도, 위도)으로 변환

이걸 사방에서 찾아다녔어요.좋은 답을 찾을 수 없습니다.

저의 목표는 미국에서 우편번호를 위한 Long, Lat 데이터베이스를 구축하는 것입니다. 결국 구글 지도를 사용하여 이것을 업데이트할 수도 있지만, 현재로서는 다른 데이터가 필요하지 않습니다.

이 데이터와 MySQL을 사용하여 적절한 데이터로 테이블을 만들려고 합니다.

https://gist.github.com/erichurst/7882666

나는 우편번호, 경도, 위도 및 지오포인트로 표를 PHP 내 관리자에 추가했습니다.

Longitude, Latitude는 DECIMAL(11, 6) 지오포인트는 POINT 형식입니다.

CREATE TABLE `obe_zipcodes` (
  `zipcode` int(11) NOT NULL,
  `longitude` decimal(12,7) NOT NULL,
  `latitude` decimal(12,7) NOT NULL,
  `geo_point` point DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
COMMIT;

일반 소수점을 점으로 변환하고 일반 구문 오류를 제공하는 작업은 없습니다.

UPDATE obe_zipcodes SET geo_point=w2.longitude FROM obe_zipcodes, obe_zipcodes w2 WHERE obe_zipcodes.zipcode = w2.zipcode

UPDATE obe_zipcodes SET geo_point=POINT(w2.longitude, w2.latitude) FROM obe_zipcodes w1, obe_zipcodes w2 WHERE w1.zipcode = w2.zipcode

생각보다 쉬웠어요

UPDATE obe_zipcodes SET geo_point = POINT(latitude, longitude)

언급URL : https://stackoverflow.com/questions/74789709/convert-decimals-to-point-longitude-latitude-using-mysql

반응형