0
다양한 속성의 위도와 경도가 저장된 데이터베이스가 있습니다. 나는이 도시의 부동산 중 어느 도시가 어느 도시에 속해 있는지 알아보고 싶습니다 (모든 부동산은 미국에 있습니다).PostgreSQL에서 위도와 경도로 도시 이름을 찾는 방법은 무엇입니까?
다양한 속성의 위도와 경도가 저장된 데이터베이스가 있습니다. 나는이 도시의 부동산 중 어느 도시가 어느 도시에 속해 있는지 알아보고 싶습니다 (모든 부동산은 미국에 있습니다).PostgreSQL에서 위도와 경도로 도시 이름을 찾는 방법은 무엇입니까?
Postgresql에 대해 말하면, 우선 미국 도시 경계 데이터 파일을 가져와야합니다. 가능한 사이트는
https://www.census.gov/geo/maps-data/data/tiger.html
https://www.census.gov/geo/maps-data/data/tiger-cart-boundary.html
https://catalog.data.gov/dataset?tags=cities
입니다. 그런 다음 데이터를 포스트그레스로 가져옵니다. 귀하의 속성 데이터가 이미 포스트그레스에 저장되어 있다고 가정합니다. 도시 경계의 SRID 지오메트리 유형이 4326인지 확인하십시오. 그렇지 않은 경우 ST_transform 함수로 쉽게 변환 할 수 있습니다.
마지막으로 특정 위도/경도가 어느 도시에 있는지 확인하려면 위도/경도를 점 지오메트리로 변환하고 도시 데이터를 확인해야합니다. 예를 들어 이런 것이 될 수 있습니다.
SELECT c.city_name FROM cities_boundaries AS c, properties AS p
WHERE ST_CONTAINS(c.geom, ST_SetSRID(ST_MakePoint(p.longitude, p.latitude), 4326))
Google MAP API를 시도하십시오. –
SQL 쿼리에 Google MAP API를 어떻게 통합합니까? –
우선 SQL 쿼리를 사용하여 lat 또는 long을 얻습니다. 이 API에서 위도 또는 경도를 전달하십시오. http://maps.googleapis.com/maps/api/geocode/json?latlng='.$lat.','$$$'&sensor=true ') –