{"id":1156,"date":"2013-10-18T16:00:34","date_gmt":"2013-10-18T16:00:34","guid":{"rendered":"http:\/\/oneteamgis.wordpress.com\/?p=1156"},"modified":"2013-10-18T16:00:34","modified_gmt":"2013-10-18T16:00:34","slug":"il-modo-piu-comodo-di-contare-dei-dati","status":"publish","type":"post","link":"https:\/\/gis.oneteam.it\/index.php\/2013\/10\/18\/il-modo-piu-comodo-di-contare-dei-dati\/","title":{"rendered":"Python e il modo pi\u00f9 comodo di contare dei dati&#8230;"},"content":{"rendered":"<p style=\"text-align:justify;\">Python \u00e8 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.<\/p>\n<p style=\"text-align:justify;\">Primo passo \u00e8 importare i moduli necessari: arcpy \u00e8 il Site Package che contiene tutte (o quasi&#8230;) le librerie Python di ArcGIS.<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport arcpy\narcpy.env.workspace = r&#039;C:\\temp\\scratch.gdb&#039;\n<\/pre>\n<p style=\"text-align:justify;\">Successivamente andiamo a listare le Feature classes all&#8217;interno del nostro Workspace: la funzione crea un oggetto Lista che pu\u00f2 contenere valori multipli.<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\nfeatureclasses = arcpy.ListFeatureClasses()\n<\/pre>\n<p style=\"text-align:justify;\">A questo punto, per eseguire un conteggio su ciascuna FeatureClass dobbiamo inserire un ciclo e in particolare un ciclo &#8220;For&#8221;. Da notare che la variabile fc non esiste fintanto che non viene dichiarata proprio al momento del clclo (molto comodo!!!!)<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\nfor fc in featureclasses:\n<\/pre>\n<p><!--more--><\/p>\n<p style=\"text-align:justify;\">Per ognuna delle Feature class dobbiamo eseguire il conteggio e recuperare anche il nome della Feature Class: La funzione Describe() recupera tutte le propriet\u00e0 di un dataset, tra cui anche il nome, mentre GetCount() esegue un conteggio degli elementi trovati all&#8217;interno del dataset.<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\ndesc = arcpy.Describe(fc)\nnome = desc.name\nconteggio = arcpy.GetCount_management(fc)\n<\/pre>\n<p style=\"text-align:justify;\">Infine bisogna dare l&#8217;output all&#8217;utente: il comando Print stampa il valore di stringhe e di variabili. Si noti la particolare sintassi del &#8220;%s&#8221; che consente di recuperare in formato Stringa il valore delle variabili specificate in coda al messaggio di testo.<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\nprint &#039;%s geometrie in %s&#039; %(conteggio, nome)\n<\/pre>\n<p style=\"text-align:justify;\">Il tutto va ovviamente assemblato in un unico script rispettando le Indentazioni (in particolare dopo il ciclo &#8220;for&#8221;&#8230;) e le MAIUSCOLE \/ minuscole.<br \/>\nProvare per credere&#8230;<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport arcpy\narcpy.env.workspace = r&amp;quot;C:\\temp\\scratch.gdb&amp;quot;\nfeatureclasses = arcpy.ListFeatureClasses()\nfor fc in featureclasses:\n    desc = arcpy.Describe(fc)\n    nome = desc.name\n    conteggio = arcpy.GetCount_management(fc)\n    print &amp;quot;%s geometrie in &#039;%s&#039;&amp;quot; %(conteggio, desc.name)\n<\/pre>\n<p style=\"text-align:justify;\">Buon Python a tutti&#8230;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python \u00e8 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 \u00e8 importare i moduli necessari: arcpy \u00e8 il Site Package che contiene tutte (o quasi&#8230;) le librerie Python di ArcGIS. import arcpy arcpy.env.workspace =&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,14],"tags":[93,176,252,470,507,630],"class_list":["post-1156","post","type-post","status-publish","format-standard","hentry","category-arcgis-for-desktop","category-articoli-tecnici","tag-arcpy","tag-conteggio","tag-feature-class","tag-python","tag-script","tag-workspace"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts\/1156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/comments?post=1156"}],"version-history":[{"count":0,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts\/1156\/revisions"}],"wp:attachment":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/media?parent=1156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/categories?post=1156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/tags?post=1156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}