ForHosting KIT · Entwickler-Tools

Umfang einer konvexen Hülle berechnen

Dieser Rechner bestimmt die kleinste konvexe Begrenzung einer Menge kartesischer Punkte und addiert der Reihe nach die euklidischen Längen aller Randkanten.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Er gibt sowohl den Umfang als auch die Eckpunkte der Hülle zurück, sodass Sie das Ergebnis prüfen, zeichnen oder weiterverarbeiten können. Doppelte und innen liegende Punkte vergrößern den Wert nicht. Die Berechnung ist deterministisch, benötigt keinen Netzwerkzugriff und verarbeitet bis zu 100,000 Punkte pro Anfrage.

Geben Sie kartesische Punkte in einem einheitlichen System an

Übermitteln Sie die Punkte als Datensätze mit endlichen numerischen Koordinaten x und y. Alle Punkte müssen dasselbe kartesische Koordinatensystem und dieselbe Einheit verwenden. Liegen die Koordinaten in Metern vor, wird auch der Umfang in Metern ausgegeben; bei Pixeln lautet die Ergebniseinheit Pixel. Der Rechner projiziert weder Breiten- und Längengrade noch berücksichtigt er die Erdkrümmung. Wandeln Sie geografische Daten deshalb zunächst in ein geeignetes projiziertes Koordinatensystem um, wenn Sie eine physische Entfernung benötigen. Die Eingabereihenfolge spielt keine Rolle, da der Algorithmus die Koordinaten vor dem Aufbau der Begrenzung sortiert. Wiederholte Koordinaten sind zulässig und werden geometrisch entfernt; die Antwort nennt dennoch sowohl die ursprüngliche als auch die eindeutige Punktzahl. Mindestens ein Punkt ist erforderlich, höchstens 100,000 Datensätze sind erlaubt. Durch Beibehaltung der ursprünglichen Genauigkeit vermeiden Sie vorzeitiges Runden. Die Hülle beginnt am lexikografisch kleinsten Randpunkt und verläuft gegen den Uhrzeigersinn, sodass ihre Darstellung stabil und reproduzierbar ist.

So werden Begrenzung und Umfang ermittelt

Der Rechner verwendet Andrews Monotone-Chain-Verfahren. Nach Sortierung und Deduplizierung baut er eine untere und eine obere Kette auf. Ein Orientierungstest mit dem Kreuzprodukt entfernt den mittleren Punkt, sobald drei aufeinanderfolgende Kandidaten keine Linksdrehung bilden. Dadurch entfallen streng innen liegende Punkte ebenso wie Zwischenpunkte auf einer geraden Randkante; erhalten bleiben nur die zur Beschreibung der Kante erforderlichen Extrempunkte. Anschließend werden beide Ketten verbunden, ohne ihre Endpunkte doppelt aufzunehmen. Für den Umfang wird die euklidische Entfernung von jedem Eckpunkt zum nächsten addiert, einschließlich der schließenden Kante vom letzten zurück zum ersten. Die Sortierung bestimmt die Laufzeit und führt zu einer Zeitkomplexität von O(n log n); der anschließende Aufbau ist linear. Bei genau einem eindeutigen Punkt beträgt der Umfang null. Bei zwei eindeutigen Punkten oder einer vollständig kollinearen Menge enthält die Hülle die beiden äußersten Punkte. Nach der Konvention einer geschlossenen Begrenzung wird die Strecke in beiden Richtungen gezählt, sodass das Doppelte des Endpunktabstands entsteht.

Lesen und verwenden Sie das Ergebnis richtig

Das Feld perimeter enthält die gesamte Randlänge in derselben Einheit wie die Eingabekoordinaten. Das Array hull führt die beibehaltenen Randpunkte in Umlaufrichtung auf, ohne den ersten Punkt am Ende zu wiederholen. Zusätzlich enthält die Antwort input_points, unique_points und hull_points. Diese Angaben verdeutlichen, weshalb innere, wiederholte oder kollineare Punkte nicht in der Begrenzung erscheinen. Zum Zeichnen des Polygons verbinden Sie benachbarte zurückgegebene Punkte und schließen den letzten ausdrücklich mit dem ersten. Da JavaScript-Gleitkommaarithmetik eingesetzt wird, können irrationale Entfernungen die übliche kleine binäre Näherung enthalten; runden Sie erst bei der Darstellung. Das Werkzeug eignet sich für Lagepläne, Bildkoordinaten, lokale Ingenieurraster und projizierte Kartendaten. Es berechnet keinen sphärischen oder ellipsoidischen geodätischen Umfang, korrigiert keine falschen Koordinatenbezüge und bewahrt kollineare Punkte nicht allein zur Anzeige. API-Anfragen kosten $0.002; die Browserausführung verwendet dieselbe reine Berechnungslogik und liefert daher kanalübergreifend konsistente Ergebnisse.

Grundstücksgrenze messen

Ermitteln Sie den einschließenden Umfang von Vermessungspunkten nach der Umwandlung in eine geeignete lokale Projektion.

Schutzumfriedung abschätzen

Berechnen Sie den kürzesten konvexen Zaun oder Mantel, der alle Positionen einer ebenen Punktmenge umfasst.

Räumliche Ausdehnung zusammenfassen

Erzeugen Sie eine geordnete Kontur samt Länge für Cluster, Bildmerkmale, simulierte Partikel oder CAD-Koordinaten.

Was kostet eine Anfrage?

Jede API-Anfrage kostet $0.002. Die Funktion lässt sich außerdem lokal im Browser ausführen.

Werden Breiten- und Längengrade direkt unterstützt?

Sie können diese als Zahlen eingeben, das Ergebnis läge jedoch in Grad und wäre keine verlässliche physische Entfernung. Projizieren Sie die Daten vor der ebenen Berechnung.

Was geschieht mit doppelten und inneren Punkten?

Duplikate werden entfernt und innere Punkte ausgeschlossen. Die Antwort zählt ursprüngliche, eindeutige und Randpunkte getrennt.

Wie werden kollineare Punkte behandelt?

Nur die beiden Extrempunkte bleiben erhalten. Die Strecke wird doppelt gezählt, weil die degenerierte Begrenzung Hin- und Rückweg umfasst.

Wird der erste Eckpunkt am Ende wiederholt?

Nein. Das Hüllen-Array enthält jeden Eckpunkt einmal; die schließende Kante zurück zum ersten ist implizit und im Umfang enthalten.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/geo/convex-hull-perimeter

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/geo/convex-hull-perimeter \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"x":0,"y":0},{"x":4,"y":0},{"x":4,"y":3},{"x":0,"y":3},{"x":2,"y":1}]}'
{
  "points": [
    {
      "x": 0,
      "y": 0
    },
    {
      "x": 4,
      "y": 0
    },
    {
      "x": 4,
      "y": 3
    },
    {
      "x": 0,
      "y": 3
    },
    {
      "x": 2,
      "y": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.convex_hull_perimeter",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_items100000
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →