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版本 首先先上代码,开发这个小程序其实是用来帮助同事完成一项每天都做的繁琐事件,以往需要花费十分钟做这件事情,现在就是傻瓜式,点几下鼠标就好了.本来 ...
随机推荐
- Jenkins Jenkins构建历史记录处理
Jenkins构建历史记录处理 by:授客 QQ:1033553122 测试环境 Jenkins2.32.1 操作步骤 Jenkins构建后会生成历史记录,默认存放在如下目录 Jenkins_ho ...
- canvas代替imgage,可以有效的提高大图片加载的速度!
//加载zepto插件 <script> //定义图片的数量 var total = 17; //获取屏幕的宽度 var zWin = $(window); //定义渲染图片的方法 var ...
- Microsoft Teams 集成 (协作, 沟通 和 行为)
Microsoft Teams 集成 (协作, 沟通 和 行为) 概述 Microsoft Teams是在Office 365中以chat为中心的工作空间.软件开发团队可以快速获得在一个专门的团队协作 ...
- html留言功能
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- iis 6,7 ftp 进行用户隔离进行权限控制,不同用户查看不同文件夹
iis 6 配置点击链接 http://www.jb51.net/article/20676.htm iis 7配置 1.建立文件夹 C:\ftp, 并增加 目录 localuser(这个是必须的名字 ...
- git-------基础知识(本地推送项目版本---github上)
创建Git仓库 一:初始化版本库:-git init 二:添加文件到缓存区:-git add --添加所有文件 是:加个点-列:git add . 三:查看仓库状态:-git status 四:添加 ...
- 如何让PHP程序自动执行(后台)
如何让php程序自动执行,这个就需要用到一个函数了: int ignore_user_abort ( [bool setting] ) 定义和用法 ignore_user_abort() 函数设置与 ...
- Windows和Linux之间 rsync数据同步
转载于 https://www.linuxidc.com/Linux/2014-01/95722p2.htm rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——rem ...
- Java多线程(五)线程的生命周期
点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...
- Linux /var/log下的各种日志文件详解
1)/var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. 2)/var/log/wtmp:记录登录这的信息记录,被编码过,所以必须以 ...