Wie entferne ich Spitzen in Polygonen mit ArcGIS 10 / Python?

8

Im Bild unten sehen Sie eine Polygonebene, die steile Hänge darstellt und aus einer TIN extrahiert wurde. Die Polygone haben viele Spitzen. Ich möchte diese Spitzen entfernen, während der Rest der Grenzen genau an der gleichen Stelle bleibt. Ich möchte dies in einem Python-Skript mit arcpy- oder Python-Funktionen tun.

Weitere Informationen: ArcGIS 10.0, Python 2.6.5, Polygonebene befindet sich in einer GDB

Bild

Vincent Udo
quelle
3
Ich bin nicht sicher, ob Sie eine automatisierte Methode zum Reparieren Ihrer Spikes finden werden. Das Problem ist, wie unterscheidet man zwischen scharfen Winkeln innerhalb von Polygonen und außerhalb? Oder wie sagen Sie Ihrer Software, was ein Spike gegen einen Nicht-Spike ist? Und da Sie nicht möchten, dass sich der Rest des Polygons bewegt / ändert, wird dadurch eingeschränkt, welche Werkzeuge funktionieren. Das ist eine schwierige Frage.
Baltok
Mit welcher räumlichen Ausdehnung arbeiten Sie? Wären Sie bereit, Ihre Vektordaten manuell zu bearbeiten (falls möglich)?
Aaron
1
Wenn Sie Zugriff auf FME erhalten, kann das SpikeRemover- Tool genau das tun, wonach Sie suchen . Nicht wirklich die Lösung, nach der Sie gefragt haben, aber es wäre schnell.
Fezter
@ Baltok danke für deine Antwort. Nichts ist unmöglich, oder?;) Ich stimme zu, dass es eine schwierige Frage ist ...
Vincent Udo
@ Aaron Die räumliche Ausdehnung ist zu groß, um dies von Hand zu tun. Müssen dies für einen großen Teil der Niederlande tun.
Vincent Udo

Antworten:

2

Ich schlage vor, mit dem Werkzeug "Polygon vereinfachen" (zuerst) oder dem Werkzeug "Polygon glätten" (zweitens) herumzuspielen , um zu sehen, wie gut sie Ihrer Anforderung entsprechen, dass "der Rest des Rahmens genau an derselben Stelle bleibt".

Andytilia
quelle
Danke für die Antwort! Leider liefern sowohl vereinfachen als auch glätten nicht das gewünschte Ergebnis.
Vincent Udo
Hallo Vincent, können Sie weitere Informationen darüber geben, wie das Ergebnis von Ihrer Anforderung abweicht? Dies könnte uns helfen, herauszufinden, ob einige Parameteranpassungen eine akzeptable Ausgabe liefern könnten oder ob eine andere Lösung insgesamt besser wäre.
Andytilia
Ich muss die Polygone verwenden, um Linien auszuwählen, die sich an den Rändern der Polygone befinden, aber ich möchte nicht die Linien auswählen, die die Spitzen schneiden. Durch Vereinfachen und Glätten werden die Ränder geändert, sodass die richtigen Linien nicht ausgewählt werden können. Die Linien werden zum Erstellen der TIN verwendet, sodass sie sich genau an der gleichen Stelle befinden wie die Ränder des Polygons.
Vincent Udo
0

Aus Ihrem Bild kann ich sagen, dass dieser Ansatz Ihnen helfen wird.

Das Verfahren ist einfach

  1. Puffern Sie zuerst die ursprüngliche Ebene mit einem angemessenen Abstand.

  2. Führen Sie dann einen inversen Puffer mit demselben Abstand für das Ergebnis von Schritt 1 durch.

  3. Nach diesem Clip erhalten Sie die ursprüngliche Ebene mit dem Ergebnis von Schritt 2.

Möglicherweise müssen Sie die letzte Ebene vereinfachen.

hoffe das wird dir helfen.

iRfAn
quelle
Danke für deine Antwort. Leider hat diese Methode nicht das gewünschte Ergebnis. Es füllt die Lücken zwischen den Stacheln und den Hängen. Ich möchte einen Weg finden, um die Spitzen zu entfernen, indem ich den Scheitelpunkt in der Spitze der Spitze entferne.
Vincent Udo