欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么获取当前选中项的图层的名称

更新时间: 2014-01-05 02:58:57 责任编辑: Author_N1

 

如何获取当前选中项的图层的名称?
刚开始做gis开发,太多的东东不会. 

打开一个gst后有很多图层 ,用鼠标选中图中某一元素(线条等)后,如何获得该元素所在的图层名称?

--参考方法--
Feature.table
--参考方法--
你如果是用MapXtreme For Java 
可以 给个思路
private void getMapInfo(MapJ mymap,double xpoint,double ypoint){
try {
// 取得所有的图层
Layers ls=mymap.getLayers();
ArrayList<String> infos = new ArrayList<String>();
//长方块
// DoubleRect rect = mymap
// .transformScreenToNumeric(new DoubleRect(
// new DoublePoint(xpoint - 100, ypoint - 100),
// new DoublePoint(xpoint + 100, ypoint + 100)));
//坐标点
DoublePoint point=mymap.transformScreenToNumeric(new DoublePoint(xpoint,ypoint));
for(int i=0;i<ls.size();i++){
//取的
FeatureLayer fl=(FeatureLayer)ls.get(i);

// ls.get(i).getName()
infos.add(ls.get(i).getName());
System.out.println(ls.get(i).getName());//图层名称
//取的当前图层的表的信息
TableInfo ti = fl.getTableInfo();
// 表的信息
ArrayList<String> columns = new ArrayList<String>();
for(int j=0;j<ti.getColumnCount();j++){
columns.add(ti.getColumnName(j));
}
//查询长方块的信息
// FeatureSet fs = fl.searchWithinRectangle(columns, rect,QueryParams.EMPTY_PARAMS);// 得到图元集
// 查询坐标点的信息
// fl.searchWithinRegion(arg0, Geometry, arg2)
FeatureSet fs = fl.searchAtPoint(columns, point,QueryParams.EMPTY_PARAMS);// 得到图元集
Feature f=fs.getNextFeature();
if(f!=null){
System.out.println(f.getPrimaryKey());
for(int j=0;j<f.getAttributeCount();j++){
System.out.println(columns.get(j)+"-->"+f.getAttribute(j));
}
}
System.out.println("-------------------");
fs.dispose();
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:58:57
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/16954/
本文WWW.DOC100.NET DOC100.NET版权所有。