Creazione di funzionalità duplicate basate sulla conversione da molti a uno della tabella correlata?


11

Devo creare funzioni duplicate (in questo caso pacchi), utilizzando una tabella correlata per popolare i campi ID. In sostanza, ho bisogno di utilizzare una tabella correlata dei proprietari dei pacchi per creare pacchi duplicati, ognuno con il proprio ID univoco dalla tabella dei proprietari correlati. La tabella correlata contiene già il collegamento molti-a-uno ai pacchi, voglio solo forzare una relazione uno-a-uno tra i proprietari e i pacchi, creando un pacco duplicato per ogni record del proprietario.

Sto usando ArcGIS Desktop 9.3.1.


2
Perché non puoi semplicemente unire la tabella delle caratteristiche alla tabella del proprietario? Otterrai comunque più righe per forma (poiché sarà una relazione uno-a-molti, caratteristica per il proprietario) che, in sostanza, significa che vedrai una relazione "uno a uno" durante la visualizzazione di dati tabulari .
Michael Todd,

Quale software? quale versione?
Jay Cummins,

ArcGIS 9.3.1 Vorrei davvero duplicare la geometria non solo vedere un 1: 1 nella tabella.
Jodi,

Poiché ogni poligono sovrappone un poligono della stessa identica forma, in realtà non trarrai alcun vantaggio (che mi viene in mente) dall'avere più forme. Lo stai facendo per qualcosa di diverso dal simbolizzare le funzionalità su una mappa?
Michael Todd,

1
Da non utilizzare per le funzioni di smomoblizing. Realizzando forme duplicate, voglio ottenere la capacità di trovare la posizione spaziale di una funzione in una tabella correlata (un rovescio o molti-a-uno, per così dire). E avendo forme duplicate "impilate" una sopra l'altra, è possibile utilizzare lo strumento di selezione o identificazione per acquisire tutti i record senza dover cercare i record in una tabella correlata.
Jodi,

Risposte:


9

L'ho appena fatto con la nostra funzione pacchi e la tabella dei proprietari.

ho fatto un join sui pacchi con i proprietari e selezionando "Mantieni solo i record corrispondenti" - subito dopo il join - crea un "Funzioni di copia" da ArcToolbox - e farà duplicati di tutti i pacchi in cui sono presenti proprietari.

Ha funzionato per me .... finalmente ...


5

In ArcMap 10, utilizzare MAKE QUERY TABLE. Innanzitutto, assicurati che la tabella e la classe di funzionalità siano nello stesso geodatabase. Lo strumento MAKE QUERY TABLE creerà un feature layer quindi dovrai usare COPY per creare una feature class permanente. È quindi possibile esportare questa classe di caratteristiche in un file di forma.


Questo sembra essere il modo "giusto" per farlo se non vuoi solo un tavolo, ma vuoi anche duplicare i poligoni. Se si desidera un output del feature layer, è necessario aggiungere prima il feature layer (e non dimenticare di includere "layer.Shape" come variabile selezionata) e non sarà possibile rivederlo se non lo si copia / esporta ... ma gestisce perfettamente l'unione uno-a-molti, tabella-poligono.
or

2

Usiamo una vista spaziale in SDE per ottenere un risultato simile. Nel nostro caso è perché abbiamo pacchi con più proprietari (condomini, case a schiera, ecc.). Importiamo un file in SDE su base notturna che contiene tutti i proprietari di proprietà nella contea, ognuno con ID univoco che si riferisce a un pacco specifico. Creiamo una vista spaziale usando questa tabella e la nostra classe di caratteristiche poligono pacchi. Il risultato è una vista spaziale con pacchi impilati, un pacco per ogni singolo proprietario. Quando identifichi questo livello in ArcMap, ottieni un risultato per tutti i proprietari. Siamo ad Arc 9.3.1. Questo livello è stato molto vantaggioso per il nostro dipartimento fiscale.


Sfortunatamente, non sono disponibili SDE o INFO. Sto pensando che non è possibile in ArcView?
Jodi,

Con ArcMap dovresti avere una licenza di ArcSDE che puoi collegare a SQL Server Express. Dovresti essere in grado di inserire la classe di caratteristiche dei pacchi e la tabella del proprietario nel database, creare la vista spaziale e quindi rimandarla indietro come file di forma o geodatabase personale / file (sciogli la relazione).
mwalker,

2

La risposta di Mads Grens funziona perfettamente.

  1. Unisci la tabella dei proprietari alla tabella dei pacchi con l'opzione Mantieni solo record corrispondenti abilitati.

  2. Utilizzare le funzioni di copia in ArcToolbox (Strumenti di gestione dei dati -> Funzioni) per copiare i pacchi in una nuova classe di caratteristiche. La nuova classe di caratteristiche contiene ogni pacco una volta per proprietario, il che significa che se un pacco ha due proprietari, il pacco comparirà due volte nella nuova classe di caratteristiche: viene semplicemente pubblicato con lo strumento Copia funzioni.

Tutto ciò che puoi inserire in un modello in Model Builder - Trova Aggiungi join in Strumenti di gestione dati -> Join. Il modello può quindi essere eseguito ogni volta che i dati di base vengono aggiornati.


Eccellente! Ho appena provato il tuo metodo e funziona perfettamente. Sai perché funziona? Sono felice che lo faccia, tuttavia; Sono in perdita per una spiegazione. Mi piacerebbe davvero capire la logica dietro l'operazione in quanto non sembra essere documentata.
Brent Edwards,

Potrei solo controllare. Il tuo livello "caratteristiche" deve essere correlato alla tabella prima di unire la tabella alle "caratteristiche"? Ho provato entrambi ed entrambi non funzionano.
Howeitzer,


0

Seleziona semplicemente i pacchi che vuoi duplicare (una clausola 'where in' funzionerebbe bene) e crea un nuovo shapefile della selezione. Unire i due file. Fatto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.