Un modello per far "esplodere" uno shape - Richiesta di Ramona
domenica, ottobre 07, 2007
Necessario: Licenza ArcGIS 9.2 e Modello che trovate in questo post
Livello di difficoltà:

Ciao a tutti,
qualche giorno fa una lettrice del blog di nome Ramona mi ha posto una domanda che, in effetti, già altre persone mi avevano posto.

Il problema è il seguente:
immaginate di avere uno shape o una feature class che abbia diversi valori per un campo della tabella di attributi: nell‘esempio che vedete, lo shape delle particelle catastali, ottenuto dal CXF dell’Agenzia del Territorio ha 3 valori sul campo “Livello”, ovvero Acqua, Strada e Terreno.




La nostra amica vorrebbe sapere se esiste una funzione per “esplodere” lo shape in 3 singoli shapes, uno di soli poligoni con valore “Acqua”, uno di soli poligoni con valore “Strada” e uno di soli poligoni con valore “Terreno”.

Non so se esiste una dll specifica che possa fare questo, ho preferito orientarmi da subito sul model builder per creare un modello che permettesse di creare questa separazione.

Una volta aperta la finestra del model builder, vi ho trascinato all’interno lo shape delle particelle catastali e, dal Toolbox “Analysis Tools” , “Extract”, ho scelto il tool “Select” per fare in modo di selezionare, ad esempio, solo le particelle di tipo “Acqua”, come si vede dall’immagine 2.
L’espressione che permette di selezionare le particelle, per creare un nuovo shape solo con quelle che hanno un determinato valore sul campo livello, l’ho resa parametrizzabile, in modo da poter decidere, una volta lanciato il modello, quale su quale valore del campo “livello” eseguire la selezione.
Ho parametrizzato anche il nome dello shape che si ottiene dalla selezione.

QUESTO è il modello che ho ottenuto.





A questo punto, con lo strumento BATCH, presente nella versione 9.2, è possibile “far girare” il modello N volte, una per ogni valore dell’attributo del campo Livello.
Nel mio caso lo farò girare 3 volte, variando, di volta in volta la query di selezione (per questo ho fatto in modo che l’espressione della query fosse parametro del modello).



Non resta che dare l’Ok e far girare il modello…

Avete altre idee per ottenere questo risultato senza "scomodare" il model builder?

Ciao a tutti
Paolo




PS: Sono un Bamboccione!!!

Etichette:

 
posted by Paolo at 9:19 PM | Permalink |


5 Commenti:


At 8/10/07 10:13 PM, Anonymous Anonimo

ciao a tutti, dato che sono un inesperto rispetto alle vs conoscenze, io mi sarei mosso diversamente. 1)Selezionavo dallo shp - tramite una query o anche manualmente - solamente gli attributi di una sola caratteristica 2) esportatavo tutto ciò selezionato in un nuovo shp 3) ripetevo l'operazione tante volte quante erano gli attributi.
Lo so se ci fossero tanti attributi si richiedeva più tempo!!! per questo c'è paolo...tanti saluti...davide

 

At 12/10/07 11:05 AM, Anonymous zeroshin

Appunto, anch'io sono sempre fatto query+esportazione ;)

 

At 17/10/07 10:05 AM, Anonymous Anonimo

Salve a tutti, esiste cmq un Tool (Select) nell'ArcToolBox ed in particolare: sotto Analysis Tools -> Extract -> Select, che fa la stessa cosa senza utilizare il model Builder.

la scocciatura se si hanno un sacco di valori è scrivere le query x ogni valore, magari si dovrebbe trovare un modo x automatizzare questo passaggio!!...

 

At 17/10/07 5:13 PM, Blogger Paolo

Ciao ragazzi,
in effetti se si tratta di 2 o 3 valori, converrebbe fare come dicevano Zeroshin e Anonimo, ovvero query+esportazione, ma nel caso di un maggior numero di valori diversi, sarebbe utile automatizzare la procedura ed il Modello serve a questo.
In realtà si potrebbe fare anche di meglio, utilizzando le liste e le serie del Model Builder presenti nella versione 9.2...ma ci sto ancora lavorando!
Hola
ESRIdipendente

 

At 15/11/07 1:46 PM, Anonymous sergio

Se ho ben capito.. anche nel modello di Paolo l'inserimento dei valori non è automatico per tutto il campo?
Come si potrebbe fare per cun campo con 1000 valori?

 


Torna all'inizio della pagina