Come aggiornare la proprietà length del campo della classe di funzionalità in ArcGIS Desktop?


10

Ho una classe di caratteristiche con un campo stringa che voglio aggiornare la lunghezza da 10 a 25.

Esiste un modo o uno strumento per aggiornare questa proprietà senza dover creare un nuovo campo e utilizzare la calcolatrice per spostarsi sui record dal vecchio al nuovo campo?


Questo script qui sotto fa quello che voglio, l'unica cosa è che spinge il campo aggiornato alla fine della tabella (non mantenendo l'ordine dei campi originale).

http://arcscripts.esri.com/details.asp?dbid=16503

Un'altra opzione che sembra promettente è quella di utilizzare lo strumento da Classe caratteristica a Classe caratteristica (accedi a questo strumento facendo clic con il pulsante destro del mouse su un livello in ArcCatolog e selezionando Esporta> Geodatabase opzione singola). Crea un nuovo livello, tuttavia è possibile aggiornare i nomi dei campi e le informazioni sulle proprietà. Sembra anche che tu possa cambiare l'ordine dei campi usando le frecce "Sposta il campo di input su / giù", ma sembrano non funzionare.

Deve esserci una soluzione per modificare le proprietà dei campi senza dover creare un nuovo campo.


Si tratta di un'origine dati specifica? Per Shapefile?
underdark

@underdark, la classe di funzionalità si trova all'interno di un geodatabase.
artwork21

Non che ti aiuti in questo momento, ma a giudicare dai commenti su questa Idea ArcGIS , stanno valutando di implementarlo in "futuro".
Chad Cooper,

XTools contiene lo strumento "Ristruttura tabella" che fa tutto il lavoro pesante nel cambiare le caratteristiche del campo, ma sfortunatamente non è uno degli strumenti gratuiti forniti con l'estensione.
Kenbuja,

Risposte:


12

Per quanto ne so, al momento non è possibile apportare modifiche allo schema in un geodatabase senza rilasciare e aggiungere campi o eliminare e ricaricare classi / tabelle di caratteristiche. Quest'ultimo è ciò che raccomando per mantenere l'ordine sul campo.

Quello che faccio normalmente è:

  1. Eseguire un backup della classe di funzionalità originale
  2. Esporta lo schema originale della classe di caratteristiche in un file XML
  3. Modifica lo schema in un editor di testo o ArcGIS Diagrammer 10.0 , 10.1 o 10.2 .
  4. Elimina la classe caratteristica originale
  5. Importare di nuovo lo schema nel geodatabase
  6. Utilizzare lo strumento Aggiungi, Caricatore dati semplice o Caricatore oggetti per caricare i contenuti della classe di funzionalità di backup nella classe di caratteristiche appena importata. Per ulteriori informazioni, consultare l'argomento della guida "Informazioni sul caricamento di dati in classi e tabelle di caratteristiche esistenti" .

In ArcGIS 10.1 e versioni successive sono disponibili strumenti di geoprocessing per gestire l' importazione / esportazione XML, ma a partire dalla 10.0 o prima è necessario utilizzare ArcObjects o farlo manualmente. Per un esempio di ArcObjects, consultare: Esporta documento area di lavoro XML


Quale esportazione xml devo fare, doc dell'area di lavoro o recordset?
artwork21

1
Area di lavoro e l'opzione solo schema (non dati) se si stanno seguendo i passaggi precedenti.
blah238,

Ok, quindi ho effettuato i miei aggiornamenti salvando l'xml in Diagrammer come documento dell'area di lavoro e quando tento di caricare nuovamente lo schema nella classe caratteristica mi dà solo un'opzione per caricare il documento recordset non l'area di lavoro? E Diagrammer pubblica solo in un documento dell'area di lavoro. Come aggiri questo?
artwork21

1
Fare clic con il tasto destro del mouse sulla connessione geodatabase / database ed eseguire Import -> XML Workspace Document.
blah238,

1
Questa procedura ha funzionato perfettamente! Per caricare nuovamente i dati nel nuovo schema dopo aver seguito i passaggi precedenti, utilizzare la procedura guidata Caricatore di dati semplice
Elliott,
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.