2013-07-30 3 views
0

에서 계산하는 경우 먼저 제목에 사과드립니다. 나는 그것을 어떻게 말로 생각할 수 없었습니다!목록이 '범위 내에 있음'을 데이터베이스 값

나는 평균 위도와 경도가있는 영국의 모든 지역 번호가있는 데이터베이스를 가지고 있습니다. 이제 어떤 지역 코드가 다른 지역 코드에서 'n'마일 이내에 있는지 계산할 수 있기를 원합니다.

내 로컬 호스트에서 대규모 계산을 실행하여 모든 거리를 계산하고 거대한 데이터베이스에 저장하려고 했으므로 나중에 거리를 조회해야하지만 메모리가 부족합니다. 그게 최선의 방법인지 궁금해하니? 비행 중에 계산할 수있는 쉬운 방법을 간과하고 있습니까?

그래서 분명히하기 위해 사람들이 지역 코드와 범위를 몇 마일 입력하고 그 범위 내의 모든 지역 코드를 얻을 수 있기를 바랍니다. 내가 사용할 수있는 정보는 다음 필드가있는 데이터베이스입니다 :

| 우편 번호 _ID | Pcode | GRID_N | GRID_E | 위도 | 경도 |

+1

다음을보십시오. http : // stackoverflow.com/q/407989/2493918 –

+0

@MarkusHofmann 거리를 계산할 수는 있지만 지역 코드가 범위 내에 있는지 확인하는 것은 길을 계산하는 데 오랜 시간이 걸립니다! –

+0

이 답변을 참조하십시오 http://stackoverflow.com/questions/8599200/calculate-distance-given-2-points-lititude-and-longitude –

답변

1

원하는 것을 얻기위한 몇 가지 방법이 있습니다.

  1. 체크 아웃 거리 계산

  2. 은 "HaversineFormula"는 I를 저장하려면 문제를

  3. 를 해결하는 방법에 대한 통찰력을 제공 할 수있다이 같은 구글에 Google Maps APIexamples에서보세요 PostgreSQL Database togehter를 사용하여 권장 PostGIS

PostGIS와 (사이트에서 인용) 소개

는 :

PostGIS와는 PostgreSQL의 객체 관계형 데이터베이스에 대한 공간 데이터베이스의 확장이다. 지리적 오브젝트 에 대한 지원이 추가되어이 SQL에서 실행될 수 있습니다.

위의 설정을 사용할 수 있으면 db 데이터로 작업하는 것이 더 쉽습니다.

 
이 유용 할 수 있습니다

PHP Postal (Zip) Code Range and Distance Calculation

이 위에 눈 롤을 가지고 나를 어떻게 생각하는지 알려 주시기 바랍니다.

행운을 빈다.

+0

나는 이것을 다음과 같이 발견했다 : https://www.dougv.com/2009/03/27/getting-all-zip-codes-in-a-given-radius-from-a-known-point-zip- code-via-php-and-mysql/ –

+1

대단히 감사합니다.이 모든 경로를 살펴보고, 특히 PostgreSQL 데이터베이스에 관심이 있습니다. 현재 내가 댓글을 작성한 링크를 읽고 있는데 어떻게 최적화했는지 알게되었습니다. 영리합니다. –

+0

미리 계산 된 값으로 전체 데이터베이스를 생성하기 위해 실행중인 스크립트에서 메모리 문제를 해결했습니다. 그것이 현재의 속도로 머무르면 완료하는 데 하루가 걸릴 것입니다! 제대로 인덱싱되면이 데이터베이스를 갖는 것이 좋은 생각 일 것이라고 생각하십니까? 매번 거리를 계산하는 것보다 빠릅니다. 아니면 틀 렸습니다. (완료 될 때 테이블에 4,000,000 개의 레코드가 부족할 것입니다.) –

관련 문제