Come estrarre la prima parola da sinistra in un campo
sabato, giugno 27, 2009
Necessario: Licenza ArcGIS 9.x
Livello di difficoltà: ESRI,Arcview,Autodesk,Autocad,Plotter,GIS,SQL,Access,TomTom


Ciao a tutti,
dopo qualche settimana di stop, eccomi tornato per parlarvi della maschera del field calculator.
In particolare, in questi giorni, mi è capitato di dover estrarre la prima parola a sinistra presente in un campo.
Nel mio caso, dal campo, TP_NOME vorrei isolare il toponimo (accesso, via, strada, stradone...) dalla sua descrizione (Adriatica, Albanuova, ecc ecc...)
Ho trovato la soluzione a QUESTO INDIRIZZO.
Questo script, permette di estrarre la prima parola dalle celle di un campo e copiarla in un nuovo campo.


ESRI,Arcview,Autodesk,Autocad,Plotter,GIS,SQL,Access,TomTom

In pratica,

Passo 1: Aprire la barra dell'editor e attivare lo start editing

Passo 2:
Aprire la tabella sulla quale vogliamo lavorare

Passo 3: Posizionatevi sull'intestazione del campo nel quale volete memorizzare le prime parole a sinistra,e con il tasto destro attivate il calculate value

Passo 4: Inserite il seguente codice nella finestra "Pre-logic VBA script code":

dim space as integer
space = instr([name], " ")
dim var as string
var = left([name], space)

Nel mio caso, al posto del campo identificato come [name], metterò [TP_NOME]

Nella finestrella identificata col nome del campo che andiamo a modificare inserire la parola "var", come in figura.


ESRI,Arcview,Autodesk,Autocad,Plotter,GIS,SQL,Access,TomTom


In realtà,
ho notato che, pur seguendo questa procedura alla lettera, non sempre si ottiene il risultato sperato.
Alcune volte viene visualizzato un errore "Error running VBA code".
Se qualche sviluppatore può aggiungere qualcosa per completare il post e capire il motivo per il quale a volte esce l'errore gliene sarei grato.

Ciao
Paolo

PS: tornato dalle ferie mi sono accorto che è uscita la SP1 per ArcGIS 9.3
La potete scaricare QUI

Hola

Etichette:

 
posted by Paolo at 10:04 AM | Permalink |


13 Commenti:


At 28/6/09 11:18 AM, Anonymous Anonimo

ciao Paolo, ho provato e si è inchiodato sul VBA error running, usando la 9.3. Appena riesco provo con la 9.2 perchè già in altri casi c'era questo inghippo:

http://www.esridipendente.forumer.it/esridipendente-about497-15.html

[PS: l'autore del post non si è MAI fatto + vivo]

PIRO

 

At 28/6/09 8:12 PM, Blogger Paolo

Ciao Piro,
come dicevo nel post, io ho fatto qualche tentativo con un paio di shape. Alcune volte il gioco riesce, altre no. Sinceramente, però, non ho capito con quale sia il fattore discriminante. Anche io ho usato la 9.3 senza SP1.

Ciao
Paolo
ESRIdipendente.it

 

At 29/6/09 10:49 AM, Anonymous bobo_59

Ho fatto un paio di prove e l'unico modo per causare un errore è stato quello di usare un campo destinazione NON in formato text (quindi cercare di scrivere un testo in un campo numerico). Se potete essere più specifici sull'errore generato magari approfondiamo il problema.

Ciao
Roberto

 

At 29/6/09 1:07 PM, Anonymous Anonimo

quindi bisogna aggiungere un colonna di formato testo su cui poi si utilizzerà lo script attraverso il field calculator. Paolo ha usato il campo "test" si vede nel print screen.

Ho riprovato con un campo "string" ma l'errore rimane (sempre con la 9.3)

 

At 29/6/09 1:34 PM, Anonymous Anonimo

ho riprovato con un campo con la prima parola da sinistra uguale per tutti i record ma nulla. appena riesco provo con la 9.2.

 

At 30/6/09 10:53 PM, Anonymous Anonimo

Finalmente: con la 9.2 funziona benissimo senza nessun intoppo. Quindi tre di questi script con la mia 9.3 non funzionano, la 9.2 li digerisce benissimo. E' un bel comando grazie Paolo. Andrò a setacciare anche il sito dove l'hai scovato.

PIRO

 

At 1/7/09 4:08 PM, Anonymous Anonimo

Aggiungo il mio piccolo contributo: con la 9.0 funziona!
Grazie, tornerà molto utile!
Ciao,
georaf

 

At 2/7/09 2:02 PM, Blogger bobo59

Con la mia 9.3 funziona.

Ciao
Roberto

 

At 2/7/09 4:05 PM, Blogger Paolo

Ciao Bobo,
visto che nel tuo caso con la 9.3 funziona, potresti inviarmi lo shape sul quale hai fatto la prova?

Vorrei capire qual'è il fattore che a volte la fa funzionare e a volte no.

grazie
Paolo

ESRIdipendente.it

 

At 3/7/09 1:33 PM, Anonymous LABATI

a occhio e croce io lavorerei sulle tabelle esportandole dal dbf in excel ad es.con Xtools .
poi da excel è abbastanza facile creare un dbf pulito come vogliamo
a questo punto si fa un bel join
ho detto una castroneria ?

 

At 3/7/09 6:23 PM, Anonymous Anonimo

ciao Carlo in excell ci sono le funzioni: destra - sinitra per effettuare una operazione simile però per un risultato simile quale funzione useresti ?

 

At 4/7/09 4:45 PM, Anonymous LABATI

beh per esempio la funzione Trova e Sostituisci "via" con " " dove nel campo sostituisci non metti nulla . Lo rifai per "strada" "accesso" ecc e ti levi tutto cio che non serve

 

At 21/9/09 6:01 PM, Anonymous Anonimo

Avevo bisogno di questo comando ma visto che la 9.3 non lo "recepisce" ho cercato tra le funzioni del field calculator e ho trovato mid (): funziona molto bene e c'è anche la sintassi nell'help cosa che manca per il trim ().

Piro

 


Torna all'inizio della pagina