类: GeometryService
描述
表示ArcGIS Server REST API提供的一个几何服务资源。用于在几何体上执行各种的操作,例如投影,简化,缓存和空间关系。关于常量值的更多信息,见
esriGeometryRelationEnum.
类层次结构
esri.tasks.GeometryService
构造函数
构造函数 | 描述 |
---|---|
esri.tasks.GeometryService(url) | 创建一个新的GeometryService对象. URL是一个必需的参数。 |
属性表
属性 | 类型 | 描述 |
---|---|---|
url | String | 表示ArcGIS Server REST资源的定位器服务的URL。 使用Services Directory获得URL。 |
常量
常量 | 描述 |
---|---|
SPATIAL_REL_COINCIDENCE | 几何体的边框必须有一个交叉点,但是不考虑内部的关系(两者可以覆盖,一个包含在另一个里面,或者内部可能是不相交的)。这个关系应用于多段线和多边形。 |
SPATIAL_REL_CROSS | 如果两个多段线有唯一的共同点,并且至少其中一个不是终端,则多段线交叉。如果一个多线段和一个多边形在多边形内部共有一个多线段,并且共有的多线段不等于全部多线段,则多线段和多边形交叉。如果其中一个几何体是空的,则几何体不交叉。 |
SPATIAL_REL_DISJOINT | 如果两个几何体的交集是空,则是不相交的。如果disjoint是false,则两个几何体相交。 |
SPATIAL_REL_IN | 如果基本的几何体是两个几何体的交集并且两个几何体内部的交集不是空的,那么这个基本几何体在另一个几何体的内部。除非另一个集合体是空的,一个空的几何体才会在另一个几何体的内部。 |
SPATIAL_REL_INTERIORINTERSECTION | 几何体相交不包括边界线接触。 |
SPATIAL_REL_INTERSECTION | 几何体内部相交或边界接触,等同于“不是不相交的”。 |
SPATIAL_REL_LINETOUCH | 两个几何体是接触的,几何体的交集是非空的,但是几何体内部的交集为空。这估计接触是否沿着边界线发生(不是点)。多边形有效。 |
SPATIAL_REL_OVERLAP | 两个多段线共享相同的支线,或两个多线段共享相同的子区。两个空的几何体不会重叠。 |
SPATIAL_REL_POINTTOUCH | 当两个几何体交集是非空时两个几何体被称之为接触,但是几何体的内部交集是空的。这估计接触是否发生在点上(不是边界线上)。 |
SPATIAL_REL_RELATION | 允许任何使用Shape Comparison Language的关系定义规范。 |
SPATIAL_REL_TOUCH | esriGeometryRelationPointTouch和esriGeometryRelationLineTouch的联合。当几何体交集是非空的但是他们的内部的交集是空的,两个几何体被称之为接触。例如,点接触是一个多段线只有唯一一个点和多线段端点之一一样。如果两个几何体中的一个是空的,几何体不会是接触的。 |
SPATIAL_REL_WITHIN | 与esriGeometryRelationIn一致,但是也认可完全在多边形边界线上的多段线被视为在多边形内。 |
方法表
方法 | 返回值 | 描述 |
---|---|---|
areasAndLengths(graphics, callback?, errback?) | dojo.Deferred | 当几何体类型是Polygon时获得Graphic[]的面积和长度。 |
buffer(bufferParameters, callback?, errback?) | dojo.Deferred | 在给定的几何体周边指定距离创建缓冲区多边形。完成时,onBufferComplete事件被触发并且可选的callback函数被调用。callback函数和事件处理器接收包含缓冲区几何体的Graphic数组。 |
labelPoints(polygons, callback?, errback?) | dojo.Deferred | 为每个多边形计算内部点。这些内部点能用于在客户端标识多边形。 |
lengths(graphics, callback?, errback?) | dojo.Deferred | 当几何体类型是Polyline时获得Graphic[]长度。 |
project(graphics, outSpatialReference, callback?, errback?) | dojo.Deferred | 将空间数据投影到另一个空间参考系中。完成时,onProjectComplete事件被触发并且可选的callback函数被调用。callback函数和事件处理器收到包含头投影几何体的Graphic数组。 |
relation(graphics1, graphics2, spatialRelationship, comparisonString?, callback?, errback?) | dojo.Deferred | 计算graphics1 和graphics2 所属的空间关系。连个数组被认为用同一个空间参考。关系是2D的。Z坐标没有使用。数组内的几何体不能是混合的。 |
simplify(graphics, callback?, errback?) | dojo.Deferred | 改变给定几何体使他们拓扑定义和几何类型相符。完成时,onSimplifyComplete事件被触发并且可选的callback函数被调用。callback函数和事件处理器收到包含简化几何体的Graphic数组。 |
事件
事件 | 描述 |
---|---|
onAreasAndLengthsComplete(areasAndLengths) | 当areasAndLengths操作完成时触发该事件。 |
onBufferComplete(graphics) | 当缓冲操作完成时触发该事件。 |
onError(error) | 当执行任务发生错误时触发该事件。 |
onLabelPointsComplete(labelPoints) | 当labelPoints操作完成时触发该事件。 |
onLengthsComplete(lengths) | 当长度操作完成时触发该事件。 |
onProjectComplete(graphics) | 当投影操作完成时触发该事件。 |
onRelationComplete(relationships) | 当关系操作完成时触发该事件。 |
onSimplifyComplete(graphics) | 当简化操作完成时触发该事件。 |
构造方法详细信息
创建一个新的GeometryService对象. URL是一个必需的参数。
参数:
<String> url | 必需的 | 表示几何体服务的ArcGIS Server REST资源的URL。 一个示例是 http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer. 关于构造URL的更多信息,见 服务目录和REST API. |
属性详细信息
表示ArcGIS Server REST资源的定位器服务的URL。 使用
Services Directory获得URL。
方法详细信息
返回值:
dojo.Deferred
输入参数:
<Graphic[]> graphics | 必需的 | 用于计算面积和长度的图形对象。 |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onAreasAndLengthsComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
在给定的几何体周边指定距离创建缓冲区多边形。完成时,onBufferComplete事件被触发并且可选的callback函数被调用。callback函数和事件处理器接收包含缓冲区几何体的
Graphic数组。
dojo.Deferred
返回对象在v1.4增加。
返回值:
dojo.Deferred
输入参数:
<BufferParameters> bufferParameters | 必需的 | 指定输入几何体,缓冲距离和其他选项。 |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onBufferComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
为每个多边形计算内部点。这些内部点能用于在客户端标识多边形。
dojo.Deferred
返回对象是在v1.4增加的。
(As of v1.2)
返回值:
dojo.Deferred
输入参数:
<Graphic[]> polygons | 必需的 | 要处理的几何体。 |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onLabelPointsComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
返回值:
dojo.Deferred
输入参数:
<Graphic[]> graphics | 必需的 | 图形用来计算长度。 |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onLengthsComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
将空间数据投影到另一个空间参考系中。完成时,onProjectComplete事件被触发并且可选的callback函数被调用。callback函数和事件处理器收到包含头投影几何体的
Graphic数组。
dojo.Deferred
返回对象是在v1.4增加的。
返回值:
dojo.Deferred
输入参数:
<Graphic[]> graphics | 必需的 | 要投影的图形。 |
<SpatialReference> outSpatialReference | 必需的 | 空间参考的WKID。{"wkid" : 4326} |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onProjectComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
计算
graphics1
和
graphics2
所属的空间关系。连个数组被认为用同一个空间参考。关系是2D的。Z坐标没有使用。数组内的几何体不能是混合的。
dojo.Deferred
返回对象是在v1.4增加的。
(As of v1.2)
返回值:
dojo.Deferred
输入参数:
<Graphic[]> graphics1 | 必需的 | 比较用的第一个图形集合。 |
<Graphic[]> graphics2 | 必需的 | 比较用的第二个图形集合。 |
<String> spatialRelationship | 必需的 | 可用值见常量表。空间关系的详细描述,见esriGeometryRelationEnum . |
<String> comparisonString | 可选项 | 用于评估的 Shape Comparison Language字符串。 |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onRelationComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
改变给定几何体使他们拓扑定义和几何类型相符。完成时,onSimplifyComplete事件被触发并且可选的callback函数被调用。callback函数和事件处理器收到包含简化几何体的
Graphic数组。
dojo.Deferred
返回对象是在v1.4增加的。
返回值:
dojo.Deferred
输入参数:
<Graphic[]> graphics | 必需的 | 用于简化的图形。 |
<Function> callback | 可选项 | 方法完成后调用的函数。函数中的参数和onSimplifyComplete事件一致。 |
<Function> errback | 可选项 | 如果在任务执行期间,如果服务器端发生错误,error对象被返回。 (As of v1.3) |
Events Detail
当areasAndLengths操作完成时触发该事件。
(As of v1.1)
Arguments:
<Object> areasAndLengths | 面积和长度的对象。格式是{ areas : Number[], lengths : Number[] }. |
当labelPoints操作完成时触发该事件。
(As of v1.2)
Arguments:
<Graphic[]> labelPoints | 多边形内部计算的点的图形。 |
参见:
labelPoints
labelPoints
当关系操作完成时触发该事件。
(As of v1.2)
Arguments:
<Object[]> relationships | 两个输入几何体间的空间关系。数组包含下列属性: graphic1Index, graphic2index, graphic1, graphic2 function relateGeometries() { geometryService.relation(graphics1, graphics2, esri.tasks.GeometryService.SPATIAL_REL_WITHIN, null, processRelations); } function processRelations(relations) { var symbol = new esri.symbol.SimpleMarkerSymbol().setColor(new dojo.Color([0, 255, 0])); // highlight all graphic1 graphics that met the spatial relation against the second geometry for (var i = 0; i < relations.length; i++) { var relatedGraphic = relations[i].graphic1; relatedGraphic.setSymbol(symbol); } } |
参见:
relation
relation