ArcPy: come verificare le interferenze fra le geometrie

Avete mai avuto la necessità di eseguire un’operazione tanto semplice quando indispensabile come il dover estrarre l’area non condivisa fra due geometrie sovrapposte? In sostanza, l’opposto di un’operazione di Intersect?

symmetrical_difference

Differenza simmetrica

Tale operazione può essere eseguita con lo strumento Symmetrical Difference. L’unico problema è che si tratta di un tool che necessita di una licenza di livello Advanced, non sempre a disposizione di tutti gli utenti. Nessun problema! In questo post vi faremo vedere come sfruttare gli oggetti Geometria per rendere possibili questa e molte altre operazioni utilissime, superando il limite della licenza. Il tutto sfruttando Python e il modulo arcpy. Leggi il resto dell’articolo

Annunci

Nuovo Corso di Formazione: “Python per ArcGIS for Server”

Nel panorama della formazione GIS One Team si è sicuramente distinta per essere stata una delle prime aziende a proporre un Corso di Formazione a Calendario sugli strumenti Python in ArcGIS (e non solo).

Negli ultimi mesi abbiamo deciso di condividere tutto il bagaglio di esperienze accumulato, pensando ad un corso dedicato all’ “Uso avanzato di Python in ArcGIS Desktop”, per approcciare quelle tecniche di scrittura e strutturazione del codice che consentono di produrre strumenti di analisi e automazione GIS, facili da condividere e da mantenere.

Oggi questo percorso si arricchisce di un ulteriore step, con l’ideazione di un corso specifico per sfruttare lo scripting Python anche per esporre servizi di Geoprocessing su ArcGIS Server.

PythonForServer

Ma cosa sono i servizi di Geoprocessing e a quale necessità rispondono? Leggi il resto dell’articolo

Formazione a Calendario “Introduzione a Python per ArcGIS 10.2” – 4 Giugno 2014

One Team ripropone la formazione a calendario sugli strumenti Python per ArcGIS 10.2.

Python

La formazione è dedicata a utenti GIS, anche senza una specifica competenza di linguaggi di programmazione, e si pone come obiettivo primario di introdurre un metodo per avvicinarsi all’uso di script per l’automazione di procedure GIS.

Leggi il resto dell’articolo

Uno Script Python che monitora i servizi di ArcGIS Server…

Ecco un altro esempio di come Python riesce a di integrare all’interno dello stesso script funzionalità appartenenti a moduli differenti.
In questo caso l’obiettivo è stato quello di realizzare una funzione che, pianificata a intervalli regolari con gli strumenti di Windows, riuscisse ad interrogare i servizi di mappa di ArcGIS Server e, in caso di esito negativo, ad avvisare con una mail inviata ad uno o più indirizzi.

In questo caso sono state utilizzate le librerie urllib2 (richiede Pythonwin installato) e smtplib, rispettivamente per l’interrogazione di una URL e per l’invio della mail sfruttando un server SMTP.

Da notare che in questo caso non sono stati utilizzati moduli arcpy di Esri.

import urllib2, smtplib

La prima parte consente di specificare i riferimenti al proprio arcgis server, ai servizi da monitorare e alla lista degli utenti da avvisare in caso di mancata risposta di uno o più servizi.

Leggi il resto dell’articolo

Python e il modo più comodo di contare dei dati…

Python è una miniera inesauribile di risorse e nel mare degli script ne proponiamo uno abbastanza banale per eseguire dei conteggi sulle proprie Feature Class, utilizzando la Python Window.

Primo passo è importare i moduli necessari: arcpy è il Site Package che contiene tutte (o quasi…) le librerie Python di ArcGIS.

import arcpy
arcpy.env.workspace = r'C:\temp\scratch.gdb'

Successivamente andiamo a listare le Feature classes all’interno del nostro Workspace: la funzione crea un oggetto Lista che può contenere valori multipli.

featureclasses = arcpy.ListFeatureClasses()

A questo punto, per eseguire un conteggio su ciascuna FeatureClass dobbiamo inserire un ciclo e in particolare un ciclo “For”. Da notare che la variabile fc non esiste fintanto che non viene dichiarata proprio al momento del clclo (molto comodo!!!!)

for fc in featureclasses:

Leggi il resto dell’articolo