ArcGIS server 9.3中如何将查询结果集定位居中显示?

问题描述

以下是查询结果集.netc#代码:ESRI.ArcGIS.ADF.Web.DataSources.IQueryFunctionalityqfunc;qfunc=(ESRI.ArcGIS.ADF.Web.DataSources.IQueryFunctionality)gisresource.CreateFunctionality(typeof(ESRI.ArcGIS.ADF.Web.DataSources.IQueryFunctionality),null);string[]lids;string[]lnames;//获得图层的layerId和layerName,GetQueryableLayers的重载方法可以指定图层类型qfunc.GetQueryableLayers(null,outlids,outlnames);ESRI.ArcGIS.ADF.Web.SpatialFilterspatialfilter=newESRI.ArcGIS.ADF.Web.SpatialFilter();spatialfilter.ReturnADFGeometries=false;spatialfilter.MaxRecords=1000;spatialfilter.WhereClause=whereStr;spatialfilter.Geometry=Map1.GetFullExtent();//对指定的图层进行查询,查询的结果保存为DataTabledatatable=qfunc.Query(null,lids[2],spatialfilter).Copy();如何对查询结果集datatable中所有的点定位呢?就是地图适当的缩放,使全部元素显示在地图可视范围中?查阅了一些资料需要使用到Envelope然后赋值给Map1.Extent小弟刚接触GIS不久,还不了解具体该如何做。请高手指教!

解决方案

解决方案二:
你应该是要定位到datatable中所有点的中心点。取到的结果集合似乎有center这个属性吧?没有的话你就手动计算一下。
解决方案三:
我知道点居中如何做,代码如下:ESRI.ArcGIS.ADF.Web.Geometry.Pointcenterpoint=ESRI.ArcGIS.ADF.Web.Geometry.Geometry.GetCenterPoint(geo);Map1.CenterAt(centerpoint);但不清楚你说的“定位到datatable中所有点的中心点”,该如何实现。实际上现在就是定位datatable中第一个点为中心。
解决方案四:
有朋友提供个思路吗?
解决方案五:
结果集是能获取到bounds的吧..我一看代码就晕,只提供参考思路
解决方案六:
简单点表达这个问题,就是查询出一堆point,怎么让它们都显示在当前视图范围内呢?
解决方案七:
可以参考下GeoCoding的相关代码吧
解决方案八:
http://www.cnblogs.com/hll2008/archive/2008/08/27/1278024.html看看这个,对你有帮助。需要用map.CenterAt(centerpoint);returnmap.CallbackResults.ToString();
解决方案九:
可以看看ITopologicalOperator.ConvexHull、Multipoint.Envelope都可以

时间: 2025-01-20 20:22:49

ArcGIS server 9.3中如何将查询结果集定位居中显示?的相关文章

《JavaScript构建Web和ArcGIS Server应用实战》—— 导读

前言 ArcGIS Server是用于开发基于Web的GIS应用程序的主要平台.我们可以使用多种编程语言去开发基于 ArcGIS Server 的应用程序,包括 JavaScript.Flex 和 Silverlight.JavaScript已经成为在这个平台上开发应用程序的首选语言,因为它可以用在Web和移动应用程序中,并且在浏览器上不需要为应用程序安装插件.Flex和Silverlight两者都不太适合作为移动终端程序开发的语言,并且当应用程序运行在浏览器中时都需要用到插件. 本书将介绍如何

html中表格table的内容居中显示

  在表格td中,有两个属性控制居中显示 align--表示左右居中--left,center,right valign--控制上下居中--left,center,right   这两个属性综合使用,就可以让单元格的内容上下左右都居中显示.   但是有的时候吧,会失效,那么在td中设置text-align为center也可.   td {     text-align:center; }  

sql server 2008如何根据一个表中数据去查询另一个表的数据?

问题描述 sql server 2008如何根据一个表中数据去查询另一个表的数据? 现在我有三个表,表A有11列,其中有一列用来记录员工的id,一列是记录类型的Id,现在我要查询出表A的所有数据,但同时我要通过员工的id去查询出表B的员工名,通过类型的id,去查询出表C中的类型详情,最后我要得到的数据就是表A中除了员工id和类型id的数据外的9列数据,加上表B的员工名和表C的类型详情,请问这样的SQL语句要如何写? 解决方案 用一个表的数据更新另一个表Sql ServerSQL server中将

SQL server中多种关键字查询数据

问题描述 SQL server中多种关键字查询数据 比如学生有姓名,学号,班级等列,我可以通过学号查询,也可以通过姓名查询 解决方案 两个办法,一个是首先在代码中判断输入的是全数字还是中文,分别执行不同的查询.或者写在一起:select * from table where 姓名=输入 or 学号=输入 解决方案二: select * from 学生表 where name = '姓名' or No='学号' 解决方案三: 可以使用动态sql拼接比如定义一个@sqltext 根据不同的情况拼接s

naserver-在linux版的 arcgis server 中 NAserver不能用 Mapserver能用

问题描述 在linux版的 arcgis server 中 NAserver不能用 Mapserver能用 ArcGIS REST Framework Home Error: Error handling service request: Could not service request. java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: java.io.EOFExceptio

浅谈SQL Server中统计对于查询的影响分析_MsSql

而每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓的统计信息. 如何查看统计信息 查看SQL Server的统计信息非常简单,使用如下指令: DBCC SHOW_STATISTICS('表名','索引名') 所得到的结果如图1所示.         图1.统计信息 统计信息如何影响查询     下面我们通过一个简单的例子来看统计信息是如何影响查询分析器.我建立一个测试表,有两个INT值的列,其中id为自增

浅谈SQL Server中统计对于查询的影响

简介 SQL Server查询分析器是基于开销的.通常来讲,查询分析器会根据谓词来确定该如何选择高效的查询路线,比如该选择哪个索引.而每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓的统计信息. 如何查看统计信息 查看SQL Server的统计信息非常简单,使用如下指令: DBCC SHOW_STATISTICS('表名','索引名') 所得到的结果如图1所示. 图1.统计信息 统计信息如何影响查询 下面

浅谈SQL Server中统计对于查询的影响分析

而每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓的统计信息. 如何查看统计信息 查看SQL Server的统计信息非常简单,使用如下指令: DBCC SHOW_STATISTICS('表名','索引名') 所得到的结果如图1所示. 图1.统计信息 统计信息如何影响查询 下面我们通过一个简单的例子来看统计信息是如何影响查询分析器.我建立一个测试表,有两个INT值的列,其中id为自增,ref上建立非聚集索引

Arcgis Server中实现柱状图的问题

问题描述 ESRI.ArcGIS.Server.IServerContextpServerContext=GetServerContext();//获取服务器上下文ESRI.ArcGIS.Carto.IMapServermapServer=(ESRI.ArcGIS.Carto.IMapServer)pServerContext.ServerObject;//ServerObjectESRI.ArcGIS.Carto.IMapServerObjects2mapServerObjects=(ESRI