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版本 首先先上代码,开发这个小程序其实是用来帮助同事完成一项每天都做的繁琐事件,以往需要花费十分钟做这件事情,现在就是傻瓜式,点几下鼠标就好了.本来 ...
随机推荐
- 【代码笔记】Web-JavaScript-Javascript对象
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- Android 应用程序崩溃日志捕捉
程序崩溃是应用迭代中不可避免的问题,即使有着5年或者10年经验的程序猿也无法完全保证自己的代码没有任何的bug导致崩溃,现在有一些第三方平台可以帮助我们搜集应用程序的崩溃,比如友盟,详情如下图 虽然能 ...
- git 入门教程之冲突合并
如果足够幸运的话,团队成员互不影响,彼此相安无事,大家各自基于 master 分支的某个 commit 创建自己的分支,平时在分支上独立工作,等到一段时间后再合并 merge 到 master 分支, ...
- (后端)maven仓库
仓库网址:http://mvnrepository.com/artifact/org.springframework/spring-core 可以去选择评分高的jar,复制: <!-- http ...
- Javascript数组系列三之迭代方法2
今天我们来继续 Javascript 数组系列的文章,上文 <Javascript数组系列二之迭代方法1> 我们说到一些数组的迭代方法,我们在开发项目实战的过程中熟练的使用可以大大提高我们 ...
- 基于cifar10实现卷积神经网络图像识别
import tensorflow as tf import numpy as np import math import time import cifar10 import cifar10_inp ...
- [20181226]简单探究cluster table.txt
[20181226]简单探究cluster table.txt --//简单探究cluster table.以前也做过,有点生疏了. 1.环境:SCOTT@book> @ ver1PORT_ST ...
- Markdonw基本语法学习
Markdonw基本语法 二级标题 三级标题 ----ctrl+r 粗体 ctrl+b 斜体 ctr+i #include<stdio.h> void main() { printf(&q ...
- django重定向
return HttpResponseRedirect('/index/')# 重定向返回url格式:http://127.0.0.1:8000/index/会去掉前期的所有路由重新写入/index/ ...
- django数据查询之聚合查询和分组查询
<1> aggregate(*args,**kwargs): 通过对QuerySet进行计算,返回一个聚合值的字典.aggregate()中每一个参数都指定一个包含在字典中的返回值.即在查 ...