阅读桌面应用程序的帮助文件可能会很有用,因为它解释得更好一些:ESRI WebHelp for ArcGIS 9.3.1。
我不得不处理过去使用个人地理数据库的类似问题。所以实质上,这是你需要做的:
- 设置你的工作空间到数据库(创建一个连接后)。使用C#相当于gp.Workspace =“此处连接”
- 第一个参数(必需)是路径要素图层名称,参考您的工作空间(如果工作空间是dbName,而里面是routeFL,则图层名称将是只有routeFL)。
- 第二个参数(必填)是每个唯一路由的标识符。它可以是您定义的RouteID,也可以是路由图层中每个功能的唯一标识符。
- 第三个参数(必需)是包含要在路径上定位事件的表。
- 第四个参数(必需)是事件的类型,POINT或LINE。它由事件所在的路径ID(Events表中标识您应该在的路径的一个字段),事件类型(POINT或LINE)以及From和To度量字段组成。如果您使用的是point,那么from就只用到一个,称为measure字段。
- 第五个参数(必需)是您的输出图层。请注意,这是一个IN-MEMORY层,因此它不接受路径,也不会永久存储。之后你可以运行一个命令来存储它。
- 其余的参数是可选的,包括:(a)事件文件中的偏移量字段,(b)要添加并填充可能的错误的错误字段,(c)要添加的角度字段以指示(d)角度类型,垂直或相切,(e)是否记录补偿角度(仅当您启用角度测量时) (f)偏移路线的左右方向,只有当你先启用偏移量,最后(g)你有的点的类型(多点或点)。
希望这可以让你更好地理解字段来完成你的任务。 Python示例可能会对您有所帮助:
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)
上面的代码允许您在临时的内存层中创建Route Event层。要保存图层,只需运行SaveToLayerFile(inLayer,outLayer)命令即可完成。