24 aprile 2008

Un saluto da Parigi


Sessione dedicata alla selezione spaziale di oggetti intersecando buffer con AutoCAD Map 3D 2009

Mi prendo una breve pausa, mentre ascolto una sessione in inglese dedicata ai Metadati ed Inspire, sui quali sono già abbastanza ferrato, per pubblicare una foto gentilmente regalatami da Marco di C2.

Siamo ad EuroDisney, vicino Parigi, per il tradizionale Tech Camp Geospaziale Autodesk.
La foto mi ritrare mentre presento ai tecnici che frequentano il corso una nuva procedura, consentita dal nuovo Generatore di Espressioni di AutoCAD Map 3D 2009, che permette di selezionare degli oggetti intersecando dei buffer.

In parole povere, abbiamo provato ad individuare i lotti adatti per la costruzione di una scuola, assicurandoci che siano ad una adeguata distanza dalle strade principali (primo buffer), vicini ad aree verdi o parchi (secondo buffer) ed abbiano altre caratteristiche desiderate.
Map 3D sta diventando un vero software GIS.
Per ora stiamo usando la versione inglese, ma quella in italiano sarà pronta a metà maggio.

Saluti da Parigi!
GimmiGIS

5 commenti:

Roberto ha detto...

ciao, rispolvero questo post che ho l'esigenza di sfruttare questo famoso "generatore di espressioni".
Sinceramente non riesco a trovarlo per niente intuitivo anche per piccole operazioni e soprattutto non riesco a trovare una guida degna di tale nome. Forse sono un po' distruttivo e sicuramente grandi colpe me le prendo pure io, ma sono un po' stressato dal fatto di non essere riuscito a fare da solo un operazione che mi sembra molto semplice. Chiedo pertanto il tuo aiuto sia nel risolvermi il problema che nel fornirmi delle indicazioni per studiare almeno parzialmente questo strumento.
Problema: ho una shape di linee con un campo codici, vorrei rappresentare su carta solo quelle in cui nel codice è presente una sigla particolare. esempio i codici sono RRAP001, RRAP002, RRAC001, RRAC002, etc. ed io vorrei creare una regola per evidenziare solo le linee aventi nel codice AC, cioè RRAC001, RRAC002, etc.
Spero di essere stato chiaro, grazie per l'attenzione.
ciao

GimmiGis ha detto...

Ciao Roberto,

Perbacco, il Generatore di espressioni è uno strumento nuovissimo, è stato introdotto con la versione 2009, è molto potente ma, sono d'accordo con te, ancora poco documentato.

In ogni caso ho trovato l'espressione che fa per te.

Devi scegliere prima con il bottone Proprietà il nome del campo, poi introdurre l'operatore LIKE ed infine usare una sintassi del tipo 'RRAC%'

Quindi l'espressione deve apparire:

nomecampo LIKE 'RRAC%'

dove % sta a significare che il resto del campo può contenere altri caratteri qualsiasi.

Questa sintassi l'ho letta facendo clic sull'operatore LIKE: così fai apparire una piccola finestra di Help.

Ad esempio con una condizione del tipo:

provincia LIKE 'PA%' ho selezionato tutte le province d'Italia che iniziano con PA (Pavia, Padova,Parma Palermo).

Fammi sapere se funziona!

Buon lavoro
GimmiGIS

Robbi ha detto...

Grazie mille,
funziona a meraviglia.
Pensa che avevo cominciato a creare numerose "aggiungi regola" per ottenere il risultato desiderato!!!
Ora spero che venga pubblicata presto una bella guida con esempi più complessi per capirne di più.
ancora grazie, a presto.
ciao

Roberto ha detto...

Lo so, sono assillante; purtroppo sono incappato in un altro problema al quale solo tu puoi darmi risposta.
Ho eseguito la stessa procedura applicandola ad un campo numerico ed ho capito che non è consentito farlo.
Cioè, in questo caso ho codici del tipo 82044, 82048, 94020, 94044, 33540, etc.
Vorrei applicare una proprietà solo alle entità che hanno codice cominciante con 82.
Ho riapplicato la stessa regola che aveva funzionato con le stringhe alfanumeriche ma mi restituisce un errore di mancata corrispondenza per l'operatore LIKE.

Grazie.
Ciao

GimmiGis ha detto...

Ciao Roberto,

Per forza. Non puoi applicare ad un numero una condizione LIKE, pensata per i testi.

Però nel Generatore Espressione hai a disposizione la funzione di conversione da numero a testo (ToString).

Quindi puoi creare un nuovo campo calcolato, che contiene il valore numerico trasformato in testo, con l'espressione:

ToString (nomecampo)

Dopodichè puoi applicare unacondizione LIKE a questo campo.

Buon lavoro!
GimmiGIS