Ich habe einen Code geschrieben, um herauszufinden, ob die Koordinaten innerhalb oder außerhalb eines Rechtecks liegen. Ich habe festgestellt, dass es eine Funktion "contain_points" gibt, die dem Zweck dient, äquivalent zu "inpolygon" in Matlab. Ich konnte kein Dokument über die Implementierung oder ein Beispiel für diese Funktion finden. Kann jemand vorschlagen, wie das funktioniert?Wie finden Sie, ob die Koordinaten von Interesse innerhalb eines Polygons gefunden werden oder nicht?
Antwort
Werfen Sie einen Blick auf shapely Bibliothek. Es ist der De-facto-Standard beim Umgang mit 2D-Polygonen in Python (und vielen anderen Sprachen, da es ein Wrapping der GEOS C++ - Bibliothek ist).
Ein Beispiel von dem, was Sie wollen:
from shapely.geometry import Point, Polygon
p = Point(0.0, 0.0)
poly = Polygon([(1, 1), (-1, 1), (-1, -1), (1, -1)])
is_included = poly.contains(p)
is_included
True
jetzt ist.
Kannst du dir die Antwort ansehen und Kommentare abgeben? –
@Eguaio, ich habe versucht, Ihren Code zu ändern. Aber ich bekomme das Ergebnis, "Punkte sind nicht im Polygon enthalten".
from shapely.geometry import Point,Polygon
a = Point([(0.0,0.0)])
b = Polygon([(1,1),(-1,1),(-1,-1),(1,1)])
if b.contains(a):
print "the points are included in the polygon"
else:
print "the points are not included in the polygon"
Sie haben meinen Code nicht genau kopiert. Es gibt zwei Unterschiede. 1) mycode: 'Point (0.0.0.0)' dir: 'Point ([0.0.0.0])'. 2) Der letzte Punkt in meinem Polygon ist '(1, -1)' und erzeugt ein Quadrat, das '(0,0)' enthält. Sie setzen '(1,1)' und bilden ein Dreieck, das den Ursprung nicht enthält. Dieser zweite Unterschied ist derjenige, der das Problem verursacht. Übrigens sollten Sie dies als Kommentar zu meiner Antwort verwenden und nicht als Antwort selbst veröffentlichen. Und bitte, wenn die Antwort in Ordnung war, überprüfen Sie es als die richtige Antwort. Vielen Dank. – eguaio
@eguaio vielen Dank. –
- 1. Die Diagonalen eines Polygons finden
- 2. Überprüfen, ob Koordinaten innerhalb eines Sektors liegen
- 3. Finden die Ecken eines Polygons durch eine Region dargestellt maskieren
- 4. Den Mittelpunkt eines Polygons finden?
- 5. Ein begrenztes Rechteck innerhalb eines konkaven/konvexen Polygons finden
- 6. Wie bekomme ich Koordinaten eines Polygons in OpenLayers?
- 7. Koordinaten des Quad-Polygons sortieren
- 8. Bestimmen, ob das Segment innerhalb eines Polygons liegt
- 9. Prüfen, ob die Position (Breitengrad) innerhalb des KML-Polygons liegt
- 10. Identifizieren, ob ein Punkt innerhalb eines Polygons liegt?
- 11. HTML5-Canvas: Finden Sie heraus, ob Klick-Koordinaten innerhalb eines bestimmten Rechtecks
- 12. Extrahieren Sie alle Koordinaten innerhalb eines Polygons aus Python formschönem Polygon
- 13. Kann überprüft werden, ob ein Punkt innerhalb eines Polygons von Geojson liegt?
- 14. prüft wird, ob ein Punkt innerhalb eines Polygons ist
- 15. Zentrieren eines Polygons innerhalb eines Rastersteuerelements
- 16. Wie finde ich in PostGIS alle Punkte innerhalb eines Polygons?
- 17. Wie ermittle ich die Koordinaten eines Artikels innerhalb eines Stackpanels?
- 18. Berechnen Sie die Fläche eines Polygons
- 19. Wie finde ich einen Punkt innerhalb eines Polygons mit Racket
- 20. Ist ein Punkt innerhalb oder außerhalb eines Polygons, der sich auf der Oberfläche eines Globus befindet?
- 21. Best Practice, um zu erkennen, ob ein Punkt innerhalb eines 2D Polygons liegt (Scheitelpunkte eines Polygons liegen auf einer Tabelle)
- 22. Sehen Sie, ob lat/long innerhalb eines Polygons mit mysql fällt, gibt es jetzt irgendeine Funktion?
- 23. Überprüfen, ob der geo-Punkt innerhalb oder außerhalb des Polygons in Python ist
- 24. Finden Sie die Koordinaten eines Quaders mit Listenverständnis in Python
- 25. Koordinaten eines Punktes zwischen zwei Punkten finden?
- 26. Finden von Koordinaten eines Punktes in OpenLayers
- 27. CheckedRadioButtonId kann nicht innerhalb eines Dialogfelds gefunden werden
- 28. So ermitteln Sie, ob ein (x, y) Punkt innerhalb eines durch eine Liste von Grenzpunkten definierten Polygons liegt
- 29. Kann nicht von Interesse finden, mit der Geokodierung
- 30. wie finden Koordinaten von Zellen
Kontrolle dieses http://stackoverflow.com/questions/36399381/whats-the-fastest-way-of-checking-if-a-point-is-inside-a-polygon-in-python – itzMEonTV