Ich hoffe, einen Filter von Polygonen kleiner als ein bestimmtes Gebiet zu tun. kann dies mit rethinkdb erreicht werden, ohne vorher den Bereich zu berechnen?mit rethinkdb, um die Fläche eines Polygons zu berechnen
1
A
Antwort
2
Ich habe das mit einigen meiner eigenen Daten arbeiten, aber eine kleine Variation davon sollte funktionieren. Hier stelle ich eine Funktion zum Filtern zur Verfügung, die den Bereich berechnet und true
oder false
zurückgibt, abhängig davon, dass sie größer als REQ_AREA
ist. Sie könnten auch einen Index erstellen, der diese Berechnung automatisch durchführt, indem Sie eine anonyme Funktion an .createIndex('area', function(doc) { ... }
übergeben und dann eine getAll
mit diesem Index ausführen.
Die .slice
und prepend
| appending
dreht einfach die x- und y-Koordinaten für eine einfachere Multiplikationsabbildung.
Hier ist aus der ReQL Flächenberechnung wie wenn aussieht:
r.db('geography').table('area_polygons').filter((doc) => {
// Retrieve just the points of the polygon
var coords = doc('polygon').toGeojson()('coordinates').nth(0)
var x_coords = coords.map((point) => {return point.nth(0)}).coerceTo('array');
var y_coords = coords.map((point) => {return point.nth(1)}).coerceTo('array');
// Move item from beginning to end
y_coords = y_coords.append(y_coords.slice(0,1).nth(0)).deleteAt(0);
var x = r.map(x_coords, y_coords, (l, r) => { return l.mul(r) }).sum();
// Reset y and now move first x item to end
y_coords = y_coords.prepend(y_coords.slice(-1).nth(0)).deleteAt(-1);
x_coords = x_coords.append(x_coords.slice(0,1).nth(0)).deleteAt(0);
var y = r.map(x_coords, y_coords, (l, r) => { return l.mul(r) }).sum();
// Return area
return x.sub(y).div(2) > REQ_SIZE ? true : false;
})
Verwandte Themen
- 1. Berechnen Sie die Fläche eines Polygons
- 2. Berechnen Sie die Fläche eines Vierecks
- 3. Berechnen der Fläche eines Objekts mit OpenCV
- 4. So berechnen Sie die Fläche eines SVG-Pfades C#
- 5. Berechnen der Fläche (n) eines Rechtecks, die nicht überlappt werden
- 6. Wer kann die Fläche/Umfang/Höhe eines Dreiecks berechnen?
- 7. berechnen Fläche von 2D-Formen
- 8. Die Diagonalen eines Polygons finden
- 9. Drehen eines Polygons um seinen Mittelpunkt
- 10. Berechnen der Fläche von 2D-Formen
- 11. rethinkdb Gruppierung zu Kontostand der Benutzer Mittel berechnen
- 12. Rasterung eines 2D-Polygons
- 13. Best Practice, um zu erkennen, ob ein Punkt innerhalb eines 2D Polygons liegt (Scheitelpunkte eines Polygons liegen auf einer Tabelle)
- 14. Zeichnen eines Polygons, wenn die Maus
- 15. Den Mittelpunkt eines Polygons finden?
- 16. Generieren eines regelmäßigen Polygons mit Three.js
- 17. Zunehmende Fläche um die Grundstücksfläche in ggplot2
- 18. Berechnung Längengrad Mittelpunkt eines Polygons in PHP
- 19. Einfache C++ Programm zu finden, die Fläche eines Kreises
- 20. Ein Bild als Farbe eines Polygons setzen
- 21. Berechnen der Fläche unter einer Kurve mit einer Reihe von Koordinaten, ohne die Funktion zu kennen
- 22. Approximieren eines Polygons mit einem Kreis
- 23. Sierpinski Teppich - Fläche eines Rechtecks
- 24. Zeichnen eines Polygons um Gruppen von Datenpunkten in MATLAB
- 25. Finde den Schwerpunkt eines Polygons mit gewichteten Scheitelpunkten
- 26. Zentrieren eines Polygons innerhalb eines Rastersteuerelements
- 27. Lücken in der Kante eines Polygons füllen
- 28. Finden die Ecken eines Polygons durch eine Region dargestellt maskieren
- 29. Ich versuche, eine void-Funktion zum Berechnen der Fläche eines Kreises
- 30. Plotten eines Polygons mit Matplotlib, Fehler mit Vertices
nice =) Dank dafür! – zcaudate