Mehr

So verbinden Sie zwei Feature-Classes ohne gemeinsames Attribut

So verbinden Sie zwei Feature-Classes ohne gemeinsames Attribut


Ich habe zwei Shapefiles mit im Wesentlichen den gleichen Objekten, ein Shapefile hat jedoch schreckliche räumliche Daten, aber großartige Attributdaten und das andere ist das Gegenteil. Was ich tun möchte, ist im Wesentlichen ein Join, aber es gibt keine gemeinsamen Felder, die ich als Join-Attribut verwenden kann.

Ohne dieses gemeinsame Feld glaube ich nicht, dass dies möglich ist, aber ich dachte, ich würde fragen, falls dies in der Vergangenheit jemand getan hat.


Benötigen Sie sie als Shapefile? Wenn nicht, versuchen Sie, eine neue .gdb und eine neue Feature-Class zu erstellen. Erstellen Sie die gewünschten/benötigten Felder. Beginnen Sie dann mit dem Laden der Daten aus Ihren Shapefiles in die Felder Ihrer Wahl. Es ist möglicherweise nicht so automatisiert, wie Sie möchten, aber dies sollte funktionieren. Sie können es wieder als .shp exportieren, wenn Sie dies bevorzugen oder als Ergebnis benötigen.


In der Werkzeugleiste Räumliche Anpassung sollten Sie das Attributübertragungswerkzeug verwenden können.


Ihre Technik muss je nach Umfang der Geometrieunterschiede und der Art der Geometrie variieren.

Polygon zu Polygon könnte einfach sein (Punkte aus der Schicht mit schlechter Geometrie erstellen -> räumlich mit der guten Geometrie verbinden -> nach Polygonen suchen, die mehrere oder keine Punkte haben -> diese manuell anpassen)

Punkt zu Punkt könnte auch einfach sein (Suche nach dem nächsten Nachbarn -> manuelle Anpassung für mehrere oder keine Übereinstimmungen mit einer Toleranz)

In beiden Fällen müssen Sie Iterationen in Toleranzen ausführen, um ein ausgewogenes Verhältnis zwischen guter Datenzusammenführung und manuellen Bearbeitungen zu erzielen. Es ist schwierig, 100% automatisiert zu werden, aber wenn Sie 80% erreichen, sparen Sie immer noch eine TONNE an manueller Arbeit.

Zeile-zu-Zeile ist schwieriger, aber der gleiche Ansatz kann funktionieren, aber es kann einige zusätzliche Filter- / Toleranzbemühungen erfordern, um alles richtig zu machen. (evtl. nach gleicher Länge/Azimut der Linien sowie Nähe suchen).

FME von Safe Software hat einige gute Transformatoren (Toolboxen), die Sie miteinander verketten können, um eine großartige Zusammenführung zu erzielen. Sie ermöglichen einen schnellen Ablauf und Sie können Ihre Ergebnisse schnell im Speicher anzeigen, alternative Szenarien ausführen, Metriken generieren usw.


Haben Sie auch Zugriff auf andere Tools, z. FME?

Ich habe mit einem ähnlichen Problem gerungen, habe aber auch einige zusätzliche Komplikationen.

Ich hatte einige Erfolge mit dem Attributübertragungswerkzeug, das Attribute von einem Linien-Feature auf ein anderes basierend auf einer Annäherung/räumlichen Übereinstimmung überträgt. Dies funktioniert relativ gut für Features, die sich gerade etwas verschoben haben, aber Sie bleiben dann bei einer Line-Feature-Class mit vollständiger Attribution hängen. Und es gibt einen bekannten Fehler in Feature to Polygon, der verhindert, dass die Attribute beim Umformen der Polygone zurückgenommen werden. Also habe ich versucht, FME zu verwenden, um die Features wieder in das Polygonformat zu bringen.

Ich frage mich, ob ein besserer Ansatz darin bestehen könnte, Zentroide zu verwenden, um die Attribute erneut mit dem Raum in Arc zu verbinden. Dies wäre insbesondere dann relevant, wenn Sie in der ESRI-Umgebung bleiben müssen…

Sorry, keine schlüssige Antwort, aber ein bisschen Brainstorming. Ich werde Sie wissen lassen, wenn ich eine Lösung für mein Problem gefunden habe, es ist Ihrem ziemlich ähnlich.


Schau das Video: Copying and Pasting Features Between Feature Classes in ArcGIS Pro