使用GeoTools查询ArcSDE数据.
public List<Map<String,Object>> queryByWhere(final String where,SeLayer sdeLyr,ISession sdeSession)
{
try
{
final String lyrName = sdeLyr.getName();
final String geoColName = sdeLyr.getSpatialColumn();
SeTable table = sdeSession.getTable(lyrName);
SeColumnDefinition[] tableDef = sdeSession.describe(table);
final String[] cols1 = new String[tableDef.length];
for (int i = 0; i < tableDef.length; i++)
{
cols[i] = tableDef[i].getName();
}
final String[] cols =cols1;
final Command<List<Map<String,Object>>> queryCmd = new Command<List<Map<String,Object>>>() {
@Override
public List<Map<String,Object>> execute(ISession session, SeConnection connection) throws SeException,IOException {
ArrayList<Map<String, Object>> results = new java.util.ArrayList<Map<String,Object>>();
SeSqlConstruct sqlCons = new SeSqlConstruct(lyrName);//构建空间查询表达式
final SeQuery query = new SeQuery(connection, cols, sqlCons);
query.prepareQuery();
query.execute();
SeRow row = query.fetch();//使用Session对象根据查询的结果获取查询的每一条记录
while(row!=null)//循环处理每一行查询出来的数据
{
Map<String,Object> result = new java.util.HashMap<String,Object>();
for(int i=0;i<cols.length;i++)
{
if(geoColName.compareToIgnoreCase(cols[i])==0)
{
try {
SeShape seShape = (SeShape)row.getShape(i).clone();
result.put(geoColName, seShape);
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
else
{
Object obj = row.getObject(i);
result.put(cols[i], obj);
}
}
results.add(result);
row = query.fetch();
}
return results;
}
};
return sdeSession.issue(queryCmd);
}
catch(Exception ex)
{
ex.printStackTrace();
logger.log(Level.ERROR, ex);
}
return new java.util.ArrayList<Map<String,Object>>();
}
分享到:
相关推荐
org.geotools.arcsde org.geotools.arcsde.data org.geotools.arcsde.data.view org.geotools.arcsde.filter org.geotools.arcsde.jndi org.geotools.arcsde.logging org.geotools.arcsde.raster.gce org.geo...
org.geotools.arcsde org.geotools.arcsde.data org.geotools.arcsde.data.versioning org.geotools.arcsde.data.view org.geotools.arcsde.filter org.geotools.arcsde.gce org.geotools.arcsde.gce.band ...
import org.geotools.data.FileDataStore; import org.geotools.data.FileDataStoreFinder; import org.geotools.data.simple.SimpleFeatureSource; import org.geotools.map.FeatureLayer; import org.geotools.map...
geotools汉语版资料
geotools对wms的实现支持,给出了geotools如何开发一个简单的wms实现,对理解geoserver源码有很大的帮助作用。
英文版本,不是中文版本的 GeoTools开发的工具
springboot项目-基于geotools的倾斜摄影大地坐标转自定义投影坐标源码.zipspringboot项目-基于geotools的倾斜摄影大地坐标转自定义投影坐标源码.zipspringboot项目-基于geotools的倾斜摄影大地坐标转自定义投影坐标...
geotools所需jar包合集,内含4个geotools的jar包,各位可以根据需要自行导入使用,预祝bug少少
geotools依赖包
geotools 判断几何要素的交点 当时想到用的GDAL 但是 交点函数返回的对象总是null , 改用 GeoTools 这个库,需要用到jar 到官网上下载,主要是jts-core-1.16.0.jar
geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf
geotools中文资料,我学习时候,整理的资料,
GeoTools是一个开源(LGPL)Java代码库,它为操作地理空间数据提供符合标准的方法,例如实现地理信息系统(GIS)。GeoTools库在开发时实现了开放地理空间联盟(OGC)规范。本文档为GeoTools 21.2 api文档
geoTools在官网下载的源码和jar包,直接倒进eclipse用不了,需要用maven编译,编译起来相当麻烦,特将工程编译,然后将所需jar文件整理出来,分享给大家,欢迎下载
geotools相关的jar包集合,方便大家快速下载,集成到自己的项目。
geotools-26.0.zip 代码和环境还有生成的jar 包
这是geotools相关jar包,下载导入即可用,本人调试过了
geotools中文资料,我学习时候,整理的资料, 另外我的新浪博客,有关于gis 的flex -js-android-ios资料 欢迎下载,大家一起学习,我建了个gis群 291301205 新浪 http://blog.sina.com.cn/skywalkershaka 因为我下...