>  기사  >  백엔드 개발  >  javascript - 데이터베이스에 많은 플롯이 저장되어 있습니다. 각 플롯의 면적은 4개의 꼭지점의 경도와 위도에 의해 결정됩니다. 점의 경도와 위도를 알면 해당 위치가 어떤 플롯에 속하는지 확인하는 방법은 무엇입니까?

javascript - 데이터베이스에 많은 플롯이 저장되어 있습니다. 각 플롯의 면적은 4개의 꼭지점의 경도와 위도에 의해 결정됩니다. 점의 경도와 위도를 알면 해당 위치가 어떤 플롯에 속하는지 확인하는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-10-10 11:55:551251검색

아이디어 좀 주세요~

답글 내용:

아이디어 좀 주세요~

요구 수정, 포 주인의 요구는 [지오펜싱]

솔루션:
PostGis+PostGreSQL
ElasticSearch/Solr

MySQL만으로는 충분하지 않을 수 있습니다.
또는 라이브러리를 재설계

place_id name
1 区块1
id place_id lat lng
1 1 1.1111 1.1111
2 1 1.1111 1.1111
3 1 1.1111 1.1111
4 1 1.1111 1.1111

참고자료: http://www.cnblogs.com/LBSer/...

이것은 순전히 수학적 문제인 것 같습니다. T1-T4의 네 개의 작은 삼각형을 사용하여 사각형 R을 완성할 수 있습니다. 지금은 그림을 그리는 것이 편리하지 않으므로 상상할 수 있습니다. 당신 자신. 그런 다음 주어진 점 p를 판단하십시오

<code>p 在 R 内   &&   p 不在 {T1-T4} 内</code>

포인트 개체 정의: P[x,y], x는 위도, y는 경도
플롯 영역의 4개 꼭지점은 A[x,y], B입니다. [x,y], C[ x,y], D[x,y]
알려진 지점: ptr[x,y]


어~~
샘플 몇 개 주세요~
그렇지 않으면 지리를 가르치기엔 너무 장황할 것 같아요~

mysql 공간 함수 및 연산을 사용하세요. 저장 시에는 폴리곤 영역만 직접 저장하시면 됩니다.

경도와 위도를 직접 저장하는 것보다 POINT, ST_AsText, POLYGON, ST_X, ST_Y, ST_DISTANCE를 사용하는 것이 훨씬 좋습니다.

http://dev.mysql.com/doc/refm...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.