毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 企业开发 >> 正文

GIS如何获取当前选中项的图层的名称

更新时间:2012-10-3:  来源:毕业论文

刚开始做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());
}
}

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。