Skyline Web 二次开发- 获取Shp对象的内部存储属性值

Skyline Web 二次开发- 获取Shp对象的内部存储属性值

在web中可以获取到shp对象的内部存储属性值,同时通过对象转换可以提取到面积等属性

JavaScript

var flyPath = "";
var shpLayerID = "";
var shpLayer = "";							//shpLayer
var shpFeatureGroup = "";					//shpFeatureGroup
var shpFeatures = "";						//shpFeatures
var shpFeature = "";						//shpFeature
var shpFeatureAttribute = "";				//shpFeatureAttribute
var shpshpFeatureGeometry = "";			//从Feature转换到Geometry
shpLayerID = SGWorld66.ProjectTree.FindItem("房屋");
shpLayer = SGWorld66.ProjectTree.GetLayer(shpLayerID);
shpLayer.DataSourceInfo.Attributes.ImportAll = true;
shpLayer.Streaming = false;
shpLayer.Load();
shpFeatureGroup = shpLayer.FeatureGroups(0);
shpFeatures = shpFeatureGroup.Features;
// 以下两个方法都可以获取到shp内部数据的数量,但调用方式不同
//shpLayer.FeatureGroups(0).Features;
//shpLayer.FeatureGroups(0).GetCurrentFeatures();
//alert(shpLayer.FeatureGroups(0).GetCurrentFeatures().Count + "/" + shpLayer.FeatureGroups(0).Features.Count);
        	for (var i = 0; i < shpFeatures.Count; i++) {
	        	shpFeature = shpFeatures.Item(i);
	        	shpshpFeatureGeometry =  shpFeature.Geometry;
	        	$("#info").append("Area:" + shpshpFeatureGeometry.Area + "<br/>");
	        	$("#info").append("X:" + shpshpFeatureGeometry.Centroid.X + "<br/>");
        		$("#info").append("Y:" + shpshpFeatureGeometry.Centroid.Y + "<br/>");
	        	for (var j = 0; j < shpFeature.FeatureAttributes.Count; j++) {
	        		shpFeatureAttribute = shpFeature.FeatureAttributes.Item(j);
		        	$("#info").append("Name:" + shpFeatureAttribute.Name + "<br/>");
		        	$("#info").append("Value:" + shpFeatureAttribute.Value + "<br/>");
	        	}
	        }

 

转载于:https://my.oschina.net/discussjava/blog/1586486

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值