2014-11-22 5 views
0

위도와 경도 목록이 있습니다.지리적 위치 집합에서 경계 계산

이들은 역 zip 조회 데이터베이스에서 얻으며 특정 도시 (Dayton, OH)에 있습니다.

39.721286 -84.133892 
39.760000 -84.195900 
39.757800 -84.177700 
39.845339 -84.123287 
... 

나는 각 속성은 사용자가 입력 할 때 "데이턴, OH,"나는 관련 지리적 좌표로 데이튼의 모든 우편 번호를 부여 잡고있어 정의 된 위치 (위도/LNG)를 가지고, MongoDB를에 속성 데이터베이스를 가지고 내가하고 싶은 일은 경계를 만들고 5 마일을 더하고 데이턴 우편 번호의 위도/경도를 다루는 부동산 데이터베이스를 검색하는 것입니다.

이 좌표 목록을 사용하여 범위 내에서 데이터베이스를 검색하기위한 경계 (사각형/원)를 만드는 가장 좋은 방법은 무엇입니까?

답변

0

해결책을 찾았다면 분명히 최선의 방법은 "convex hull"알고리즘을 사용하여 응용 프로그램 끝에서 테두리를 계산 한 다음 쿼리하는 것입니다.

0

MongoDB에서 $ near 연산자를 사용할 수 있습니다. 예를 들어

는 :

db.cities.find({ loc : { $near : { $geometry : { type : "Point" , coordinates : [ lon, lat] }, $maxDistance : 1/111.12 } } }) 

위의 쿼리가 1km 반경 내의 특정 좌표 주변의 모든 것을 악마 ($에게 maxDistance 참조).

$ near 연산자에 대한 자세한 내용은 MongoDB Manual을 참조하십시오.