postgreSQL/postGIS 사용에 대한 질문이 있습니다.PostgreSQL/PostGIS 요청을 통해 두 점 사이의 미터법 거리를 구하십시오.
지도에서 (데이터베이스에 저장되어있는) 사용자로부터 멀리 떨어져있는 표시 자 (요청에 지정된 좌표)를 표시하고 싶습니다.
마커 필드의 유형은 POINT (위도/경도 저장)입니다. 사용자 위치는 Google Map API에 의해 결정됩니다. 기능이 ST_Distance는 마커와 사용자의 위치 사이도 나에게 거리를 제공한다는 나는 km의 거리를 테스트하는 것이 내가 아는
SELECT * FROM geo_points WHERE ST_distance(ST_SetSRID(geo_points.coords::geometry,4326),ST_GeomFromEWKT('SRID=4326;POINT(45.0653944 4.859764599999996)')) > 65
(인터넷에서 몇 가지 조사 후) : 여기
는 실제 요청입니다 .메트릭 좌표의 점을 변환하려면 함수 ST_tranform을 사용해야한다고 생각합니다.
내 질문은 다음과 같습니다. - 프랑스의 SRID는 무엇입니까 - 사용자 위치에 따라 어떻게 전 세계에서이를 동적으로 만들 수 있습니까?
또한 함수 ST_within이 존재하며이를 수행 할 수 있다고 말합니다. 그러나 나는 나중에 그 거리가 필요할 것이라고 예상한다. 다른 게시물에 솔루션 어쩌면이 있습니다,하지만 난 내 연구 중에 발견 한 모든 답변은 정말 내 요구를 충족하지 않은 :
어떤 도움이 크게
PS를 감상 할 수있다.
(http://postgis.refractions.net/docs/ST_Distance.html을), ST_Distance - Geometry 유형의 경우 투영 단위의 두 Geometry 간의 2 차원 직교 좌표계 최소 거리 (공간 참조 기준)를 리턴하십시오. –
try [ST_Distance_Sphere] (http://postgis.refractions.net/docs/ST_Distance_Sphere.html) –