martedì 19 giugno 2018

arcpy: Accessing parameters in a script tool


The illustration below shows a script tool dialog box with three parameters: an input workspace, a clip feature class, and an output workspace. All feature classes in the input workspace are clipped to the clip feature class (using the Clip tool) and written to the output workspace.
Script tool parameters
In the illustration above, once parameter values have been entered on the tool dialog box and the OK button is clicked, the script reads the values of the parameters using GetParameterAsText(), as follows:
# Import arcpy site-package
#
import arcpy
from arcpy import env

# Read the parameter values:
#  1: input workspace
#  2: input clip features
#  3: output workspace
#
inWorkspace   = arcpy.GetParameterAsText(0)
clipFeatures  = arcpy.GetParameterAsText(1)
outWorkspace  = arcpy.GetParameterAsText(2)
env.workspace = inWorkspace

sys.argv and arcpy.GetParameterAsText

There are two methods for reading parameters: sys.argv and the arcpy function GetParameterAsText(). Either approach can be used. The example above could be rewritten to use sys.argv:
# Read the parameter values:
#  1: input workspace
#  2: input clip features
#  3: output workspace
#
inWorkspace   = sys.argv[1]
clipFeatures  = sys.argv[2]
outWorkspace  = sys.argv[3]
env.workspace = inWorkspace
sys.argv has limitations on the number of characters it can accept. GetParameterAsText() has no character limit. For this reason alone, it is recommended that you use GetParameterAsText.
sys.argv[0] returns the script file name.

martedì 5 giugno 2018

Python: Convert string to number/float

# consigliato
import re
a="PL Km 274+169 (Privato)" 
valore = str(re.sub("[^0-9,+]", "",a)).replace('+','.').replace(',','.')
print valore

result:
274.169

import string
a="PL Km 274+169 (Privato)" 
all=string.maketrans('+','.')
nodigs=all.translate(all, string.digits)
print  str(float(a.translate(all, nodigs)))

import re
a="PL Km 274+169 (Privato)" 
a.replace("+",".")
value = float(re.sub("[^0123456789\.]","",a))
print value

# consigliato
import re
def converti(a):
 valore = str(re.sub("[^0-9,+]", "",a)).replace('+','.')
 return float(valore)

import string
a="PL Km 274+169 (Privato)" 
all=string.maketrans('+','.')
nodigs=all.translate(all, string.digits)
print  str(float(a.translate(all, nodigs)))

result:
274.169

sabato 12 maggio 2018

Raspberry Pi: Ubuntu Mate

sudo service NetworkManager restart

venerdì 11 maggio 2018

SQL ORACLE: LEAD

SELECT last_name, hire_date, LEAD(hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired" FROM employees WHERE department_id = 30; LAST_NAME HIRE_DATE NextHired ------------------------- --------- --------- Raphaely 07-DEC-94 18-MAY-95 Khoo 18-MAY-95 24-JUL-97 Tobias 24-JUL-97 24-DEC-97 Baida 24-DEC-97 15-NOV-98 Himuro 15-NOV-98 10-AUG-99 Colmenares 10-AUG-99

martedì 13 marzo 2018

How to convert milliseconds to date string in Oracle SQL

select to_char(to_date('1970-01-01 00','yyyy-mm-dd hh24') + (1517356800000)/1000/60/60/24 , 'YYYY-MM-DD HH24:MI:SS') datestr from dual;

venerdì 2 marzo 2018