Arcpy.python ArcServer sde разрешения
У меня есть этот скрипт Python, который в основном выбирает точку по ее идентификатору, затем выбирает все точки на расстоянии и возвращает только подмножество из тех, которые соответствуют типу поля. т.е. найти все больницы в пределах 3 миль от этого места..
Мой скрипт на питоне работает, делает то, что должен. Поэтому я создаю сервис GP из этого. Добавьте сервис обратно в карту и запустите его. Теперь я замечаю, что независимо от того, какое расстояние я использую, данные не меняются. Если я удалю созданный Featureclass, чтобы увидеть, действительно ли он работает. Он не создает новый класс объектов, но говорит, что он успешно завершен.
Теперь странная вещь, если я поразил службу GP в остальной конечной точке параметрами, которые говорят, что она работает, но не возвращает никаких записей. Я старался избегать блокировок схемы при использовании конечной точки Rest ArcMap и ArcCatalog закрыты.
Это похоже на то, что у службы GP нет разрешения на запись в базу данных sde, однако мое соединение sde отлично работает на моем ПК.
Есть идеи?
import arcpy, os, string
from arcpy import env
db = r"Connection to racdev1.sde"
theworkspace = r"Connection to racdev1.sde"
arcpy.env.workspace = theworkspace
arcpy.env.overwriteOutput = True
#facilityID = '1249'
facilityID = arcpy.GetParameterAsText(0)
#facilityIDType= 'PFI'
facilityIDType = arcpy.GetParameterAsText(1)
thedistance = arcpy.GetParameterAsText(2)
#thedistance = '3 miles'
#withindistance = "3 Miles"
withindistance = thedistance + ' Miles'
sql_query = "\"%s\" = '%s'" % ("ID", facilityID)
sql_query2 = "\"%s\" = '%s'" % ("IDTYPE", facilityIDType)
# Local variables:
Facilities = "DOHGIS.NYSDOH_CI_DATA"
featLayer = "thePts"
arcpy.MakeFeatureLayer_management(Facilities, featLayer)
# Process: Select Layer By Attribute
arcpy.SelectLayerByAttribute_management(featLayer, "NEW_SELECTION", sql_query)
# Process: Select Layer By Location 311
arcpy.SelectLayerByLocation_management(featLayer, "WITHIN_A_DISTANCE",featLayer, withindistance, "NEW_SELECTION")
#print " now for the subset"
arcpy.SelectLayerByAttribute_management("thePts", "SUBSET_SELECTION", sql_query2 )
# creaate the new featureclss..
arcpy.CopyFeatures_management("thePts",'DOHGIS.NYSDOH_FacilitiesQuery')
#print "Done"