Heim > Artikel > Backend-Entwicklung > javascript - In der Datenbank sind viele Diagramme gespeichert. Die Fläche jedes Diagramms wird durch den Längen- und Breitengrad von vier Eckpunkten bestimmt. Wie kann dann ermittelt werden, zu welchem Diagramm der Standort gehört?
Bitte geben Sie mir eine Idee~
Bitte geben Sie mir eine Idee~
Korrigieren Sie die Anforderung, die Anforderung des Eigentümers ist [Geofencing]
Lösung:
PostGis PostGreSQL
ElasticSearch/Solr
MySQL allein reicht möglicherweise nicht aus.
Oder gestalten Sie die Bibliothek neu
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 |
Referenzmaterialien: http://www.cnblogs.com/LBSer/...
Dies scheint ein rein mathematisches Problem zu sein. Sie können vier kleine Dreiecke T1-T4 verwenden, um das Viereck zu einem Rechteck R zu vervollständigen. Es ist nicht bequem, jetzt ein Bild zu zeichnen, also können Sie es sich vorstellen selbst. Dann beurteilen Sie den gegebenen Punkt p
<code>p 在 R 内 && p 不在 {T1-T4} 内</code>
Definieren Sie ein Punktobjekt: P[x,y], x ist der Breitengrad, y ist der Längengrad
Die vier Eckpunkte der Fläche des Diagramms sind: A[x,y], B [x,y], C[ x,y], D[x,y]
Der bekannte Punkt ist: ptr[x,y]
Äh~~
Du solltest mir ein paar Beispiele geben~
Sonst wäre es zu wortreich, dir etwas über Geographie beizubringen~
Verwenden Sie beim Speichern die räumlichen Funktionen und Operationen von MySQL. Verwenden Sie beim Urteilen einfach die Funktion ST_Contains
Verwenden Sie POINT, ST_AsText, POLYGON, ST_X, ST_Y, ST_DISTANCE, die viel besser sind als das direkte Speichern von Längen- und Breitengraden.http://dev.mysql.com/doc/refm...