C# 使用;MakeRouteEventLayer”一词;在ArcGIS中
我试图使用MakeRouteEventLayer工具,但似乎无法满足不同的先决条件。路由托管在SDE数据库中。到目前为止,我通过与数据库服务器建立连接来设置工作区,但我不知道如何获取MakeRouteEventLayer所需的参数。我似乎找不到应该如何让功能层作为输入路由功能通过。另外,我不知道如何正确地创建事件表。我似乎找不到任何与我试图实现的目标相关的例子,除此之外,我不理解,因为没有太多的文档/注释,也没有提到数据类型C# 使用;MakeRouteEventLayer”一词;在ArcGIS中,c#,arcgis,arcobjects,C#,Arcgis,Arcobjects,我试图使用MakeRouteEventLayer工具,但似乎无法满足不同的先决条件。路由托管在SDE数据库中。到目前为止,我通过与数据库服务器建立连接来设置工作区,但我不知道如何获取MakeRouteEventLayer所需的参数。我似乎找不到应该如何让功能层作为输入路由功能通过。另外,我不知道如何正确地创建事件表。我似乎找不到任何与我试图实现的目标相关的例子,除此之外,我不理解,因为没有太多的文档/注释,也没有提到数据类型 供您参考,我正在使用的工具是用C#编写的。阅读桌面应用程序的帮助文件可
供您参考,我正在使用的工具是用C#编写的。阅读桌面应用程序的帮助文件可能会有用,因为它解释得更好一些: 在过去使用个人地理数据库时,我不得不处理类似的问题。所以本质上,这就是你需要做的:
gp.workspace = "myDB.mdb"
# Route file to use
routeFC = "myRoutes"
# The identifier for each route
routeID = "rID"
# Where my events are stored
eventTable = "accidents"
# My events use a routeID to identify route they are on, are POINTS and their measure field is called "mile"
eventProperties = "routeID POINT mile"
# Temporary layer to save everything to
outputLayer = "accidentEvents"
# Have no offset
offset = "#"
# Need to add the errors for verification purposes
error = "ERROR_FIELD"
# Need to store angles
angles = "ANGLE_FIELD"
# Need perpendicular angle
angleType = "NORMAL"
# Run the command now to create the layer
gp.MakeRouteEventLayer(routeFC, routeID, eventTable, eventProperties, outputLayer, offset, error, angles, angleType)
上面的代码允许您在临时内存层中创建路由事件层。要保存图层,只需运行SaveToLayerFile(inLayer,outLayer)命令即可