SkylineGlobe 7.0版本 矢量数据查询示例代码
在Pro7.0.0和7.0.1环境下测试可用。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" language="javascript">
// 执行ExecuteQuery方法
//zhaohe.2017.09.18.
function GetFeatureAll() {
try {
var strResult = "<table>";
var sg = CSGWorld();
//var sg = TerraExplorer3DWindowEx.CreateInstance("TerraExplorerX.SGWorld70");
var ItemID = sg.ProjectTree.FindItem("_县级城市名称.398244");
var obj = sg.ProjectTree.GetLayer(ItemID);
//查询条件
var attributeFilter = window.document.getElementById("Text1").value;
//最大查询数
var numOfFeatures = -1;
//查询起始feature的id
var fromDataSourFeaId = "";
var geometry = sg.Creator.GeometryCreator.CreatePolygonGeometry(null); var pIFeatureGroup = obj.ExecuteQuery(attributeFilter, numOfFeatures, fromDataSourFeaId, geometry);
// 遍历当前图层中符合查询条件的全部对象及其属性
alert(pIFeatureGroup.Count);
for (var i = 0; i < pIFeatureGroup.Count; i++) {
var pIFeature11 = pIFeatureGroup.Item(i);
sg.Navigate.FlyTo(pIFeature11.ID, 0);
//alert(pIFeature11.Geometry.Wks.ExportToWKT());
//alert(pIFeature11.Geometry.X);
}
for (var i = 0; i < pIFeatureGroup.Count; i++) {
strResult = strResult + "<tr>";
var pIFeature = pIFeatureGroup.Item(i);
for (var j = 0; j < pIFeature.FeatureAttributes.Count; j++) {
var pIFeatureAttribute = pIFeature.FeatureAttributes.Item(j); strResult = strResult + "<td style='cursor:pointer;'><a id="+pIFeature.ID+" onclick= \"JJJ\(this.id)\">" + pIFeatureAttribute.Name + "*" + pIFeatureAttribute.Value + "</a></td>"; }
strResult = strResult + "</tr>";
}
strResult = strResult + "</table>";
window.document.getElementById("result").innerHTML = strResult;
}
catch (e)
{
alert(e);
}
}
//GetCurrentFeatures 获取当前已经加载的Feature对象
//zhaohe.2017.09.18.
function GetCurrentFeatures() {
var strResult = "<table>";
var sg = CSGWorld();
var ItemID = sg.ProjectTree.FindItem("_县级城市名称.398244");
var obj = sg.ProjectTree.GetLayer(ItemID);
// 遍历当前图层中已经在地图上加载的全部对象及其属性
var pIFeatureGroup = obj.FeatureGroups(0).GetCurrentFeatures();
alert(pIFeatureGroup.Count);
for (var i = 0; i < pIFeatureGroup.Count; i++) {
strResult = strResult + "<tr>";
var pIFeature = pIFeatureGroup.Item(i);
//sg.Navigate.FlyTo(pIFeature.ID, 0);
//break;
for (var j = 0; j < pIFeature.FeatureAttributes.Count; j++) {
var pIFeatureAttribute = pIFeature.FeatureAttributes.Item(j);
strResult = strResult + "<td>" + pIFeatureAttribute.Name + "*" + pIFeatureAttribute.Value + "</td>";
}
strResult = strResult + "</tr>";
}
strResult = strResult + "</table>";
window.document.getElementById("result").innerHTML = strResult;
} //多边形查询
//zhaohe.2015.06.23.
function GetFeatureWithPoly() {
var strResult = "<table>";
var SGWorld = CSGWorld();
var ItemID = SGWorld.ProjectTree.FindItem("_县级城市名称.398244");
var obj = SGWorld.ProjectTree.GetLayer(ItemID);
// 遍历多边形内选中的对象及其属性
var qItemID = SGWorld.ProjectTree.GetNextItem("", 10);
// 在地图上创建一个Polygon,并选中这个对象
var qobj = SGWorld.ProjectTree.GetObject(qItemID);
var queryGeometry = qobj.Geometry;
var resFeatures = obj.ExecuteSpatialQuery(queryGeometry, 1);
for (var i = 0; i < resFeatures.Count; i++) {
strResult = strResult + "<tr>";
var pIFeature = resFeatures.Item(i);
for (var j = 0; j < pIFeature.FeatureAttributes.Count; j++) {
var pIFeatureAttribute = pIFeature.FeatureAttributes.Item(j);
strResult = strResult + "<td>" + pIFeatureAttribute.Name + "*" + pIFeatureAttribute.Value + "</td>";
}
strResult = strResult + "</tr>";
}
strResult = strResult + "</table>";
window.document.getElementById("result").innerHTML = strResult;
} //属性查询
//zhaohe.2015.06.23.
function GetFeatureWithPro() {
var SGWorld = CSGWorld();
var ItemID = SGWorld.ProjectTree.FindItem("_县级城市名称.398244");
var obj = SGWorld.ProjectTree.GetLayer(ItemID);
var clause = window.document.getElementById("Text1").value;
if (clause == "") {
obj.Filter = clause;
obj.Streaming = 1;
obj.Refresh();
}
else {
obj.Filter = clause;
obj.Streaming = 0;
obj.Refresh();
}
GetFeatureAll();
} function JJJ(id)
{
var SGWorld = CSGWorld();
SGWorld.Navigate.FlyTo(id, 0);
} // SGWorld70
function CSGWorld() {
try {
var obj = document.getElementById("SGWorld");
if (obj == null) {
obj = document.createElement('object');
obj.setAttribute("name", "SGWorld");
obj.setAttribute("id", "SGWorld");
obj.style.height = "1px";
obj.style.width = "1px";
obj.setAttribute("classid", "CLSID:3A4F919A-65A8-11D5-85C1-0001023952C1");
document.body.appendChild(obj);
}
return obj;
}
catch (e) {
alert(e);
}
}
</script>
</head>
<body>
<table>
<tr>
<td colspan="4" >
<input id="Button1" type="button" value="全部Feature" onclick="GetFeatureAll()" />
<input id="Button3" type="button" value="当前地图上已经加载的对象" onclick="GetCurrentFeatures()" />
<input id="Button2" type="button" value="空间查询" onclick="GetFeatureWithPoly()" />
</td>
</tr>
<tr>
<td colspan="4">
<input id="Text1" type="text" value="OBJECTID < 12" />
<input id="Button6" type="button" value="属性查询" onclick="GetFeatureWithPro()" />
</td>
</tr>
<tr>
<td>
<div id="result">
</div>
</td>
</tr>
</table>
<!--<object id="TerraExplorer3DWindowEx" classid="CLSID:3a4f9196-65a8-11d5-85c1-0001023952c1" style="width: 80%; height: 560px;"></object>-->
<object id="TerraExplorer3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" style="width:500px;height:400px;"></object>
<object id="TerraExplorerInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" style="width:300px;height:400px;"></object>
</body>
</html>
SkylineGlobe 7.0版本 矢量数据查询示例代码的更多相关文章
- Skyline 二次实现单体化模型选择查询示例代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- RSS介绍、RSS 2.0规范说明和示例代码
RSS是一种消息来源格式规范,用以发布经常更新资料的网站,例如博客.新闻的网摘.RSS文件,又称做摘要.网摘.更新.频道等,包含了全文或节选文字,再加上一定的属性数据.RSS让发布者自动发布信息,也使 ...
- 使用mybatis实现分页查询示例代码分析
*******************************************分页查询开始*************************************************** ...
- kafka consumer 0.8.2.1示例代码
package test_kafka; import java.util.ArrayList; import java.util.HashMap; import java.util.List; imp ...
- python自动化测试之mysql5.0版本数据库查询数据时出现乱码问题分析
1.确保数据库编码是utf8编码.若不是,请将my.ini的client,mysql,mysqld三个字段下面添加default-character-set = utf8,这样可以永久改变在新建数据库 ...
- TP5.0版本mysql查询语句 闭包
Db::name('tiwen') ->where('user_id', $user_id) ->where(function ($query) { $query->where(fu ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架钜献 V3.0 版本强势发布
继上个版本“RDIFramework.NET V2.9版本”的推出,受到了重多客户的认可与选择,V2.9版本是非常成功与稳定的版本,感谢大家的认可与长期以来的关注与支持.V3.0版本在V2.9版本的基 ...
- 【SpringBoot】springboot -- 2.0版本自定义ReidsCacheManager的改变
1. 问题发现 在1.0版本中,我们配置redis的cacheManager是这种方式: //缓存管理器 @Bean public CacheManager cacheManager(@Suppres ...
- 社会单位消防安全户籍化管理系统——半自动提交V1.0版本
社会单位消防安全户籍化管理系统——半自动提交V1.0版本 首先先上代码,开发这个小程序其实是用来帮助同事完成一项每天都做的繁琐事件,以往需要花费十分钟做这件事情,现在就是傻瓜式,点几下鼠标就好了.本来 ...
随机推荐
- mac date命令详解
Mac下的date命令是BSD(Berkeley Software Distribution)系的,Linux下date命令是GNU(GNU's Not Unix)系,二者用法有一些区别. BSD并不 ...
- linux源
系统:centos7 x86_64 一.配置本地yum源 1.1加载光驱 1.2挂载到系统 注:如果要长期使用最好把整个镜像文件拷贝到系统下 1.3配置文件 路径/etc/yum.repos.d/ 打 ...
- mysql replace into 的使用情况
replace into的存在的几种情况 当表存在主键并且存在唯一键的时候 如果只是主键冲突 mysql> select * from auto; +----+---+------+------ ...
- 初识kafka
简介 Kafka经常用于实时流数据架构,用于提供实时分析.本篇将会简单介绍kafka以及它为什么能够广泛应用. kafka的增长是爆炸性的.2017年超过三分之一的世界五百强公司在使用kafk ...
- Cs231n课堂内容记录-Lecture2-Part1 图像分类
Lecture 2 课程内容记录:(上)https://zhuanlan.zhihu.com/p/20894041?refer=intelligentunit (下)https://zhuanlan. ...
- 开发nginx启动脚本及开机自启管理(case)
往往我们在工作中需要自行写一些脚本来管理服务,一旦服务异常或宕机等问题,脚本无法自行管理,当然我们可以写定时任务或将需要管理的脚本加入自启等方法来避免这种尴尬的事情,case适用与写启动脚本,下面给大 ...
- php 计算出一年中每周的周一日期
最近接到一个任务,归纳起来,就是:要算出每年当中,每周的周一日期.想了一会,看了下date函数,深入了解了一下date函数各个参数的含义之后,终于把这道题做出来了! 在date()函数中,有一个参数对 ...
- 如何让PHP程序自动执行(后台)
如何让php程序自动执行,这个就需要用到一个函数了: int ignore_user_abort ( [bool setting] ) 定义和用法 ignore_user_abort() 函数设置与 ...
- LeetCode算法题-Excel Sheet Column Title(Java实现)
这是悦乐书的第180次更新,第182篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第39题(顺位题号是168).给定正整数,返回Excel工作表中显示的相应列标题.例如: ...
- https 建立连接过程
http://blog.csdn.net/wangjun5159/article/details/51510594 思考问题的顺序 学技术时,总是会问什么?这里也不例外,https为什么会存在,它有什 ...