网络服务

URL :http://<catalog-url>/<serviceName>/NAServer

描述

网络服务资源描述了一个ArcGIS Server发布的网络分析服务。该资源提供有关服务的信息,如服务描述和各种网络层,如网络分析中的路线、最接近的设施和服务区域层。

资源层次结构

 

参数表

参数 详细信息
f 描述: 返回格式。默认返回格式是html。值: html | json

JSON响应语法

JSON响应示例

网络层

URL : http://<networkservice-url>/<layerName>

描述

网络层资源描述了ArcGIS Server发布的网络分析服务里的单一的网络层。提供网络层的基础信息,例如名称,类型和网络类别。此外,依赖于层类型,还提供示例中描述的信息。

 

参数表

参数 详细信息
f 描述: 返回格式。默认返回格式是html。值: html | json

JSON响应语法(路线层)

JSON响应示例(路线层)

JSON响应语法(服务区域层)

JSON响应示例(服务区域层)

JSON响应语法(Closest Facility Layer)

JSON响应示例(Closest Facility Layer)

Solve

URL : http://<nalayer-url>/solve

描述

solve操作执行在网络图层资源上。

在9.3.1时,solve操作仅仅支持路线图层,就是layerType是esriNAServerRouteLayer的图层。

解答路线操作提供的参数如下表所示。

参数表

