Erstellen doppelter Features basierend auf der Eins-zu-Eins-Konvertierung verwandter Tabellen?


11

Ich muss doppelte Features (in diesem Fall Pakete) erstellen und eine verwandte Tabelle verwenden, um ID-Felder zu füllen. Im Wesentlichen muss ich eine verwandte Tabelle von Paketbesitzern verwenden, um doppelte Pakete mit jeweils einer eigenen eindeutigen ID aus der zugehörigen Eigentümertabelle zu erstellen. Die zugehörige Tabelle enthält bereits den Eins-zu-Eins-Link zu Paketen. Ich möchte lediglich eine Eins-zu-Eins-Beziehung zwischen den Eigentümern und Paketen erzwingen, indem ich für jeden Eigentümerdatensatz ein doppeltes Paket erstelle.

Ich verwende ArcGIS Desktop 9.3.1.


2
Warum können Sie die Feature-Tabelle nicht einfach mit der Eigentümer-Tabelle verknüpfen? Sie erhalten immer noch mehrere Zeilen pro Form (da es sich um eine Eins-zu-Viele-Beziehung handelt, Funktion zum Eigentümer), was im Wesentlichen bedeutet, dass Sie beim Anzeigen von Tabellendaten eine "Eins-zu-Eins" -Beziehung sehen .
Michael Todd

Welche Software? welche Version?
Jay Cummins

ArcGIS 9.3.1 Ich möchte die Geometrie tatsächlich duplizieren und nicht nur 1: 1 in der Tabelle sehen.
Jodi

Da jedes Polygon ein Polygon mit genau derselben Form überlagern würde, werden Sie wirklich keinen Vorteil (den ich mir vorstellen kann) aus mehreren Formen ziehen. Tun Sie dies für etwas anderes als das Symbolisieren von Features auf einer Karte?
Michael Todd

1
Nicht zum Symoblisieren von Funktionen verwenden. Durch das Erstellen doppelter Formen möchte ich die Möglichkeit erhalten, die räumliche Position eines Features in einer verwandten Tabelle zu finden (sozusagen umgekehrt oder viele-zu-eins). Indem doppelte Formen übereinander "gestapelt" werden, können Sie mit dem Auswahl- oder Identifikationswerkzeug alle Datensätze erfassen, ohne Datensätze in einer zugehörigen Tabelle nachschlagen zu müssen.
Jodi

Antworten:


9

Ich habe es gerade mit unserer Paketfunktion und dem Besitzertisch gemacht.

Ich habe eine Verknüpfung für die Pakete mit den Eigentümern vorgenommen und "Nur übereinstimmende Datensätze beibehalten" ausgewählt - direkt nach der Verknüpfung - "Features kopieren" aus der ArcToolbox - und es werden Duplikate aller Pakete erstellt, für die Eigentümer vorhanden sind.

Es hat bei mir funktioniert .... endlich ...


5

Verwenden Sie in ArcMap 10 die MAKE QUERY TABLE. Stellen Sie zunächst sicher, dass sich die Tabelle und die Feature-Class in derselben Geodatabase befinden. Mit dem Tool MAKE QUERY TABLE wird ein Feature-Layer erstellt, sodass Sie COPY verwenden müssen, um eine permanente Feature-Class zu erstellen. Sie können diese Feature-Class dann in ein Shapefile exportieren.


Dies scheint der "richtige" Weg zu sein, wenn Sie nicht nur eine Tabelle, sondern auch die Polygone duplizieren möchten. Wenn Sie eine Feature-Layer-Ausgabe wünschen, müssen Sie zuerst den Feature-Layer hinzufügen (und vergessen Sie nicht, "layer.Shape" als ausgewählte Variable einzuschließen). Sie können ihn erst überprüfen, wenn Sie ihn kopieren / exportieren ... aber es verarbeitet die Eins-zu-Viele-Verknüpfung von Tabelle zu Polygon perfekt.
orh

2

Wir verwenden eine räumliche Ansicht in SDE, um ein ähnliches Ergebnis zu erzielen. In unserem Fall liegt es daran, dass wir Pakete mit mehreren Eigentümern haben (Eigentumswohnungen, Stadthäuser usw.). Wir importieren jede Nacht eine Datei in SDE, die alle Eigentümer des Landkreises enthält, die jeweils eine eindeutige ID haben, die sich auf ein bestimmtes Paket bezieht. Mit dieser Tabelle und unserer Feature-Class für Paketpolygone erstellen wir eine räumliche Ansicht. Das Ergebnis ist eine räumliche Ansicht mit gestapelten Paketen, ein Paket für jeden einzelnen Eigentümer. Wenn Sie diese Ebene in ArcMap identifizieren, erhalten Sie ein Ergebnis für alle Eigentümer. Wir sind bei Arc 9.3.1. Diese Schicht war für unsere Steuerabteilung sehr vorteilhaft.


Leider ist kein SDE oder INFO verfügbar. Ich denke, es ist in ArcView nicht möglich?
Jodi

Mit ArcMap sollten Sie über eine ArcSDE-Lizenz verfügen, die Sie mit SQL Server Express verbinden können. Sie sollten in der Lage sein, Ihre Paket-Feature-Class und Eigentümertabelle in die Datenbank zu verschieben, Ihre räumliche Ansicht zu erstellen und sie dann als Shapefile oder Personal / File-Geodatabase wieder herauszuschieben (Beziehung abwickeln).
Walkerer

2

Mads Grens Antwort funktioniert perfekt.

  1. Sie verbinden Ihre Besitzertabelle mit Ihrer Pakettabelle, wobei die Option Nur übereinstimmende Datensätze beibehalten aktiviert ist.

  2. Verwenden Sie die Funktion "Features in ArcToolbox kopieren" (Datenverwaltungstools -> Features), um Ihre Pakete in eine neue Feature-Class zu kopieren. Die neue Feature-Class enthält jedes Paket einmal pro Eigentümer. Wenn ein Paket zwei Eigentümer hat, wird das Paket in der neuen Feature-Class zweimal angezeigt - es wird einfach mit dem Tool zum Kopieren von Features veröffentlicht.

All dies können Sie in Model Builder in ein Modell einfügen. Unter Datenverwaltungstools -> Verknüpfungen finden Sie Join hinzufügen. Das Modell kann dann jedes Mal ausgeführt werden, wenn Ihre Basisdaten aktualisiert werden.


Ausgezeichnet! Ich habe gerade Ihre Methode ausprobiert und sie funktioniert perfekt. Wissen Sie, warum das funktioniert? Ich bin jedoch froh, dass dies der Fall ist. Ich bin ratlos für eine Erklärung. Ich würde die Logik hinter der Operation wirklich gerne verstehen, da sie nicht dokumentiert zu sein scheint.
Brent Edwards

Könnte ich nur überprüfen. Sollte Ihre Ebene "Features" mit der Tabelle verknüpft sein, bevor Sie die Tabelle mit den "Features" verknüpfen? Ich habe beide ausprobiert und beide funktionieren nicht.
Howeitzer


0

Wählen Sie einfach die Pakete aus, die dupliziert werden sollen (eine 'where in'-Klausel würde gut funktionieren) und erstellen Sie ein neues Shapefile der Auswahl. Führen Sie die beiden Dateien zusammen. Erledigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.