skyline中点击读取属性信息

原创 2015年11月18日 14:54:05
JavaScript:
var IIM = sgworld.Window.GetMouseInfo();
    var Point = sgworld.Window.PixelToWorld(IIM.X, IIM.Y, -1);
    if (Point.ObjectID != "") {
        var obj = sgworld.ProjectTree.GetObject(Point.ObjectID);
        if (obj.ObjectType == 33) {
            var FName = obj.FeatureAttributes.GetFeatureAttribute("FileName").Value;
移动端:
            int x = X;
            int y = Y;
            //IScreenPointInfo
            IWorldPointInfo pointInfo = ISGWorld.getInstance().getWindow().PixelToWorld(x, y);
            double XX = pointInfo.getPosition().getX();
            double YY = pointInfo.getPosition().getY();
            String objID = pointInfo.getObjectID();
            if(objID!=""){
                ITerraExplorerObject iobj = ISGWorld.getInstance().getProjectTree().GetObject(objID);
                String idd = iobj.getID();
                int typee = iobj.getObjectType();
                if(typee == 33){
                    IFeature iff = iobj.CastTo(IFeature.class);
                    int count = iff.getFeatureAttributes().getCount();
                    String name  = iff.getFeatureAttributes().GetFeatureAttribute("NAME").getValue();
                }
                
            }
      遍历属性:
            public boolean OnLButtonDown(int Flags, int X, int Y) {
            // TODO Auto-generated method stub
            int x = X;
            int y = Y;
            //IScreenPointInfo
            IWorldPointInfo pointInfo = ISGWorld.getInstance().getWindow().PixelToWorld(x, y);
            double XX = pointInfo.getPosition().getX();
            double YY = pointInfo.getPosition().getY();
            String objID = pointInfo.getObjectID();
            if(objID!=""){
                ITerraExplorerObject iobj = ISGWorld.getInstance().getProjectTree().GetObject(objID);
                String idd = iobj.getID();
                int typee = iobj.getObjectType();
                if(typee == 33){
                    IFeature iFeature = iobj.CastTo(IFeature.class);
                    int count = iFeature.getFeatureAttributes().getCount();
                    //String name  = iFeature.getFeatureAttributes().GetFeatureAttribute("NAME").getValue();
                    IFeatureAttributes iFeatureAttributes =  iFeature.getFeatureAttributes();
                    StringBuffer stuf =    new StringBuffer(); 
                    for(int i=0; i < count; i++){
                        Object obj = iFeatureAttributes.get_Item(i);
                        IFeatureAttribute ifeatureAttr = ((TEIUnknownHandle) obj).CastTo(IFeatureAttribute.class);
                        String name = ifeatureAttr.getName();
                        String value = ifeatureAttr.getValue();
                        stuf.append(name + ":" + value );
                    }
                    System.out.println(stuf.toString());
                }
                
            }

skyline的TerraExplorer api for js二次开发时,图层中的features无法获取或者features对象没有包含任何单个feature。

有时候用TerreaExplorer API(6.6) for javaScript 在获取工程树下的图层内的features时会出现获取的feature个数为0,经过本人的探索总算找到了相应的解决办...
  • qq_26991807
  • qq_26991807
  • 2017年09月17日 14:28
  • 187

吐槽Skyline的编程

吐槽Skyline的编程    本人在Skyline 5的时候就学习
  • htsitr2
  • htsitr2
  • 2014年10月15日 10:22
  • 2406

移动端Skyline获取Feature图层属性的

FeatureLayer FeatureGroups point/polyline/polygon item IFeature  (涉及到强制类型转换) IFeatureAttribut...
  • wt346326775
  • wt346326775
  • 2015年11月27日 14:32
  • 1155

skyline te pro api 开发中itemid与objectid的相互转换

skyline te pro api 开发中itemid与objectid的相互转换 简单的小问题,常有人搞混了,我总结一下吧(JS实现): 1、通过itemId获取objectId var item...
  • bdbox
  • bdbox
  • 2009年06月06日 13:51
  • 892

基于Skyline的Web程序开发整理(二)

简单说一下基于Skyline的在Web程序中怎么实现查询吧 Skyline主要是为程序提供地图服务,一般我们会在遥感或者三维地形图上叠加一些面状或者点的属性,如房屋或者区域范围的划分信息等等。往...
  • haidaochen
  • haidaochen
  • 2011年07月05日 17:18
  • 7261

skyline 6.6.1 javascript实现遍历树,然后获取图层树中的属性数据

这几天开始研究skyline第一实例就是,单机按钮然后,显示某个图层的数据,虽然实现了功能,但是对这种显示方式,不是很认可的,希望skyline可以改进,下面说一下实例 1.首先用TerraExplo...
  • huyanliang
  • huyanliang
  • 2017年06月15日 14:08
  • 796

Skyline中目录树的遍历

String groupid=ISGWorld.getInstance().getProjectTree().FindItem("\\地表覆盖分类"); String itemid=ISG...
  • wt346326775
  • wt346326775
  • 2015年12月02日 13:22
  • 1264

Skyline Globe中3dml图层的遍历

遍历获取3dml图层中的要素
  • csxiaoshui
  • csxiaoshui
  • 2017年08月07日 16:40
  • 673

Skyline查询实验数据点的生成

Skyline查询是多维度数据库中一种非常重要的point query,它最初由 Börzsönyi 等人于2001年提出。在 Börzsönyi 等人于2001年发表的论文中,作者同时给出了三种分布...
  • baimafujinji
  • baimafujinji
  • 2014年11月29日 19:26
  • 3655

skyline 二次开发

转载:http://www.cnblogs.com/shaoge/articles/1540717.html            经过几个月的摸索,对skyline的开发有了一定的了解。...
  • jiangbingbo123
  • jiangbingbo123
  • 2015年08月02日 17:19
  • 2310
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:skyline中点击读取属性信息
举报原因:
原因补充:

(最多只允许输入30个字)