使用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 ...
这是一份使用Java开发的,jdk的版本是1.8,GeoTools28版本的Shapefile文件向图片文件生成的源代码,在源码中包含了全球的矢量数据。文件是在geotools-fx的一个项目上进行二次扩展的,保留了原始的矢量数据。代码保留...
《GeoTools汉语版资料》是一份详实的资源集合,主要针对使用GeoTools进行地理信息系统(GIS)开发的用户。GeoTools是一个开放源代码的Java库,它实现了OGC(Open Geospatial Consortium)标准,提供了对地理空间数据...
《GeoTools库详解及其在Java开发中的应用》 GeoTools是一个开源的Java库,它提供了对地理信息系统(GIS)数据的访问和操作能力。这个库主要用于处理地理空间数据,包括地图、矢量数据和栅格数据。在Java开发中,Geo...
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 对 WMS 的实现支持 GeoTools 是一个遵循 OGC 规范的开源 GIS 工具包,提供了地理信息数据读写、处理、坐标转换、查询分析、格式化输出等多个方面的功能。在 GeoTools 的基础上,我们可以实现一个简单的 ...
- **MyGeoTools.doc**:这可能是一份个人整理的GeoTools学习笔记,包含了使用GeoTools开发GIS应用的关键概念和代码示例。 - **MyGeoTools.mht**:可能是另一种格式的学习资料,MHT是单个文件的Web档案,可能包含...
GeoTools是开源GIS(地理信息系统)领域的一个重要项目,它为Java开发者提供了处理地理空间数据的强大工具。这个“geotools18.1依赖jar包”是GeoTools库的第18.1版本,经过验证,它在使用时是稳定且无错误的。 Geo...
**Geotools API 手册**是一份详细的技术文档,主要针对使用Geotools库进行地理信息系统(GIS)开发的程序员。Geotools是开源Java库,它提供了一系列的工具和接口,使得开发者能够轻松地在Java应用程序中处理、分析和...
GeoTools是一个开源的Java库,专门用于处理地理空间数据和执行与GIS(地理信息系统)相关的操作。这个"geoTools所需jar包"包含了经过编译和打包的GeoTools库,使得开发者可以直接在他们的项目中使用,而无需经历繁琐...
### GeoTools 学习系列(一):IntelliJ IDEA 搭建快速入门示例 #### 一、概述 GeoTools 是一个开源 Java 库,用于地理空间数据的处理和展示,支持多种地理空间数据格式。对于初学者来说,熟悉如何在开发环境中...
GeoTools是一个开源的Java库,专门用于处理地理空间数据。这个“geotools依赖包”包含了一组模块,用于支持各种地理信息系统(GIS)的功能,如读取、写入和操作地理空间数据。GeoTools库遵循Java Community Process ...
《GeoTools源码构建的关键依赖解析》 GeoTools是一个开源的Java库,专门用于地理信息系统(GIS)开发,它提供了一系列API和工具,使得开发者能够处理地理数据、地图以及空间操作。在构建GeoTools源码时,由于网络...
GeoTools是一个开源的Java库,专门用于处理地理空间数据,它是基于Open Geospatial Consortium (OGC)标准的实现。这个压缩包包含了GeoTools库的版本18.4,是开发地理信息系统(GIS)应用的重要工具。在GIS领域,开发者...
【标题】:深入理解Geoserver源码与Geotools 在GIS(地理信息系统)领域,Geoserver和Geotools是两个非常重要的开源组件。本文将深入探讨这两个组件,特别是如何利用Eclipse IDE和Maven构建Geoserver项目,并理解其...
《Java地理工具库Geotools详解与应用》 在IT领域,尤其是在地理信息系统(GIS)开发中,Java的Geotools库是一个不可或缺的组件。本文将深入探讨Geotools的基本概念、主要功能以及如何利用其进行坐标转换,帮助...
《GeoTools 18.4 开发离线JAR包详解》 GeoTools是一个开源的Java库,专门用于处理地理信息系统(GIS)的数据和任务。它提供了大量的API和工具,使得开发者能够轻松地在应用程序中集成地理空间数据处理功能。本次...