Als Hintergrund entstand diese Frage aus dem Versuch, eine Frage zu beantworten, wie überlappende Polygone aus Linien generiert werden können, die vom Werkzeug "Tabelle zu Ellipse" ausgegeben werden.
Mit der ArcMap 10.1-Benutzeroberfläche ist es sehr einfach, echte Kurvenpolygone mithilfe des Ellipse- Konstruktionswerkzeugs in eine Datei-Geodatabase-Feature-Class zu digitalisieren.
Ist es möglich, elliptische Polygone mit echten Kurven zu schreiben, während Zeilen (arcpy.da.SearchCursor) aus einer Tabelle gelesen werden, die jeweils einen Mittelpunkt, eine Hauptachse, eine Nebenachse und einen Azimut enthält?
Ich hatte gehofft, dass mit arcpy.da.InsertCursor möglicherweise ein Token dafür verfügbar ist , aber es SHAPE@
scheint durch die Unterstützung des Geometry- Objekts eingeschränkt zu sein, und das scheint keine echten Kurven zu enthalten.
quelle
Antworten:
Während arcpy Geometry-Objekte keine echten Kurven unterstützen, implementierte Esri bei 10.3 True Curves in der REST-API und musste daher die JSON-Unterstützung für diese in FeatureSets implementieren. Sie können also arcpy dazu "austricksen", wenn Sie eine Kurve in einer JSON-Struktur erstellen .
Hier ein Beispiel: Erstellen Sie eine JSON-Datei mit echten Kurven (dies verwendet einen Kreisbogen und eine Bezier-Kurve).
Laden Sie das dann in einen Feature-Set und speichern Sie es in einer Feature-Class.
Und Boom, du hast echte Kurven! Folgendes wurde in ArcMap erstellt:
In Ihrem Fall können Sie also möglicherweise eine JSON-Struktur erstellen, indem Sie entweder die ursprünglichen Features in einen Feature-Set umwandeln und mit dem JSON spielen oder indem Sie Zeilen in einem Suchcursor durchlaufen. Die Mathematik mag etwas schwierig sein, um das zu bekommen, was Sie wollen, ist aber definitiv machbar.
Ich sollte auch erwähnen, dass Sie keinen vollständigen Funktionsumfang bilden müssen. Sie können die JSON-Geometrie einfach auch direkt an das übergeben
arcpy.AsShape(geojson, True)
, um ein Geometrieobjekt zurückzugewinnen.quelle
Wir hatten das gleiche Problem, als wir Hunderte von Paketen aus rechtlichen Beschreibungen in eine Geodatabase ziehen mussten. COGO-Werkzeuge waren das einzige, mit dem wir echte Kurven zeichnen und beibehalten konnten. Leider sind COGO-Tools nicht skriptfähig.
Wir konnten jedoch rechtliche Beschreibungen in das TXT-Format konvertieren, um sie dann in das Traverse-Fenster zu laden und unsere Formen zu erstellen. Je nach Tabellenformat können Sie Ihre Tabellen (mit Python) in txt konvertieren und dann in das Traverse-Fenster laden.
Heute habe ich versucht, echte Kurvenkonturen in eine REA zu importieren, und bin auf das Add-In für die Kurvenkonvertierung gestoßen . Ich bin mir nicht sicher, ob es hilft, fand es aber nützlich, um echte Kurven zu manipulieren.
quelle