I've installed ArcGIS10.1 SP1 and whenever I import arcpy (on Pywin console or Eclipse PyDev) it takes aprox. 15-20seconds. Is this normal? I don't think so...
I had Python 2.7.3 64-bit previously installed on my Windows 7 (and still use it) and now I also have Python 32-bit and Python 64-bit that came with ArcGIS. I think I might have the paths confused, because the 64bit version of Python 2.7 in the folder C:\Python27\ArcGISx6410.1
was supposed to be 2.7.2, but when I check the version, inside that path, it gives me:
C:\Python27\ArcGISx6410.1>python.exe Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win 32
My %PATH%
has this, among other paths:
...
C:\Python27
C:\Python27\Scripts
C:\Program Files (x86)\ArcGIS\Desktop10.1\Bin
C:\Program Files (x86)\ArcGIS\EsriProductionMapping\Desktop10.1\Bin
...
And I didn't need to set PYTHONPATH. My ArcMap Python shell works fine and so does the 64-bit version for the backgorund scripting.
My code is very simple: basically I have to find how many times does a node (NO) from a node feature class appears in other line feature class. It works, but for #6290 nodes, it takes more than 10min!
'''
# Import system modules
import arcpy, sys
from arcpy import env
print "Running against: {}".format(sys.version)
def do_search_by_cursor(table,searchString):
count = 0
count += cursor_search_count(table,searchString)
#print "done by cursor: " + str(count)
return count
def cursor_search_count(table,searchstring):
rows = arcpy.SearchCursor(table,searchstring)
count = 0
for row in rows:
count += 1
return count
# Set the workspace environment to local file geodatabase
env.workspace = "S:/workspace/MSc_git/ArcGis/estagio_db.gdb"
# Set local variables
fc_nodes = "Rede_Cbr_MM_node_proj"
fc_links = "Rede_Cbr_MM_2008_WithoutMetro"
# fieldName1 = "LEGS"
# fieldAlias = "numLegs"
fieldname="TONODENO"
# Create field name with the proper delimiters
delimitedfield = arcpy.AddFieldDelimiters(fc_links, fieldname)
# Create search cursor:
rows = arcpy.SearchCursor(fc_nodes, "", "", fields="NO")
for row in rows:
searchStr= delimitedfield +" = " +str(row.NO)
myvar= do_search_by_cursor(fc_links, searchStr)
print "Node %d has %d legs" %(row.NO,myvar)
My PyDev is configured to use the specific Python Interpreter that came with ArcGIS processing Tools 64-bit and looks like this (I've checked all...):
If you could give a hint or a link (I've already explored, but nothing seems to work), I'll appreciate it.
No comments:
Post a Comment