2017-06-21 1 views
2

Ich habe eine Reihe von Lat, lange Punkte, und von diesen Punkten möchte ich die Punkte, die die Grenzen bilden, extrahieren, ich habe konvexen Rumpf verwendet, aber für meine Zwecke ist nicht genug als Convehull gibt nur die entferntesten Punkte zurück, die das Polygon bilden, wo alle Punkte passen, ich brauche ALLE Punkte, die den Peremiter bilden, etwas wie das Bild, das ich angehängt habe. Was könnte ich tuen? Gibt es eine Art Paket, das anstelle eines räumlichen Algorithmus verwendet werden kann? Dank enter image description hereGrenzpunkte aus einer Reihe von Koordinaten

+0

Ich vermute, dass Sie das als ‚konkaver Rumpf‘ bekannt Form wollen: https://gis.stackexchange.com/questions/1200/what-are-definition-algorithms-and-practical-solutions-for- konkav-rumpf. –

+1

@Karlovalntin Sie müssen zuerst klar definieren, wann ein Punkt als "Grenzpunkt" betrachtet werden soll. Mit anderen Worten, warum ist das spezielle Polygon, das Sie zeichnen, der "Begrenzungsumfang" und nicht irgendein anderes der zahlreichen Polygone (nicht notwendigerweise konvex), das man möglicherweise zeichnen könnte, das würde auch alle Punkte einschließen? – Stelios

+0

Ich brauche alle Punkte, die den Umfang eines Polygons mit der Mindestfläche übereinstimmen können. – Karlovalentin

Antwort

0

Unter der Annahme, dass Sie alle Punkte (Breiten- und Längengrade) haben in zwei Listen LATS, Longs jeweils der Python-Schnipsel cand den Trick. hullPoint wird die Menge der Punkte haben, die die konvexe Hülle zeichnen können.

import numpy as np 
from scipy.spatial import ConvexHull 
allPoints=np.column_stack((LATS,LONGS)) 
hullPoints = ConvexHull(allPoints) 
Verwandte Themen