参数 详细信息
f 描述: 返回格式。默认返回格式是html。
值: html | json
stops 描述: 分析时作为网络位置加载的站点集合。站点可以使用简单逗号/分号的基本语法或一个JSON结构。
语法及示例:
简单语法
如果仅仅需要在默认空间参考中指定点几何体的站点,可以使用简单的逗号/分号的基本语法。
语法: stops=x1,y1; x2, y2; ...; xn, yn
示例: stops=-122.4079, 37.78356; -122.404, 37.782
JSON 结构:
使用JSON结构,可以指定2种站点类型:
Features: 站点几何体和属性表示一个特征集。
Layer: 站点引用地图服务里的数据图层。
Features
用户能够使用JSON结构指定站点几何体和属性。
JSON结构包含3个属性:
features: 特征数组
type: 可选。默认值是features
doNotLocateOnRestrictedElements: 可选。如果是true,当查找网络位置时受限的网络元素会被考虑到。默认是false
数组里的每个feature都表示一个站点,包含下列字段:
geometry: 指定站点几何体。几何体结构和标准ArcGIS REST API的点几何体结构一致。
attributes: key-value对,key是指定字段名称,value是相关字段的值。
语法:
{
"type" : "features",
"features"  : [
{
"geometry" : {<geometry1>},
"attributes" : {"<field1>" : <value11>, "
<field2>" : <value12>}
},
{
"geometry" : {<geometry2>},
"attributes" : {"<field1>" : <value21>,
"<field2>" :
<value22>}
}
],
"doNotLocateOnRestrictedElements" : true
| false
}
示例:
{
"features"  : [
{
"geometry" : {"x" : -122.4079, "y" : 37.78356},
"attributes" : {"Name" : "From", "RouteName" :
"Route A"}
},
{
"geometry" : {"x" : -122.404, "y" : 37.782},
"attributes" : {"Name" : "To", "RouteName" :
"Route A"}
}
]
}
Layer
可以通过引用地图服务里的数据图层指定站点。图层上也能应用属性和空间过滤。
JSON结构能够包含下列属性:
type: 需要被设置为layer来指定用户是通过引用图层指定站点。
layerName: 被引用的地图服务里的数据图层的名字。
where: 可选。查询过滤的where子句。允许使用任何操作图层内字段的合法SQL where子句。
geometry: 可选。作为空间过滤器的几何体。几何体结构和ArcGIS REST API返回的
json几何体对象(geometry objects)结构一致。
几何体类型使用geometryType属性指定。
geometryType: 可选. geometry的几何体类型。几何体类型能够是envelope, point, line或polygon。默认几何体类型是envelope。
值: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
spatialRel: 可选。应用在输入参数geometry上的空间关系。支持的空间关系包括intersects, contains, envelope intersects, within,其他。默认的空间关系是intersects (esriSpatialRelIntersects)。
值: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
doNotLocateOnRestrictedElements: 可选. 如果是true,当查找网络位置时受限网络元素会被考虑到。默认是false.
语法:
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>",
"doNotLocateOnRestrictedElements" : true | false
}
示例:
{
"type" : "layer",
"layerName" : "PointsOfInterest",
"where" : "CITY = 'San Francisco'"
}
barriers 描述: 在分析时作为网络位置的障碍集合。障碍能够使用简单逗号/分号基本语法和JSON结构来指定。
语法及示例:
简单语法
如果需要在默认空间参考中仅指定障碍点几何图形,可以使用简单逗号/分号。
语法: barriers=x1,y1; x2, y2; ...; xn, yn
示例: barriers=-122.406, 37.7831; -122.405,
37.7827
JSON 结构:
使用JSON结构,可以指定2种障碍类型:
Features: 以feature集合来表示障碍几何图形和属性。
Layer: 引用地图服务里的数据图层来表是障碍点。
Features
可以使用JSON结构指定障碍几何图形和属性。
JSON结构能够包含2个属性:
features: features数组
type: 可选. 默认类型是features
数组内每个feature表示一个障碍,包含下列字段:
geometry: 指定障碍几何体。几何体结构和标准ArcGIS REST API point geometry结构一致。
attributes: key-value对,key是指定字段的名称,
value是相应字段的值。
语法:
{
"type" : "features",
"features"  : [
{
"geometry" : {<geometry1>},
"attributes" : {"<field1>" : <value11>,
"<field2>" : <value12>}
},
{
"geometry" : {<geometry2>},
"attributes" : {"<field1>" : <value21>,
"<field2>" : <value22>}
}
]
}
示例:
{
"features"  : [
{
"geometry" : {"x" : -122.406, "y" : 37.7831},
"attributes" : {"Name" : "Barrier 1",
"RouteName" : "Route A"}
},
{
"geometry" : {"x" : -122.405, "y" : 37.7827},
"attributes" : {"Name" : "Barrier 2",
"RouteName" : "Route A"}
}
]
}
Layer
可以通过引用地图服务里的数据图层指定障碍。属性和空间过滤器也能应用在图层上。
JSON结构能包含下列属性:
type: 需要被设置为layer来指定用户是通过引用图层指定站点。
layerName: 被引用的地图服务里的数据图层的名字。
where: 可选。查询过滤的where子句。允许使用任何操作图层内字段的合法SQL where子句。
geometry: 可选。作为空间过滤器的几何体。几何体结构和ArcGIS REST API返回的json几何体对象(geometry objects)结构一致。
几何体类型使用 geometryType属性指定。
geometryType: 可选. geometry的几何体类型。几何体类型能够是envelope, point, line或polygon。默认几何体类型是envelope。
值: esriGeometryPoint | esriGeometryMultipoint |
esriGeometryPolyline | esriGeometryPolygon |
esriGeometryEnvelope
spatialRel: 可选。应用在输入参数geometry上的空间关系。支持的空间关系包括intersects, contains, envelope intersects, within,其他。默认的空间关系是intersects(esriSpatialRelIntersects)。
值: esriSpatialRelIntersects | esriSpatialRelContains |
esriSpatialRelCrosses |
esriSpatialRelEnvelopeIntersects |
esriSpatialRelIndexIntersects |
esriSpatialRelOverlaps | esriSpatialRelTouches |
esriSpatialRelWithin
语法:
{
"type" : "layer",
"layerName" : "<layerName>",
"where" : "<whereClause>",
"geometry" : {<geometry>},
"geometryType" : "<geometryType>",
"spatialRel" : "<spatialRel>"
}
示例:
{
"type" : "layer",
"layerName" : "TrafficAccidents",
"where" : "SEVERITY > 0"
}
Return
Directions
描述: 如果是true, 则生成directions并在分析结果中返回。默认是true.
directions可以在JSON响应结构的directions属性中提供。
值: true | false
Return
Routes
描述: 如果是true, 分析结果中将包含路线。默认是true.
路线可以在JSON响应结构的routes属性中提供。
值: true | false
Return
Stops
描述: 如果是true, 分析结果里会包含站点。默认是false.
站点可以在JSON响应结构的stops属性中提供
值: true | false
Return
Barriers
描述: 如果是true,分析结果中包含障碍信息。 默认是false.
障碍信息可以在JSON响应结构的barriers属性中提供。
值: true | false
outSR 描述: 分析结果返回的几何图形的通用空间参考ID。如果 outSR 没有指定, 返回几何图形在地图空间参考中。
Ignore
Invalid
Locations
描述: 如果是true, solver将忽略无效位置。反之,将报错。 默认值和网络图层中定义的一致。
值: true | false
outputLines 描述: 输出线类型将生成在结果中。 默认值和网络图层中定义的一致。
值: esriNAOutputLineNone |
esriNAOutputLineStraight |
esriNAOutputLineTrueShape |
esriNAOutputLineTrueShapeWithMeasure
findBest
Sequence
描述: 如果是true, solver将按最优顺序重排路线。默认值和网络图层中定义的一致。
值: true | false
Preserve
FirstStop
描述: 如果是true, solver在序列中保持第一个站点固定位置。 默认值和网络图层中定义的一致。
值: true | false
Preserve
LastStop
描述: 如果是true, solver将在序列中保持最后一个站点的固定位置。默认值和网络图层中定义的一致。
值: true | false
useTime
Windows
描述: 如果是true, solver会考虑到时间窗口。 默认值和网络图层中定义的一致。
值: true | false
startTime 描述: 路线开始时间。如果没有指定,solver不会在特定的时间开始路线。
时间应该被指定从1970.01.01午夜开始的一个精确到毫秒的数字值。也能是一个负数。
可以使用none值来指出不使用开始时间。
示例: startTime=1227663551096 (Tue Nov 25
2008 17:39:11)
Accumulate
Attribute
Names
描述: 分析中需要累计的网络属性名称列表。默认值和网络图层中定义的一致。
值需要是使用逗号分隔的属性名称列表。
可以使用none值来表示没有属性需要累计。
示例: accumulateAttributeNames=WalkingMinutes,
Meters
Impedance
Attribute
Name
描述: 被用作分析中的抗阻属性的网络属性名称。默认值和网络图层中的定义一致。
示例: impedanceAttributeName=DrivingMinutes
Restriction
Attribute
Names
描述: 用于分析限制的网络属性名称列表。默认值和网络图层中的定义一致。
值需要是使用逗号分隔的属性名称列表。
可以使用none值来表示没有网络属性被作为限制条件。
示例: restrictionAttributeNames=Oneway
restrictUTurns 描述: 指定分析中U-Turns的限制方式。默认值和网络图层中的定义一致。
值: esriNFSBAllowBacktrack |
esriNFSBAtDeadEndsOnly | esriNFSBNoBacktrack
useHierarchy 描述: 如果是true, 网络层次属性将被用在分析中。默认值和网络图层中的定义一致。
值: true | false
Directions
Language
描述: 指示方向时使用的语言。默认值和网络图层中的定义一致。
示例: directionsLanguage=en_US
Output
Geometry
Precision
描述: 综合后输出几何体精度。如果是0,没有输出几何图形综合被执行。默认值和网络图层中的定义一致。如果是即时的和真实的,则表示MaximumAllowableOffset参数 - 综合按照IPolycurve.Generalize执行。
示例: outputGeometryPrecision=0.5
Output
Geometry
Precision
Units
描述: 输出几何体精度单位。默认值为esriUnknownUnits
值: esriUnknownUnits | esriCentimeters |
esriDecimalDegrees | esriDecimeters | esriFeet |
esriInches | esriKilometers | esriMeters | esriMiles |
esriMillimeters | esriNauticalMiles | esriPoints
| esriYards
Directions
LengthUnits
描述: 计算方向时使用的长度单位。默认值和网络图层中的定义一致。如
值: esriNAUCentimeters | esriNAUDays |
esriNAUDecimalDegrees | esriNAUDecimeters |
esriNAUFeet | esriNAUHours | esriNAUInches |
esriNAUKilometers | esriNAUMeters | esriNAUMiles |
esriNAUMillimeters | esriNAUMinutes |
esriNAUNauticalMiles | esriNAUPoints |
esriNAUSeconds |
esriNAUUnknown | esriNAUYards
Directions
Time
Attribute
Name
描述:
计算方向时用于驱动时间的网络属性名称。默认值和网络图层中的定义一致。
示例: directionsTimeAttributeName=DriveTime

JSON响应语法

JSON响应示例