Добрый день, коллеги.
Написан скрипт Python для получения значения по входным параметрам (x,y,id). Скрипт отлично работает в arcmap, но не работает при его публикации, как сервис геопроцессинга. (версия 10.3)
Скрипт:
import arcpy
from arcpy import env
env.workspace = r"D:\Linrefservice\Def\deffects.gdb"
scratchtable = "D:\Linrefservice\Def\deffects.gdb\\testTable"
table11 = "input"
RoutesWork = "ROUTES_DEF"
table11_Layer = "table11_Layer"
y = arcpy.GetParameterAsText(0)
if y == '#' or not y:
y = "59,90270918" # provide a default value if unspecified
x = arcpy.GetParameterAsText(1)
if x == '#' or not x:
x = "30,525767" # provide a default value if unspecified
RID = arcpy.GetParameterAsText(2)
x = x.replace(',', '.')
y = y.replace(',', '.')
new = "RoutesWorkTest"
new2 = "RoutesWorkTest2"
# Local variables:
# Process: Вычислить поле
arcpy.CalculateField_management(table11, "x", x, "PYTHON", "")
# Process: Вычислить поле (2)
arcpy.CalculateField_management(table11, "y", y, "PYTHON", "")
# Process: Вычислить поле (3)
arcpy.CalculateField_management(table11, "RID", RID, "PYTHON", "")
arcpy.MakeXYEventLayer_management(table11, "x", "y", table11_Layer, "", "")
arcpy.env.overwriteOutput = True
arcpy.MakeFeatureLayer_management(RoutesWork, new)
arcpy.CalculateField_management(new, "ROUTE_ID", RID, "PYTHON", "")
arcpy.MakeFeatureLayer_management(new, new2, "ROUTE_ID = RouteId")
#arcpy.CopyFeatures_management(table11_Layer, "points")
#arcpy.DefineProjection_management("points", "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]")
#arcpy.LocateFeaturesAlongRoutes_lr("points", RoutesWork, "Route_ID", "400 meters", scratchtable , "RID POINT measure", "FIRST", "DISTANCE", "ZERO", "FIELDS", "M_DIRECTON")
arcpy.LocateFeaturesAlongRoutes_lr(table11_Layer, new2, "ROUTE_ID", "400 meters", scratchtable , "RID POINT measure", "FIRST", "DISTANCE", "ZERO", "FIELDS", "M_DIRECTON")
#arcpy.CalculateField_management(scratchtable, "measure", "round(!measure! , 0)" , "PYTHON_9.3", "")
value = []
rows = arcpy.SearchCursor(scratchtable)
for row in rows:
value.append(row.measure)
del rows
print value
arcpy.SetParameter(3, value)
При проведении анализа перед публикацией выдает 2 предупреждения:
VB в скрипте нет, поэтому игнорирую предупреждения, как и написано в справке arcgis. Сервис публикуется успешно, но при выполнении опубликованного инструмента выполнение не удается:
Подскажите пожалуйста, в чем может быть проблема?