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版本 首先先上代码,开发这个小程序其实是用来帮助同事完成一项每天都做的繁琐事件,以往需要花费十分钟做这件事情,现在就是傻瓜式,点几下鼠标就好了.本来 ...
随机推荐
- 章节六、3-读取Properties属性文件
一.如何读取Properties文件1.创建一个名为ReadingProperties的类 2.创建一个.propertise属性的文件,创建的方式参考“二”中步骤 3.写入如下代码 package ...
- (网页)jQuery判断checkbox是否选中的方法
if($('#checkbox-id').is(':checked')) { // do something} if ($('#checkbox-id').attr('checked')) { ...
- SQL Server 锁实验(INSERT加锁探究)
insert语句: 其上锁情况为: insert语句会对表上的所有索引作出更新,因此这里看到的索引列较多,我们先把所有的索引搞出来看看: 可以看到所有索引都涉及到了,然后我们来仔细分析下加锁情况: 1 ...
- kali系统固化到固态硬盘小记(赠送给广大折腾党的笔记)
1.首先你需要一个移动硬盘和一个移动硬盘盒子(一根数据转换线,一般买盒子商家会赠送的) SSD硬盘要事先格式化一下格式,不然识别不出来 2.准备好Kali镜像,传送门在这里https://www.ka ...
- U盘插入电脑3.0的口没有反应了,2.0的口就可以
如果驱动没有问题的话,很有可能是优盘硬件故障. 尝试解决办法: 1.使劲插(就是用力一插到底).... 2.插入三分之一,不过速度只能达到2.0的速度.
- Ubuntu 普通用户无法启动Google chrome
删除 /home/你的用户名/.config/google-chrome文件,再打开就好了 root@ecos:cd /home/ecos/.config root@ecos:~/.config# r ...
- 10.scrapy框架简介和基础应用
今日概要 scrapy框架介绍 环境安装 基础使用 今日详情 一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被 ...
- (转)Spring Boot(八):RabbitMQ 详解
http://www.ityouknow.com/springboot/2016/11/30/spring-boot-rabbitMQ.html RabbitMQ 即一个消息队列,主要是用来实现应用程 ...
- js模块化规范—CMD规范
CMD规范说明 专门用于浏览器端, 模块的加载是异步的 ,模块使用时才会加载执行,github地址 CMD基本语法 定义暴露模块 //定义有依赖的模块 define(function(require, ...
- ContentTypes 的应用
ContentTypes django 中的一个应用程序(app),可以跟踪Django项目中安装的所有模型(Model),提供用于处理模型的高级通用接口. Contenttypes应用的核心是Con ...