实现功能:用QueryTask类似拉框查询
本机环境:ArcGIS Server10.0、FlexViewer 2.4
正式环境:ArcGIS Server9.3、 FlexViewer 2.4
代码:
//假设graphicsExtent是拉框得到的范围
var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features);
if (graphicsExtent)
{
var query2:Query = new Query();
query2.returnGeometry = true;
query2.geometry = graphicsExtent.extent;
query2.outSpatialReference = map.spatialReference;
var queryTask:QueryTask = new QueryTask();
queryTask.url = logicMapQueryAddress2;
queryTask.useAMF = false;
queryTask.showBusyCursor = true;
queryTask.execute(query2, new AsyncResponder(onResul2, onFault2));
function onResul2(featureSet:FeatureSet, token:Object = null):void
{
if (featureSet.features.length == 0)
{
Alert.show("Please try again.");
}
else
{
trace(featureSet.features);
var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features);
map.extent = graphicsExtent.expand(1.5);
globalCache.putData("initExtent",graphicsExtent);
}
mapExtentLock.lock(map);
}
function onFault2(info:Object, token:Object = null):void
{
Alert.show(info.toString());
}
}
这样在本机环境没有错误,但在正式环境就会报错,错误信息:[RPC Fault faultString="Cannot perform query. Invalid query parameters." faultCode="500" faultDetail="inSR param is invalid: {"wkt":"PROJCS[\"XiAn80\",GEOGCS[\"XiAn80\",DATUM[\"D_XiAn_1980\",SPHEROID[\"GRS_1980_China\",6378140.0,298.257]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Gauss_Kruger\"],PARAMETER[\"False_Easting\",500000.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",117.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]"}"]
是由于空间参考问题引起的,最后解决方法:代码如下:
var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features);
if (graphicsExtent)
{
[b]var xmi:Number = graphicsExtent.extent.xmin;
var ymi:Number = graphicsExtent.extent.ymin;
var xma:Number = graphicsExtent.extent.xmax;
var yma:Number = graphicsExtent.extent.ymax;
var newExtent:Extent = new Extent(xmi,ymi,xma,yma);[/b]
var query2:Query = new Query();
query2.returnGeometry = true;
[b]query2.geometry = newExtent.extent;[/b]
var queryTask:QueryTask = new QueryTask();
queryTask.url = logicMapQueryAddress2;
queryTask.useAMF = false;
queryTask.showBusyCursor = true;
queryTask.execute(query2, new AsyncResponder(onResul2, onFault2));
function onResul2(featureSet:FeatureSet, token:Object = null):void
{
if (featureSet.features.length == 0)
{
Alert.show("Please try again.");
}
else
{
trace(featureSet.features);
var graphicsExtent:Extent = GraphicUtil.getGraphicsExtent(featureSet.features);
map.extent = graphicsExtent.expand(1.5);
globalCache.putData("initExtent",graphicsExtent);
}
mapExtentLock.lock(map);
}
function onFault2(info:Object, token:Object = null):void
{
Alert.show(info.toString());
}
}
分享到:
相关推荐
自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应滤波器原理自适应...
总结来说,空间数据库系统是一个综合了传统数据库管理与空间信息处理技术的复杂系统,它的设计、实现和项目管理需要对空间数据特性、数据库理论以及GIS应用有深入的理解。在实际应用中,通过有效的空间索引、合理的...
Oracle Spatial 是一款强大的地理信息系统 (GIS) 软件,主要用于在 Oracle 数据库中管理和处理空间数据。本指南旨在为开发者提供有关如何使用 Oracle Spatial 和 Oracle Locator 来开发空间应用程序以及如何存储和...
Python中的`osgeo.osr`库提供了一个名为`SpatialReference`的类,用于定义和管理地理坐标系统。`ImportFromEPSG`方法用于根据EPSG编码(例如,4326代表WGS84,3857代表Google Mercator)创建投影对象。`Coordinate...
Leaflet_WKT是一个JavaScript库,专门用于在Leaflet地图中处理和显示Well-Known Text (WKT)格式的数据。Leaflet是一个轻量级的开源JavaScript库,广泛用于创建交互式的Web地图。WKT是一种常见的地理空间数据表示方式...
Oracle Spatial OCI源码是Oracle数据库中用于处理空间数据的一个组件,它是Oracle Call Interface(OCI)的扩展,专门设计用于在Oracle Spatial中执行高效的空间查询和操作。OCI是Oracle数据库提供的一种C语言编程接口...
这些元素可以单独编辑,也可以作为一个整体场景进行管理和渲染。 5. **GIS应用**:OSGB格式的模型可以集成到GIS系统中,与地形图、属性数据等结合,提供更直观的空间分析和决策支持。例如,可用于规划分析、环境...
## 轨迹路线spatialReference: view.spatialReference //设置坐标系let polylineGraphic = new
Oracle Spatial是Oracle数据库的一个核心组件,专为管理和分析地理空间数据而设计。它提供了全面的空间数据建模、元数据管理、数据加载、数据验证、索引创建和空间查询功能,以支持各种地理信息系统(GIS)应用程序...
Hibernate Spatial 是一个基于 Hibernate 或 JPA 的空间几何对象数据库操作框架,提供了实现空间几何对象数据库操作的方法和配置说明。 一、 Hibernate Spatial 4 简介 Hibernate Spatial 4 是 Hibernate Spatial ...
- 方法:`new SpatialReference()`创建一个新的坐标系对象,并通过`SetWellKnownGeogCS()`等方法设置坐标系类型。 4. **`CoordinateTransformation`**:用于坐标变换。 - 构造函数:`new Coordinate...
Oracle Spatial提供了一个强大的空间数据建模框架,允许用户定义空间数据的结构和行为。其中最重要的概念是`SDO_GEOMETRY`数据类型,这是一种用于存储和操作空间数据的对象类型。通过这种数据类型,可以轻松地在...
1. **模糊集理论**:模糊集合理论是FCM算法的基础,它允许数据点对类别的隶属度不是0或1,而是介于0和1之间的一个实数值,表示数据点属于某一类别的程度。 2. **FCM算法流程**: - 初始化:设置类别的数目C,随机...
SqlServer spatial 是 SQL Server 数据库引擎中的一个特性,用于处理地理和几何数据。它支持空间对象的存储、查询和分析,使数据库能够处理地图、地理位置和其他与空间相关的数据。在本示例中,我们将探讨如何使用...
- **DB2 Spatial Extender**是IBM为DB2数据库系统提供的一个扩展功能模块,它主要用于处理和管理空间数据(即地理信息数据)。 - **目的**:通过引入一系列专门的空间数据类型和操作函数来支持空间数据的存储、检索...
Oracle Spatial 是Oracle数据库的一个扩展模块,专门用于处理和分析地理空间数据。这个用户指南和参考文档是学习和掌握Oracle Spatial技术的重要资源,尽管它是英文版的。以下是对Oracle Spatial的一些核心知识点的...
Oracle Spatial是Oracle数据库的一个组件,专门用于处理空间数据。它提供了丰富的功能集,使得开发人员能够有效地存储、检索和操作地理空间数据。这些功能包括但不限于空间对象的创建、空间索引的构建以及空间查询的...
if (this.defaults.map.spatialReference.isWebMercator() || this.defaults.map.spatialReference.wkid == "4326") { // 在Web Mercator投影和WGS84坐标系下采用大地测量法计算距离 return geometryEngine....
oracle spatial 介绍,应用,案例,实用说明等相关介绍